在ffmpegx中,有一个“高质量”选项。如何使用命令行工具ffmpeg获得同样的效果?
更一般地说,是否可以检查 ffmpegx GUI 在后台使用了哪些 ffmpeg 选项?
答案1
如何找出所使用的命令行ffmpegX
?
如果你对视频进行编码,你会看到命令行处理信息窗户。
只需单击编码过程旁边的蓝色i按钮,您就会在命令行中找到顶场以 开头printf ...
。将其复制到某个文本编辑器以检查整个命令。
这将揭示类似以下内容的内容:
printf "Encoding started on " && date && /Applications/ffmpegX.app//Contents/Resources/ffmpeg -i /Users/werner/Desktop/echo-tv/01_BAD_talking_head.avi.MP4 -y -threads 2 -map 0.0:0.0 -f avi -vcodec xvid -b 733 -aspect 16:9 -s 480x272 -r pal -g 240 -me epzs -qmin 2 -qmax 9 -acodec mp3 -ab 128 -ar 48000 -ac 2 -map 0.1:0.1 -benchmark /Users/werner/Desktop/echo-tv/01_BAD_talking_head.avi.MP4.ff.avi && printf "Encoding completed on " && date && printf "\a"
这就是所使用的整个 ffmpeg 命令。
如何获得“高质量”设置ffmpeg
?
在“高质量”设置的特定情况下,遗憾的是,我无法找到启用“高质量”和未启用“高质量”时命令行之间的区别。我通过使用ffmpeg
XviD 编码视频对此进行了测试。根据 ffmpegX 手册,“高品质”设置...
[...] 用所有模式对每个宏块进行编码,然后选择最佳模式。速度较慢,但质量更好,文件大小也更小。
ffmpeg
和应该相同mencoder
,因为它们都用于libavcodec
转换。可能是因为我测试的视频,所以我看不出命令行有什么区别。
我猜是-mbd
用于宏块决策的选项或-4mv
每个宏块四个运动矢量的选项(仅限 MPEG-4)。ffmpeg 中没有其他与宏块相关的选项。