GStreamer WebRTC单向广播多用户接入延迟升高问题求助
多用户接入时WebRTC-GStreamer摄像头流延迟升高问题求助
我是WebRTC与GStreamer新手,目前基于gstreamer WebRTC示例webrtc-unidirectional-h264.c改造IP摄像头广播功能。
修改后的GStreamer管道如下:
receiver_entry->pipeline = gst_parse_launch ("webrtcbin name=webrtcbin stun-server=stun://" STUN_SERVER " " "rtspsrc location=rtsp://192.168.0.5:554/stream1 tune=zerolatency latency=0 ! queue max-size-buffers=0 max-size-bytes=0 max-size-time=0 ! rtph264depay ! h264parse ! nvv4l2decoder ! nvvidconv ! " "x264enc bitrate=12288 speed-preset=ultrafast tune=zerolatency ! h264parse ! rtph264pay config-interval=-1 name=payloader ! " "application/x-rtp,media=video,encoding-name=H264,payload=96" " ! webrtcbin. ", &error);
同时修改HTML的video标签以在Chrome中自动播放:
<body> <div> <video id="stream" autoplay muted></video> </div> </body>
当前已实现网页视频流播放,但存在多用户接入时延迟逐渐升高的问题:单用户时延迟约300ms,4用户时延迟升至约3秒。
我排查了以下可能原因:
- 新用户接入时新建管道导致IP摄像头负载过高:搭建组播服务器测试后排除该可能;
- 新用户接入时新建管道导致Soup服务器负载过高:暂未找到相关资料;
- 未使用Tee元件复用流:目前正在尝试改造。
此外,我还调整了编码器码率、编解码器类型,更换了IP摄像头(RTSP)、组播服务器(RTP)、媒体服务器(RTSP)等源,但问题仍未解决。
期望实现多用户无延迟观看同一摄像头流,恳请提供解决建议!
内容的提问来源于stack exchange,提问作者saeyong park
相关产品推荐
相关产品推荐

