目前我正在使用开源工具 ffmpeg / ffserver 建立一个屏幕共享平台。在分享的开始一切都很好。大约 1 1/2 分钟后,我在输出中得到以下异常。
[flv @ 0x3a47aa0] rc buffer underflow
[flv @ 0x3a47aa0] max bitrate possibly too small or try trellis with large lmax or increase qmax
我尝试设置一个非常高的 lmax 和 qmax 但这并没有改变任何事情。此外,我尝试增加比特率、缓冲区大小和比特率。
我将以下命令与 ffmpeg 一起使用:
ffmpeg -f x11grab -s 1920x1080 -r 20 -i :0.0+1680,0 "http://localserver.de:8080/input1.ffm"
ffserver 的配置文件是:
HTTPPort 8080
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 50000
CustomLog -
<Feed input1.ffm>
File /var/ffserver/input1.ffm
FileMaxSize 20M
ACL allow *FROM IP* *TO IP*
</Feed>
<Stream screen1.swf>
Feed input1.ffm
Format swf
VideoCodec flv
VideoFrameRate 20
VideoBufferSize 8000
VideoBitRate 250
VideoQMin 1
VideoQMax 5
VideoSize 640x400
PreRoll 0
StartSendOnKey
NoAudio
</Stream>
其他流媒体格式也是可能的,但我不知道哪些可能用于直播。