首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FFMPEG:将WebM VP8/VP9多分辨率视频转换为MP4 (H.264)

要将WebM VP8/VP9多分辨率视频转换为MP4(H.264),您可以使用FFmpeg,这是一个非常强大的命令行工具,用于处理多媒体文件

代码语言:javascript
复制
ffmpeg -i input.webm -vf "scale=iw*min(1920/iw\,1080/ih):ih*min(1920/iw\,1080/ih),setsar=1,format=yuv420p" -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 192k -movflags +faststart output.mp4

这个命令的每个部分解释如下:

  • -i input.webm:指定输入文件为input.webm
  • -vf:表示将对视频进行滤镜处理。
    • scale=iw*min(1920/iw\,1080/ih):ih*min(1920/iw\,1080/ih):将视频缩放到最接近1920x1080的分辨率,同时保持原始宽高比。
    • setsar=1:设置采样比例为1:1,以避免某些播放器出现错误。
    • format=yuv420p:将视频格式设置为yuv420p,这是一种常见的视频格式,适用于大多数播放器。
  • -c:v libx264:设置视频编解码器为H.264(libx264)。
  • -preset slow:设置编码速度/质量的平衡,slow表示在保证质量的前提下尽量减慢编码速度。
  • -crf 22:设置恒定速率因子(CRF),数值越小质量越高,范围通常为0-51,默认值为23。这里使用22以获得较好的质量。
  • -c:a aac:设置音频编解码器为AAC。
  • -b:a 192k:设置音频比特率为192 kbps。
  • -movflags +faststart:将moov原子移动到文件开头,以便在网络上更快地开始播放。
  • output.mp4:指定输出文件名为output.mp4

请注意,这个命令假设您希望将视频缩放到1920x1080的分辨率。如果您希望使用其他分辨率,只需更改scale参数中的值。例如,如果您希望将视频缩放到1280x720,您可以将scale参数设置为scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih)

此外,如果您需要处理多分辨率视频(例如,WebM容器中的VP8/VP9视频可能包含多个分辨率轨道),您可能需要使用FFmpeg的-map选项来选择特定的视频流。您可以使用ffmpeg -i input.webm命令查看输入文件中的流信息,然后使用-map选项指定要转换的流。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券