将 .mp4 视频转换为 WebM 时,最佳设置是什么?
我在这里进行了一些搜索,但没有找到我真正需要的具体内容。
我一直在使用:
avconv -i input.mp4 \
-c:v libvpx -qmin 10 -qmax 42 -maxrate 500k -bufsize 1000k -threads 2 \
-c:a libvorbis output.webm
但是这似乎有问题。我无法将其上传/嵌入到支持 WebM 的网站上,如果我上传/嵌入,有时不会有任何视频,只有音频。我也尝试过不使用 qmin、qmax、maxrate 和 bufsize 选项或它们的组合。我也尝试过使用 AviDemux,但遇到了同样的问题。说我无法将其上传到某些网站,或者说在可以上传的网站上会出现播放问题。
我不擅长视频编解码器和转换,所以如果我忽略了一些非常明显的东西,我很抱歉。任何建议都会有帮助。提前谢谢。
答案1
实际上,我认为在花了一些时间阅读和弄乱 avconv 命令之后,我可以回答我自己的问题。我发现这些设置似乎非常适合我的需要:
avconv -i input.mp4 \
-c:v libvpx -qmin 20 -qmax 30 -ss 00:00:30 -t 00:01:00 -threads 2 \
-c:a libvorbis \
output.webm
我意识到使用命令行分割视频也更简单。-ss hh:mm:ss
从该点开始分割视频,-t 表示之后录制的时间。
该-an
选项还将删除将 WebM 视频上传到 8chan、7chan、4chan 等论坛时的音频。
该-s
选项将“降低采样率”并使用新的分辨率作为视频尺寸。例如-s 640x480, 例如。
因此,总而言之,如果您尝试转换 1 分钟后的视频部分(使用所有提到的选项),然后在该时间点之后的 30 秒内,同时降低分辨率并丢弃音频,它将看起来像这样:
avconv -i MyFavoriteMovie.mp4 \
-c:v libvpx -qmin 20 -qmax 30 -ss 00:01:00 -t 00:00:30 -s 640x480 -an -threads 2 \
-c:a libvorbis \
output.webm
举个例子。这将创建一个具有给定分辨率的 30 秒剪辑。
希望这也能帮助其他 avconv 初学者。