MacOS下FFmpeg的-b:v码率参数为何被完全忽略?
FFmpeg ProRes编码忽略
-b:v参数的解决办法 ProRes是苹果推出的固定比特率编码格式,它的码率由**编码档次(profile)**直接决定,根本不支持-b:v这种手动指定码率的参数。你用的prores_ks编码器默认会输出ProRes 4444档次,对应固定的81747 kb/s码率,所以不管你把-b:v设成多大,输出结果都不会变。
要调整输出的ProRes档次和对应码率,得用-profile:v参数指定对应的档次,各档次对应关系如下:
-profile:v 0:ProRes Proxy(低码率代理档)-profile:v 1:ProRes LT(低码率长档)-profile:v 2:ProRes Standard(标准档)-profile:v 3:ProRes HQ(高质量档)-profile:v 4:ProRes 4444(4444色彩空间档)-profile:v 5:ProRes 4444 XQ(就是你输入文件用的XQ档,对应高码率)
比如你想输出和输入一样的ProRes 4444 XQ档,命令改成这样就行:
./ffmpeg -i ./input.mov -c:v prores_ks -profile:v 5 output.mov
要是需要其他档次,替换-profile:v后面的数字就行。另外提一句,ProRes本身是固定码率设计,就算用-qscale:v微调,效果也非常有限,优先用-profile:v选档次才是正道。
内容的提问来源于stack exchange,提问作者User
相关产品推荐
相关产品推荐

