我是视频编码的新手,所以请耐心等待.
我正在使用FFMPEG.我有一个640 x 350的mp4文件,平均比特率约为2000kb(我认为),文件大小为80Mb.我想将其转换为具有低得多的比特率(128kb)但宽度和高度相同的ogv文件.我使用以下命令...
ffmpeg -i input.mp4 -b:v 128k output.ogv
Run Code Online (Sandbox Code Playgroud)
...但是FFMPEG似乎忽略了我的比特率选项并输出了一个大约600kb的比特率和大约3Mb的文件大小的文件.
我可以使用FFMPEG2THEORA使用以下命令执行此操作...
ffmpeg2theora -V 128 input.mp4 -o output.ogv
Run Code Online (Sandbox Code Playgroud)
......但我想知道是否有可能使用FFMPEG.
有任何想法吗?
mark4o解决了我的问题.事实证明,默认音频编解码器正在提升文件大小.将其更改为libvorbis可显着减少文件大小.最终命令看起来像
ffmpeg -i input.mp4 -b:v 128k -b:a 128k -codec:a libvorbis output128.ogv
Run Code Online (Sandbox Code Playgroud)
-i =输入文件-b:v =视频流的比特率-b:a =音频流的比特率-codec:a =覆盖默认音频编解码器-b:v只影响视频比特率。出于某种原因,ffmpeg默认使用 flac 音频编解码器进行.ogv输出(至少在某些版本中)。在这种情况下,flac 音频将比您的视频更大。
假设您想要 vorbis 音频,请在输出文件名之前使用选项-codec:a libvorbis(或-acodec libvorbis在某些版本中)来指定它。您可能还想为音频指定比特率,例如-b:a 32k(或-ba 32k)。如果您希望总比特率为 128kbps,请指定总计为 128k 的音频和视频比特率(如果您想补偿 ogg 容器开销,则可以少一点)。