mcpField
V
video-format-conversion

video-format-conversion

github.com/eachlabs创意与媒体44226 次安装今天更新
代码仓库

关于 video-format-conversion

video-format-conversion 是用于视频转码和画面比例调整的 each::sense 技能,支持平台定向输出、流媒体优化及批量处理。

主要功能

  1. 01转换视频格式
  2. 02转码视频编码
  3. 03调整画面比例
  4. 04优化平台输出
  5. 05设置码率与画质
  6. 06批量处理视频

适用场景

  1. 01为 TikTok 制作竖屏视频
  2. 02生成适合网页播放的视频
  3. 03导出 ProRes 供剪辑
  4. 04统一设置转换多个视频

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/eachlabs/skills --skill video-format-conversion

安装后在 Claude Code 中输入/video-format-conversion确认已加载。

附带文件references/SSE-EVENTS.md

详细介绍

视频格式转换

使用 each::sense 在不同格式、编解码器和宽高比之间转换视频。此技能可处理格式转换、编解码器转码、宽高比调整,以及针对各种平台和使用场景的优化。

功能

  • 格式转换:在 MP4、WebM、MOV、GIF 等格式之间转换
  • 编解码器转码:H.264、H.265/HEVC、VP9、ProRes 等
  • 宽高比调整:16:9 转为 9:16、1:1、4:3 和自定义比例
  • 平台优化:为 Instagram、TikTok、YouTube、Twitter 优化输出
  • 网络流媒体:支持 HLS 的编码和网络优化编码
  • 质量控制:码率、分辨率和压缩设置
  • 批量处理:依次转换多个视频

快速开始

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this video to MP4 H.264 format optimized for web playback"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/source-video.mov"]
  }'

支持的格式和编解码器

格式编解码器使用场景
MP4H.264、H.265/HEVC通用播放、网络、移动设备
WebMVP9、VP8网络浏览器、更小的文件体积
MOVProRes、H.264专业剪辑、Apple 生态系统
GIF-社交媒体、预览、循环播放
MKVH.264、H.265、VP9归档、高画质

宽高比

比例分辨率使用场景
16:91920x1080YouTube、标准横屏
9:161080x1920TikTok、Instagram Reels、Stories
1:11080x1080Instagram 动态、Twitter
4:31440x1080经典电视、演示文稿
4:51080x1350Instagram 竖版帖子
21:92560x1080电影级超宽屏

使用场景示例

1. 转换为 MP4(H.264)

使用 H.264 编解码器进行标准 MP4 转换,以获得最大兼容性。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this video to MP4 with H.264 codec. Use high quality settings with a bitrate suitable for 1080p playback. Maintain original aspect ratio."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/source-video.mov"]
  }'
2. 转换为 WebM

使用 VP9 编解码器转换为 WebM 格式,以实现高效的网络传输。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this MP4 video to WebM format using VP9 codec. Optimize for web streaming with good quality at smaller file size. Target around 5 Mbps bitrate."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/source-video.mp4"]
  }'
3. 转换为 GIF

从视频创建动画 GIF,用于社交分享和预览。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this video to an animated GIF. Use the first 5 seconds, resize to 480px width, and optimize for file size under 10MB. Create a smooth loop if possible."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "eco",
    "image_urls": ["https://example.com/source-video.mp4"]
  }'
4. 将 16:9 转为 9:16(竖屏)

将横屏视频转换为竖屏格式,适用于移动平台。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this 16:9 landscape video to 9:16 vertical format. Use smart cropping to keep the main subject centered. Output as MP4 H.264 at 1080x1920 resolution."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/landscape-video.mp4"]
  }'
5. 转换为 1:1 方形格式

创建方形视频,适用于 Instagram 动态和 Twitter。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this video to 1:1 square format at 1080x1080 resolution. Center crop the content and output as MP4 with H.264 codec optimized for social media."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/widescreen-video.mp4"]
  }'
6. 转换为 4:3

经典 4:3 宽高比,适用于演示文稿和旧式显示设备。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this 16:9 video to 4:3 aspect ratio. Add letterboxing or pillarboxing as needed rather than cropping. Output at 1440x1080 resolution in MP4 format."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "eco",
    "image_urls": ["https://example.com/widescreen-video.mp4"]
  }'
7. 针对网络流媒体优化

创建经过网络优化的视频,支持快速启动和自适应画质。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Optimize this video for web streaming. Convert to MP4 H.264 with faststart enabled for progressive download. Use 2-pass encoding, target 3-5 Mbps bitrate, AAC audio at 128kbps. Ensure moov atom is at the beginning for instant playback."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/raw-video.mov"]
  }'
8. 转换为 Apple ProRes

专业 ProRes 格式,适用于视频剪辑工作流。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this video to Apple ProRes 422 format in a MOV container. Maintain original resolution and frame rate. This is for professional editing in Final Cut Pro and DaVinci Resolve."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/compressed-video.mp4"]
  }'
9. 转换为社交媒体格式(Instagram/TikTok)

针对 Instagram Reels 和 TikTok 优化的视频。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this video for Instagram Reels and TikTok. Use 9:16 aspect ratio at 1080x1920, MP4 H.264 codec, 30fps, and optimize for mobile playback. Keep file size under 100MB and duration under 60 seconds."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "image_urls": ["https://example.com/source-video.mov"]
  }'
10. 批量转换多个视频

在单个会话中使用一致的设置处理多个视频。

# Start batch conversion session
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "I need to convert multiple videos to MP4 H.264 format at 1080p. All videos should use the same encoding settings: H.264 High Profile, 8 Mbps bitrate, AAC audio at 192kbps. Start with this first video."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "batch-convert-001",
    "mode": "eco",
    "image_urls": ["https://example.com/video1.mov"]
  }'

# Continue with second video (same session)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert the next video with the same settings."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "batch-convert-001",
    "mode": "eco",
    "image_urls": ["https://example.com/video2.mov"]
  }'

# Continue with third video
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this one too, same format."}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "batch-convert-001",
    "mode": "eco",
    "image_urls": ["https://example.com/video3.mov"]
  }'

模式选择

转换前询问用户:

“您想要快速且经济,还是高画质?”

模式最适合速度画质
max最终交付内容、ProRes、专业工作流较慢最高
eco快速预览、批量处理、草稿转换较快良好

多轮转换会话

使用 session_id 在迭代转换中保留上下文:

# Initial conversion
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Convert this video to MP4 for YouTube at 1080p"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "youtube-upload-project",
    "image_urls": ["https://example.com/raw-footage.mov"]
  }'

# Request different format from same source
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Now create a vertical version of that same video for YouTube Shorts at 9:16"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "youtube-upload-project"
  }'

# Request thumbnail extraction
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Extract a thumbnail from the best frame of that video"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "youtube-upload-project"
  }'

平台专属设置

YouTube
  • 格式:MP4(H.264)
  • 分辨率:1080p 或 4K
  • 帧率:与源视频一致(24、30 或 60fps)
  • 码率:1080p 为 8-12 Mbps,4K 为 35-45 Mbps
Instagram Reels / TikTok
  • 格式:MP4(H.264)
  • 宽高比:9:16
  • 分辨率:1080x1920
  • 时长:不超过 60 秒(Reels)/3 分钟(TikTok)
  • 文件大小:不超过 100MB
Twitter/X
  • 格式:MP4(H.264)
  • 宽高比:16:9、1:1 或 9:16
  • 分辨率:最高 1920x1200
  • 时长:最长 2:20(140 秒)
  • 文件大小:不超过 512MB
LinkedIn
  • 格式:MP4(H.264)
  • 宽高比:16:9 或 1:1
  • 分辨率:最高 1080p
  • 时长:最长 10 分钟

错误处理

错误原因解决方案
Failed to create prediction: HTTP 422余额不足在 eachlabs.ai 充值
超时视频文件较大或转换复杂将客户端超时设置为至少 10 分钟
不支持的格式无法识别源格式先转换为中间格式
文件过大视频超出大小限制转换前压缩或拆分视频

最佳实践

质量
  • 最终交付内容和专业输出使用 max 模式
  • 预览和批处理使用 eco 模式
  • 指定目标比特率,以便更准确地控制文件大小
  • 请求 2 遍编码,以在较低比特率下获得更好的质量
性能
  • 视频处理时,将客户端超时设置为至少 10 分钟
  • 大批量处理时使用 eco 模式,以更快完成
  • 测试设置时处理较短的片段
兼容性
  • H.264 是兼容性最广泛的编解码器
  • WebM/VP9 压缩效果更好,但设备支持较少
  • ProRes 非常适合编辑工作流,但会生成较大的文件
  • 始终在目标设备/平台上测试输出

相关技能

  • each-sense - 核心 API 文档
  • video-generation - 根据文本/图像生成视频
  • video-editing - 编辑和增强现有视频

评论

支持 Markdown