测试GB28181推流到ZLMediaKits服务器,采用海康摄像机,走RTCP流,推到ZLMediaKits,使用VLC播放发布会有花屏、拖影、回帧等现象。刚学习ZLMediaKits,对他内部的机制还不了解,猜测是不是实现有问题。
光猜没有用,赶紧找来FFMPEG将本地录像和屏幕推到ZLMediaKits测试。
-
下载ffmpeg,
https://down.rbread02.cn/down/pcsoft/10/14/ffmpeg.zip
-
采用各种方式推流,包括rtmp,rtsp(tcp,udp),rtp(ts,ps)
ffmpeg -re -i “a.mp4” -vcodec h264 -acodec aac -f flv rtmp://127.0.0.1/live/test
ffmpeg -re -i “a.mp4” -vcodec h264 -acodec aac -f rtsp -rtsp_transport udp rtsp://127.0.0.1/live/test//屏幕推流
ffmpeg -f gdigrab -i desktop -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f rtsp -rtsp_transport udp rtsp://127.0.0.1/live/desktopffmpeg -re -i “a.mp4” -vcodec h264 -acodec aac -f rtp_mpegts rtp://127.0.0.1:10000/live/test
-
播放,采用VLC串流播放
rtmp://192.168.1.176:1935/live/desktop http://192.168.1.176:8010/live/test.flv rtmp://192.168.1.176:1935/live/test
-
测试过程
1》先采用RTSP UDP推流
ffmpeg -re -i “a.mp4” -vcodec h264 -acodec aac -f rtsp -rtsp_transport udp rtsp://127.0.0.1/live/test
播放
http://192.168.1.176:8010/live/test.flv
rtmp://192.168.1.176:1935/live/test
均正常2》再用桌面推流
ffmpeg -f gdigrab -i desktop -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f rtsp -rtsp_transport udp rtsp://127.0.0.1/live/desktop
播放
rtmp://192.168.1.176:1935/live/desktop
正常3》停止第1步的推流,重新推test1
ffmpeg -re -i “a.mp4” -vcodec h264 -acodec aac -f rtsp -rtsp_transport udp rtsp://127.0.0.1/live/test1
播放
http://192.168.1.176:8010/live/test1.flv
出现花屏,残影4》停止第3步的推流,重新推test2 使用TCP
ffmpeg -re -i “a.mp4” -vcodec h264 -acodec aac -f rtsp -rtsp_transport udp rtsp://127.0.0.1/live/test2
播放
http://192.168.1.176:8010/live/test2.flv
开头出现花屏,残影,后面播放正常,但帧率感觉比源视频低可,可能是推流时进行了转码5》停止第4步的推流,采用rtp(ts推流)
ffmpeg -re -i “a.mp4” -vcodec h264 -acodec aac -f rtp_mpegts rtp://127.0.0.1:10000
播放
http://192.168.1.176:8010/rtp/221FD980.flv
出现花屏,残影6》停止第2步的推流,再重新按第2步的推流,桌面播放正常
-
结论
本次测试为单机推流,虽然有UDP但丢包机率为0,
经测试某些情况还是会花屏,可能是测试方法问题也可能是服务实现问题,后续有时间再详细测试。