使用ffmpeg推摄像头视频流中遇到的问题
问题一 推流不稳定,过10分钟ffmpeg会自动停止
原因
推流语句不合适
解决方法—合适的推流语句
ffmpeg -i rtsp://admin_name:password@192.168.21.8:555/h264/ch1/main/av_stream -f flv -an rtmp://192.168.1.1:1900/live/test98
问题二 推流时不时报错且拉下来的高清视频流花屏,低分辨率情况稍好
阶段性报错 error while decoding MB xx xx
原因与解决方法
问题应该在于ffmpeg源文件udp.c中 ,UDP_MAX_PKT_SIZE值设置过小,将其增大2的整数倍。
修改后重新编译FFmpeg
如何重新编译
修改完成后保存,终端切换到ffmpeg文件夹下
sudo make
sudo make install
问题三 ffmpeg拉流转发频繁丢包警告max delay reached. need to consume packet
原因
rtsp协议默认使用udp导致的问题,让rtsp强制使用tcp方式可以一定程度避免丢包。
解决方法
在指令中添加-rtsp_transport tcp
ffmpeg -rtsp_transport tcp -i
rtsp://admin_name:password@192.168.21.8:555/h264/ch1/main/av_stream -f flv -an rtmp://192.168.1.1:1900/live/test98