我目前正在使用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
但是,我找不到任何支持编码期间动态比特率更改的框架或编解码器。
有没有办法让我实现这个目标? 我想做的最后一件事就是自己实现编解码器因为我没有背景。
ffmpeg没有此功能。 x264是一个常见的h264编码器,ffmpeg中的默认编码器确实支持动态更改比特率。您不需要自己实现编码,但您需要修改ffmpeg以添加该功能。