如何使用ffmpeg在实时rtmp发布期间自适应地改变编码比特率?

问题描述 投票:1回答:1

我目前正在使用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 

但是,我找不到任何支持编码期间动态比特率更改的框架或编解码器。

有没有办法让我实现这个目标? 我想做的最后一件事就是自己实现编解码器因为我没有背景。

encoding ffmpeg rtmp live-streaming codec
1个回答
1
投票

ffmpeg没有此功能。 x264是一个常见的h264编码器,ffmpeg中的默认编码器确实支持动态更改比特率。您不需要自己实现编码,但您需要修改ffmpeg以添加该功能。

© www.soinside.com 2019 - 2024. All rights reserved.