FFMpeg和最大比特率

FFMpeg和最大比特率,ffmpeg,constraints,bitrate,Ffmpeg,Constraints,Bitrate,对于一个个人项目,使用AV1编解码器,我有一个视频比特率限制为88kbps,选择视频比特率为66kbps,单音频比特率为22kbps 我当前使用此命令: ffmpeg -i input.mp4 -c:v libaom-av1 -strict -2 -b:v 66150 -c:a libfdk_aac -ar 22050 -b:a 22050 -ac 1 -maxrate 66150 -bufsize 66150 -vf scale=720:-1 -movflags +faststart outp

对于一个个人项目,使用AV1编解码器,我有一个视频比特率限制为88kbps,选择视频比特率为66kbps,单音频比特率为22kbps

我当前使用此命令:

ffmpeg -i input.mp4 -c:v libaom-av1 -strict -2 -b:v 66150 -c:a libfdk_aac -ar 22050 -b:a 22050 -ac 1 -maxrate 66150 -bufsize 66150 -vf scale=720:-1 -movflags +faststart output.mp4
但是,我的最终视频的比特率为95kbps:

持续时间:00:01:09.73,开始时间:0.000000,比特率:95 kb/s

流0:0und:视频:av1主av01/0x31307661,yuv420ptv,渐进式,720x302,69 kb/s,24 fps,24 tbr,12288 tbn,12288 tbc默认值

流0:1和:音频:aac LC mp4a/0x6134706D,22050 Hz,单声道,fltp,默认22 kb/s

是否有方法验证我的需求?66+22>88kbps是否正常

问候,

编辑1:正如@Gyan所建议的,我已经尝试减少-bufsize参数,但是我仍然有一个太高的比特率。最有效的方法是将视频比特率-b:v设置为50kbps,但它会产生较差的图像

ffmpeg -i input.mp4 -c:v libaom-av1 -strict -2 -b:v 50k -c:a libfdk_aac -ar 22050 -b:a 22050 -ac 1 -minrate 33075 -maxrate 66150 -bufsize 44100 -vf scale=-1:360 -movflags +faststart -threads 1 output.mp4

如果开销是由开销引起的,有没有限制开销的想法?

经过几次交换后,这里有一个非常合适的解决方案,具有84kbps的比特率和良好的图像质量,多亏了这一点,使用了双通编码:

ffmpeg -i input.mp4 -c:v libaom-av1 -strict -2 -b:v 65k -pass 1 -c:a libfdk_aac -ar 22050 -b:a 22050 -ac 1 -minrate 54k -maxrate 72k -bufsize 33075 -vf scale=-1:360 -movflags +faststart -threads 1 -an -f mp4 /dev/null && _
ffmpeg -i input.mp4 -c:v libaom-av1 -strict -2 -b:v 65k -pass 2 -c:a libfdk_aac -ar 22050 -b:a 22050 -ac 1 -minrate 54k -maxrate 72k -bufsize 33075 -vf scale=-1:360 -movflags +faststart -threads 1 output.mp4
注意:它可能要求您覆盖/dev/null


谢谢大家的帮助

容器有自己的顶部。你必须对此负责。降低bufsize以通过视频编码器拧紧偏差。@Gyan感谢您的提示。我做测试,并将编辑我的职位与结果。@奥雷利恩斯特雷德可能是一个好时机来考虑使用图书馆,而不是利宝-AV1..Hyr.W.46肯定,但我找不到任何文件。您可以共享链接plz吗?@AurelienStride我在这里做了一些工作:虽然FFmpeg文档有这样的功能:如果您不想让第一个命令覆盖/dev/null,您可以将-y全局选项添加到该命令中。感谢@Ilogan提供此提示。