我正在使用avconv/ffmpeg来将从DVD复制到mp4的VOB文件转换。我使用的命令是
avconv -i "concat:1.VOB|2.VOB|3.VOB|4.VOB|5.VOB" -c:v libx264 -crf 28 -c:a libvo_aacenc -b:a 128k output.mp4
这是可行的,但我已经看到许多不同的命令使用不同类型的参数,我想知道这是否是“正确”的方法,以及是否有人对我应该(不)使用哪些参数以及为什么(不使用)有建议。该文件应该与移动设备和智能电视兼容。我也看到"libmp3lame“被用作音频编解码器,使用AAC还是MP3更好?
对于持续时间为00:58:37的视频,文件大小为732.6MB,这是否合理?也许我可以用一些东西来进一步缩小文件大小,而不会造成太多的质量损失?
我也对Avconv和FFmpeg之间的区别感到困惑。我认为FFmpeg是不推荐的,Avconv是“更新和更好的”,当我在17.1个安装上运行"avconv --帮助“时,我有两个Linux的安装。
avconv version 9.20-6:9.20-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
当我在18.1安装上运行相同的命令时,我看到
ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
avconv是否比ffmpeg更新,还是只是同一事物的不同名称?
发布于 2017-08-24 20:08:10
VOB文件可能是奇怪的野兽,所以要将VOB与ffmpeg
连接起来,通常建议使用FFmpeg源代码中包含的dvd2concat
工具。但是,它在存储库中不可用,但您可以直接下载。另外,2.8发布分支已经过时,所以也要升级您的ffmpeg
。下面是操作步骤:
sudo apt install lsdvd
mkdir ~/bin
cd ~/bin
wget https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/tools/dvd2concat
chmod +x dvd2concat
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-64bit-static.tar.xz
tar xvf ffmpeg-git-64bit-static.tar.xz
mv ffmpeg-git*/ff* .
source ~/.profile
如果您想要撤销这其中的任何一个:
sudo apt remove lsdvd
rm -rf ~/bin/ff*
hash -r
现在运行编码命令:
dvd2concat /path/to/vob/files dvd.concat
ffmpeg -f concat -safe 0 -protocol_whitelist "file,subfile" -i dvd.concat -vf format=yadif,yuv420p -c:v libx264 -crf 28 -c:a aac -b:a 128k -movflags +faststart -metadata title="Movie Title" output.mp4
注意,来自dvd2concat
/lsdvd
的控制台输出信息并不丰富,所以请检查它是否实际创建了dvd.concat
。这是一个文本文件,ffmpeg
将使用它来引用输入的VOB文件。
该文件应该与移动设备和智能电视兼容。
添加-profile:v main
输出选项将有助于提高旧设备的兼容性。如果您的硬件相当现代化,您可以省略-profile:v
以允许x264自动选择配置文件。
有关更多信息,请参见FFmpeg Wiki: H.264。
我也看到"libmp3lame“被用作音频编解码器,使用AAC还是MP3更好?
审咨委。我见过一些玩家对某些包含MP4音频的MP3文件有问题。
有关编码建议,请参见FFmpeg Wiki: AAC。
对于持续时间为00:58:37的视频,文件大小为732.6MB,这是否合理?
使用-crf
时无法猜测输出文件的大小。文件大小将取决于输入的编码复杂性、持续时间和使用的编码选项。
也许我可以用一些东西来进一步缩小文件大小,而不会造成太多的质量损失?
增加-crf
值,以获得较低的质量,从而减小文件大小。如果必须针对特定的输出文件大小,则使用两次编码。否则,就像我们99%的人一样,坚持使用-crf
的一次传球。有关更多信息,请参见FFmpeg Wiki: H.264。
我也对Avconv和FFmpeg之间的区别感到困惑。我认为FFmpeg是不可取的,Avconv是“新的和更好的”。avconv是否比ffmpeg更新,还是只是同一事物的不同名称?
FFmpeg项目,也不是它的ffmpeg
命令行工具,从来没有被推荐过。这条信息来自Libav叉子,指的是他们自己的短命假"ffmpeg
“工具。Libav没有区分FFmpeg/real ffmpeg
和他们的假"ffmpeg
“,这对一般用户来说是可以理解的。有关更多信息,请参见:
https://stackoverflow.com/questions/45866087
复制相似问题