问题
推流命令
ffmpeg -i rtsp:///h264/ch1/main/av_stream -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -acodec copy -f flv rtmp://localhost/videotest/liveone
画面图片如下:
原因
FFmpeg默认接收线程数据队列大小thread_queue_size为8,当合流不够快时,接收数据队列溢出,导致RTP接收数据丢包。
解决
参考:FFmpeg的那些坑-RTP missed xxx packets
使用thread_queue_size选项配置大一点的接收线程数据队列,如:
ffmpeg -thread_queue_size 512 -i rtsp:///h264/ch1/main/av_stream -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -acodec copy -f flv rtmp://localhost/videotest/liveone