我对流媒体和实时通信还很陌生。我需要开发一项服务来从浏览器播放摄像头源。 (将来可能会使用Gstreamer来处理视频)
所以我在这里遵循 helloworld 示例:https://github.com/centric/gstwebrtc-demos/blob/master/sendrecv/gst-java/src/main/java/WebrtcSendRecv.java
这看起来太棒了,我拍到了前 10 秒的相机视频。 10秒后,视频质量开始变差,如下所示:
顺便说一句,这是我当前的 Gstreamer 管道描述(在 WebRTCBin 之后):
videoconvert ! queue max-size-buffers=1 leaky=downstream ! vp8enc deadline=1 ! rtpvp8pay mtu=1024 ! queue max-size-buffers=1 leaky=downstream ! capsfilter caps=application/x-rtp,media=video,encoding-name=VP8,payload=120
WebRTC 中出现这种情况的原因是什么?可能是延迟或只是网络拥塞。任何线索都很感激!
尝试使用 webrtc-issue- detector Typescript / JavaScript 库。它在底层使用 getStats() API,可以帮助解决与 WebRTC 相关的连接/网络问题。