我目前正在使用ffmpeg以本地帧速率读取录制的视频,并将流发布到nginx rtmp服务器。
命令看起来像这样
ffmpeg -re -i [video file] \
-vcodec libx264 -r 60 -g 120 -keyint_min 120 -vb [bitrate]\
-f flv -y rtmp://[server url];
我想手动更改软件编码器的编码比特率, 根据带宽波动。例如,
If 2kbps< estimated_bandwidth <4kbps,
change ffmpeg bitrate to 3kbps, 1280x720 size
但是,我找不到在编码过程中支持动态比特率更改的任何框架或编解码器。
有没有办法实现这一目标?
我要做的最后一件事是自己实现编解码器,因为我没有背景。
答案 0 :(得分:1)
ffmpeg没有此功能。 x264(一种常见的h264编码器)和ffmpeg中的默认编码器确实支持动态更改比特率。您不需要自己实现编码,但是需要修改ffmpeg来添加功能。