dusty-nv / jetson-inference

Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.
https://developer.nvidia.com/embedded/twodaystoademo
MIT License
7.74k stars 2.97k forks source link

webrtc consumption by 4G or 5G #1714

Open jomezc opened 1 year ago

jomezc commented 1 year ago

Hi @dusty-nv,

First of all thank you very much for the work done on jetson inference, it helps a lot.

I am trying to use the WebRTC Server from a jetson Orin NX.

When I run the examples both directly from the WebRTC Server, as well as the sample applications, everything works correctly in the jetson browsers (except firefox) and on any device such as computer or mobile that connects to the server with a stable connection both locally and from outside (fiber optic, for example). When I try to consume the stream by 4G or 5G ( to simulate the consumption of the broadcast from an external device) on the same devices, the applications or pages load correctly but the webrtc broadcast stops and nothing is displayed (with other technologies such as image broadcasting by socket there is no problem).

I have tried adding coturn as stun/turn server in the dash example without success, among other solution attempts, could you please help me or explain me the reason?

Thank you very much in advance and best regards.

dusty-nv commented 1 year ago

Hi @jomezc, on one hand, you could try reducing the --bitrate and see if it's bandwidth-related:

https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-streaming.md#output-options

On the other, I'd try disabling SSL temporarily and see if that's related (maybe it doesn't like your self-signed key outside of local network)

Can you post the Jetson logs from when your start the webrtc server on it and try to connect from your client browser?

Also, the browser developer console logs should be inspected, which is possible on mobile devices but some extra steps:

Perhaps you could use your phone in hotspot mode and just connect your laptop through it, so you can more easily debug/capture the browser logs.

Also, I would try to get this working first with just the basic video-viewer webrtc server like shown here (instead of more complicated dash example at first): https://github.com/dusty-nv/jetson-inference/blob/master/docs/webrtc-server.md#sending-webrtc-streams

jomezc commented 1 year ago

Thank you very much for your quick response and your help, @dusty-nv.

I have run the tests, with video-viewer both with ssl and without:

Command1: video-viewer rtsp://192.168.144.25:8554/main.264 webrtc://@:8554/my_output --headless --bitrate=100000

console:

Details

[gstreamer] initialized gstreamer, version 1.16.3.0 [gstreamer] gstDecoder -- creating decoder for 192.168.144.25 Opening in BLOCKING MODE NvMMLiteOpen : Block : BlockType = 279 NVMEDIA: Reading vendor.tegra.display-size : status: 6 NvMMLiteBlockCreate : Block : BlockType = 279 [gstreamer] gstDecoder -- discovered video resolution: 1280x720 (framerate 30.000000 Hz) [gstreamer] gstDecoder -- discovered video caps: video/x-h265, stream-format=(string)byte-stream, alignment=(string)au, width=(int)1280, height=(int)720, framerate=(fraction)30/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, profile=(string)main, tier=(string)main, level=(string)3.1 [gstreamer] gstDecoder -- pipeline string: [gstreamer] rtspsrc location=rtsp://192.168.144.25:8554/main.264 latency=10 ! queue ! rtph265depay ! nvv4l2decoder name=decoder enable-max-performance=1 ! video/x-raw(memory:NVMM) ! nvvidconv name=vidconv ! video/x-raw ! appsink name=mysink sync=false [video] created gstDecoder from rtsp://192.168.144.25:8554/main.264 ------------------------------------------------ gstDecoder video options: ------------------------------------------------ -- URI: rtsp://192.168.144.25:8554/main.264 - protocol: rtsp - location: 192.168.144.25 - port: 8554 -- deviceType: ip -- ioType: input -- codec: H265 -- codecType: v4l2 -- width: 1280 -- height: 720 -- frameRate: 30 -- numBuffers: 4 -- zeroCopy: true -- flipMethod: none -- loop: 0 -- latency 10 ------------------------------------------------ [gstreamer] gstEncoder -- codec not specified, defaulting to H.264 [gstreamer] gstEncoder -- detected board 'NVIDIA Orin NX Developer Kit' [gstreamer] gstEncoder -- pipeline launch string: [gstreamer] appsrc name=mysource is-live=true do-timestamp=true format=3 ! nvvidconv name=vidconv ! video/x-raw(memory:NVMM) ! nvv4l2h264enc name=encoder bitrate=100000 insert-sps-pps=1 insert-vui=1 idrinterval=30 maxperf-enable=1 ! video/x-h264 ! rtph264pay config-interval=1 ! application/x-rtp,media=video,encoding-name=H264,clock-rate=90000,payload=96 ! tee name=videotee ! queue ! fakesink [webrtc] WebRTC server started @ http://ubuntu:8554 [webrtc] WebRTC server thread running... [webrtc] websocket route added /my_output [video] created gstEncoder from webrtc://@:8554/my_output ------------------------------------------------ gstEncoder video options: ------------------------------------------------ -- URI: webrtc://@:8554/my_output - protocol: webrtc - location: 0.0.0.0 - port: 8554 -- deviceType: ip -- ioType: output -- codec: H264 -- codecType: v4l2 -- frameRate: 30 -- bitRate: 100000 -- numBuffers: 4 -- zeroCopy: true -- latency 10 ------------------------------------------------ [gstreamer] opening gstDecoder for streaming, transitioning pipeline to GST_STATE_PLAYING Opening in BLOCKING MODE [gstreamer] gstreamer changed state from NULL to READY ==> mysink [gstreamer] gstreamer changed state from NULL to READY ==> capsfilter2 [gstreamer] gstreamer changed state from NULL to READY ==> vidconv [gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1 [gstreamer] gstreamer changed state from NULL to READY ==> decoder [gstreamer] gstreamer changed state from NULL to READY ==> rtph265depay1 [gstreamer] gstreamer changed state from NULL to READY ==> queue0 [gstreamer] gstreamer changed state from NULL to READY ==> rtspsrc0 [gstreamer] gstreamer changed state from NULL to READY ==> pipeline0 [gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter2 [gstreamer] gstreamer changed state from READY to PAUSED ==> vidconv [gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1 [gstreamer] gstreamer changed state from READY to PAUSED ==> decoder [gstreamer] gstreamer changed state from READY to PAUSED ==> rtph265depay1 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> queue0 [gstreamer] gstreamer message progress ==> rtspsrc0 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> rtspsrc0 [gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0 [gstreamer] gstreamer message new-clock ==> pipeline0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter2 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> vidconv [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> decoder [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtph265depay1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue0 [gstreamer] gstreamer message progress ==> rtspsrc0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtspsrc0 [gstreamer] gstreamer message progress ==> rtspsrc0 NvMMLiteOpen : Block : BlockType = 279 NVMEDIA: Reading vendor.tegra.display-size : status: 6 NvMMLiteBlockCreate : Block : BlockType = 279 [gstreamer] gstreamer message progress ==> rtspsrc0 [gstreamer] gstreamer message progress ==> rtspsrc0 [gstreamer] gstreamer message progress ==> rtspsrc0 [gstreamer] gstreamer changed state from NULL to READY ==> manager [gstreamer] gstreamer changed state from READY to PAUSED ==> manager [gstreamer] gstreamer changed state from NULL to READY ==> rtpssrcdemux2 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpssrcdemux2 [gstreamer] gstreamer changed state from NULL to READY ==> rtpsession2 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpsession2 [gstreamer] gstreamer changed state from NULL to READY ==> rtpstorage2 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpstorage2 [gstreamer] gstreamer message progress ==> rtspsrc0 [gstreamer] gstreamer changed state from NULL to READY ==> rtpssrcdemux3 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpssrcdemux3 [gstreamer] gstreamer changed state from NULL to READY ==> rtpsession3 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpsession3 [gstreamer] gstreamer changed state from NULL to READY ==> rtpstorage3 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpstorage3 [gstreamer] gstreamer message progress ==> rtspsrc0 [gstreamer] gstreamer changed state from NULL to READY ==> udpsink4 [gstreamer] gstreamer changed state from READY to PAUSED ==> udpsink4 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsink4 [gstreamer] gstreamer changed state from NULL to READY ==> fakesrc2 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> fakesrc2 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> fakesrc2 [gstreamer] gstreamer changed state from NULL to READY ==> udpsink6 [gstreamer] gstreamer changed state from READY to PAUSED ==> udpsink6 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsink6 [gstreamer] gstreamer changed state from NULL to READY ==> fakesrc3 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> fakesrc3 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> fakesrc3 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer message progress ==> rtspsrc0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpssrcdemux3 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpstorage3 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpsession3 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpssrcdemux2 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpstorage2 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpsession2 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> manager [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> udpsrc5 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsrc5 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> udpsrc6 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsrc6 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> udpsrc7 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsrc7 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> udpsrc8 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsrc8 [gstreamer] gstreamer message progress ==> rtspsrc0 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer message element ==> rtpsession3 [gstreamer] gstreamer message element ==> rtpsession2 [gstreamer] gstreamer changed state from NULL to READY ==> rtpptdemux2 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpptdemux2 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpptdemux2 [gstreamer] gstreamer changed state from NULL to READY ==> rtpjitterbuffer2 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpjitterbuffer2 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpjitterbuffer2 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from NULL to READY ==> rtpptdemux3 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpptdemux3 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpptdemux3 [gstreamer] gstreamer changed state from NULL to READY ==> rtpjitterbuffer3 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpjitterbuffer3 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpjitterbuffer3 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer message stream-start ==> pipeline0 [gstreamer] gstDecoder -- onPreroll() [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstBufferManager -- map buffer size was less than max size (1382400 vs 1382407) [gstreamer] gstBufferManager recieve caps: video/x-raw, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, nvbuf-memory-type=(string)nvbuf-mem-surface-array, gpu-id=(int)0, format=(string)NV12 [gstreamer] gstBufferManager -- recieved first frame, codec=H265 format=nv12 width=1280 height=720 size=1382407 [cuda] allocated 4 ring buffers (1382407 bytes each, 5529628 bytes total) [cuda] allocated 4 ring buffers (8 bytes each, 32 bytes total) [gstreamer] gstreamer changed state from READY to PAUSED ==> mysink [gstreamer] gstreamer message async-done ==> pipeline0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysink [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline0 [cuda] allocated 4 ring buffers (2764800 bytes each, 11059200 bytes total) video-viewer: captured 0 frames (1280x720) [cuda] allocated 2 ring buffers (1382400 bytes each, 2764800 bytes total) [gstreamer] gstEncoder -- starting pipeline, transitioning to GST_STATE_PLAYING Opening in BLOCKING MODE [gstreamer] gstreamer changed state from NULL to READY ==> fakesink0 [gstreamer] gstreamer changed state from NULL to READY ==> queue1 [gstreamer] gstreamer changed state from NULL to READY ==> videotee [gstreamer] gstreamer changed state from NULL to READY ==> capsfilter5 [gstreamer] gstreamer changed state from NULL to READY ==> rtph264pay0 [gstreamer] gstreamer changed state from NULL to READY ==> capsfilter4 [gstreamer] gstreamer changed state from NULL to READY ==> encoder [gstreamer] gstreamer changed state from NULL to READY ==> capsfilter3 [gstreamer] gstreamer changed state from NULL to READY ==> vidconv [gstreamer] gstreamer changed state from NULL to READY ==> mysource [gstreamer] gstreamer changed state from NULL to READY ==> pipeline1 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> queue1 [gstreamer] gstreamer changed state from READY to PAUSED ==> videotee [gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter5 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> rtph264pay0 [gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter4 [gstreamer] gstreamer changed state from READY to PAUSED ==> encoder [gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter3 [gstreamer] gstreamer changed state from READY to PAUSED ==> vidconv [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> mysource [gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline1 [gstreamer] gstreamer message new-clock ==> pipeline1 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> videotee [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter5 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtph264pay0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter4 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> encoder [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter3 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> vidconv [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysource [gstreamer] gstEncoder -- new caps: video/x-raw, width=1280, height=720, format=(string)I420, framerate=30/1 video-viewer: captured 1 frames (1280x720) NvMMLiteOpen : Block : BlockType = 4 ===== NVMEDIA: NVENC ===== NvMMLiteBlockCreate : Block : BlockType = 4 [gstreamer] gstreamer message stream-start ==> pipeline1 [gstreamer] gstreamer message latency ==> encoder H264: Profile = 66, Level = 0 NVMEDIA: Need to set EMC bandwidth : 376000 NVMEDIA_ENC: bBlitMode is set to TRUE video-viewer: captured 2 frames (1280x720) [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> fakesink0 [gstreamer] gstreamer message async-done ==> pipeline1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> fakesink0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline1 video-viewer: captured 3 frames (1280x720) video-viewer: captured 4 frames (1280x720) video-viewer: captured 5 frames (1280x720) video-viewer: captured 6 frames (1280x720) video-viewer: captured 7 frames (1280x720) video-viewer: captured 8 frames (1280x720) video-viewer: captured 9 frames (1280x720) video-viewer: captured 10 frames (1280x720) video-viewer: captured 11 frames (1280x720) video-viewer: captured 12 frames (1280x720) video-viewer: captured 13 frames (1280x720) video-viewer: captured 14 frames (1280x720) video-viewer: captured 25 frames (1280x720) video-viewer: captured 50 frames (1280x720) video-viewer: captured 75 frames (1280x720) video-viewer: captured 100 frames (1280x720) video-viewer: captured 125 frames (1280x720) video-viewer: captured 150 frames (1280x720) video-viewer: captured 175 frames (1280x720) video-viewer: captured 200 frames (1280x720) video-viewer: captured 225 frames (1280x720) [webrtc] HTTP 95.127.32.208 GET '/favicon.ico' [webrtc] /favicon.ico [webrtc] websocket /my_output -- new connection opened by 95.127.32.208 (peer_id=0) [webrtc] new WebRTC peer connecting (95.127.32.208, peer_id=0) (video-viewer:6360): GLib-GObject-WARNING **: 20:12:21.462: g_object_set_is_valid_property: object class 'GstWebRTCBin' has no property named 'latency' (video-viewer:6360): GLib-GObject-WARNING **: 20:12:21.463: g_object_set_is_valid_property: object class 'WebRTCTransceiver' has no property named 'direction' [gstreamer] gstreamer changed state from NULL to READY ==> queue-0 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> queue-0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue-0 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from NULL to READY ==> rtpbin [gstreamer] gstreamer changed state from NULL to READY ==> webrtcbin-0 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpbin [gstreamer] gstreamer changed state from READY to PAUSED ==> webrtcbin-0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpbin [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> webrtcbin-0 [webrtc] negotiation offer created: v=0 o=- 8945780504271466357 0 IN IP4 0.0.0.0 s=- t=0 0 a=ice-options:trickle m=video 9 UDP/TLS/RTP/SAVPF 96 c=IN IP4 0.0.0.0 a=setup:actpass a=ice-ufrag:/y4avTDHSd+MyHokPniKbry4jYWQ/Nj1 a=ice-pwd:Y4S5/ZUVuo/SwoLQgpfevVtUQo4GGbPe a=rtcp-mux a=rtcp-rsize a=sendrecv a=rtpmap:96 H264/90000 a=rtcp-fb:96 nack pli a=framerate:30 a=fmtp:96 packetization-mode=1;sprop-parameter-sets=Z0JAH5ZUAoAt01AAAFQAAAMABAAAAwDyPCIRqA==,aM48gA== a=ssrc:3717523653 msid:user1615240943@host-efc82afd webrtctransceiver0 a=ssrc:3717523653 cname:user1615240943@host-efc82afd a=mid:video0 a=fingerprint:sha-256 2F:B4:80:A4:91:7B:6B:6A:BB:69:2B:39:2E:96:1C:D3:DD:B7:3C:4E:F7:5C:B2:8B:D7:E3:08:A4:B8:C9:1A:9B [webrtc] sending offer for /my_output to 95.127.32.208 (peer_id=0): {"type":"sdp","data":{"type":"offer","sdp":"v=0\r\no=- 8945780504271466357 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=ice-options:trickle\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=setup:actpass\r\na=ice-ufrag:/y4avTDHSd+MyHokPniKbry4jYWQ/Nj1\r\na=ice-pwd:Y4S5/ZUVuo/SwoLQgpfevVtUQo4GGbPe\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=sendrecv\r\na=rtpmap:96 H264/90000\r\na=rtcp-fb:96 nack pli\r\na=framerate:30\r\na=fmtp:96 packetization-mode=1;sprop-parameter-sets=Z0JAH5ZUAoAt01AAAFQAAAMABAAAAwDyPCIRqA==,aM48gA==\r\na=ssrc:3717523653 msid:user1615240943@host-efc82afd webrtctransceiver0\r\na=ssrc:3717523653 cname:user1615240943@host-efc82afd\r\na=mid:video0\r\na=fingerprint:sha-256 2F:B4:80:A4:91:7B:6B:6A:BB:69:2B:39:2E:96:1C:D3:DD:B7:3C:4E:F7:5C:B2:8B:D7:E3:08:A4:B8:C9:1A:9B\r\n"}} [gstreamer] gstreamer changed state from NULL to READY ==> rtpssrcdemux4 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpssrcdemux4 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpssrcdemux4 [gstreamer] gstreamer changed state from NULL to READY ==> rtpsession4 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpsession4 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpsession4 [gstreamer] gstreamer changed state from NULL to READY ==> rtpstorage4 [gstreamer] gstreamer changed state from READY to PAUSED ==> rtpstorage4 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtpstorage4 [gstreamer] gstreamer changed state from NULL to READY ==> nicesink1 [gstreamer] gstreamer changed state from NULL to READY ==> nicesink0 [gstreamer] gstreamer changed state from NULL to READY ==> outputselector0 [gstreamer] gstreamer changed state from NULL to READY ==> transportsendbin0 [gstreamer] gstreamer changed state from READY to PAUSED ==> nicesink1 [gstreamer] gstreamer changed state from READY to PAUSED ==> nicesink0 [gstreamer] gstreamer changed state from READY to PAUSED ==> outputselector0 [gstreamer] gstreamer changed state from READY to PAUSED ==> transportsendbin0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nicesink1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nicesink0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> outputselector0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> transportsendbin0 [gstreamer] gstreamer changed state from NULL to READY ==> nicesrc0 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> nicesrc0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nicesrc0 [gstreamer] gstreamer changed state from NULL to READY ==> nicesrc1 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> nicesrc1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nicesrc1 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from NULL to READY ==> funnel4 [gstreamer] gstreamer changed state from NULL to READY ==> funnel3 [gstreamer] gstreamer changed state from NULL to READY ==> funnel2 [gstreamer] gstreamer changed state from NULL to READY ==> srtpdec0 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from NULL to READY ==> dtlsdec0 [gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpdemux0 [gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpdec0 [gstreamer] gstreamer changed state from NULL to READY ==> srtpdec1 [gstreamer] gstreamer changed state from NULL to READY ==> dtlsdec1 [gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpdemux1 [gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpdec1 [gstreamer] gstreamer changed state from NULL to READY ==> queue2 [gstreamer] gstreamer changed state from NULL to READY ==> queue3 [gstreamer] gstreamer changed state from NULL to READY ==> capsfilter6 [gstreamer] gstreamer changed state from NULL to READY ==> capsfilter7 [gstreamer] gstreamer changed state from NULL to READY ==> transportreceivebin0 [gstreamer] gstreamer changed state from READY to PAUSED ==> funnel4 [gstreamer] gstreamer changed state from READY to PAUSED ==> funnel3 [gstreamer] gstreamer changed state from READY to PAUSED ==> funnel2 [gstreamer] gstreamer changed state from READY to PAUSED ==> srtpdec0 [gstreamer] gstreamer changed state from READY to PAUSED ==> dtlsdec0 [gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpdemux0 [gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpdec0 [gstreamer] gstreamer changed state from READY to PAUSED ==> srtpdec1 [gstreamer] gstreamer changed state from READY to PAUSED ==> dtlsdec1 [gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpdemux1 [gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpdec1 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> queue2 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> queue3 [gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter6 [gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter7 [gstreamer] gstreamer changed state from READY to PAUSED ==> transportreceivebin0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> funnel4 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> funnel3 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> funnel2 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> srtpdec0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlsdec0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpdemux0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpdec0 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> srtpdec1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlsdec1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpdemux1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpdec1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue2 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue3 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter6 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter7 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> transportreceivebin0 [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:1 1 UDP 2013266431 fe80::1098:81e5:548f:8e6e 54291 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:2 1 TCP 1015024127 fe80::1098:81e5:548f:8e6e 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:3 1 TCP 1010829823 fe80::1098:81e5:548f:8e6e 37917 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:4 1 UDP 2013266430 fe80::40cb:b8ff:fe1d:80e8 42423 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:5 1 TCP 1015024126 fe80::40cb:b8ff:fe1d:80e8 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:6 1 TCP 1010829822 fe80::40cb:b8ff:fe1d:80e8 46175 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:7 1 UDP 2013266429 fe80::4dc6:23c4:716d:7e2d 34268 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:8 1 TCP 1015024125 fe80::4dc6:23c4:716d:7e2d 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:9 1 TCP 1010829821 fe80::4dc6:23c4:716d:7e2d 59823 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:10 1 UDP 2013266428 172.17.0.1 34187 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:11 1 TCP 1015022591 172.17.0.1 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:12 1 TCP 1010828287 172.17.0.1 57109 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:13 1 UDP 2013266427 192.168.1.38 42720 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:14 1 TCP 1015022847 192.168.1.38 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:15 1 TCP 1010828543 192.168.1.38 60529 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:16 1 UDP 2013266426 10.9.0.21 55127 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:17 1 TCP 1015023103 10.9.0.21 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:18 1 TCP 1010828799 10.9.0.21 44023 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:19 1 UDP 2013266425 192.168.144.12 45852 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:20 1 TCP 1015023359 192.168.144.12 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:21 1 TCP 1010829055 192.168.144.12 60713 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:1 2 UDP 2013266430 fe80::1098:81e5:548f:8e6e 35403 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:2 2 TCP 1015024126 fe80::1098:81e5:548f:8e6e 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:3 2 TCP 1010829822 fe80::1098:81e5:548f:8e6e 42765 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:4 2 UDP 2013266429 fe80::40cb:b8ff:fe1d:80e8 40120 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:5 2 TCP 1015024125 fe80::40cb:b8ff:fe1d:80e8 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:6 2 TCP 1010829821 fe80::40cb:b8ff:fe1d:80e8 42989 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:7 2 UDP 2013266428 fe80::4dc6:23c4:716d:7e2d 43796 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:8 2 TCP 1015024124 fe80::4dc6:23c4:716d:7e2d 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:9 2 TCP 1010829820 fe80::4dc6:23c4:716d:7e2d 56475 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:10 2 UDP 2013266427 172.17.0.1 41172 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:11 2 TCP 1015022590 172.17.0.1 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:12 2 TCP 1010828286 172.17.0.1 42169 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:13 2 UDP 2013266426 192.168.1.38 49280 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:14 2 TCP 1015022846 192.168.1.38 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:15 2 TCP 1010828542 192.168.1.38 42735 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:16 2 UDP 2013266425 10.9.0.21 52324 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:17 2 TCP 1015023102 10.9.0.21 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:18 2 TCP 1010828798 10.9.0.21 41959 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:19 2 UDP 2013266424 192.168.144.12 38201 typ host"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:20 2 TCP 1015023358 192.168.144.12 9 typ host tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:21 2 TCP 1010829054 192.168.144.12 39885 typ host tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:22 2 UDP 1677722110 88.20.219.127 41172 typ srflx raddr 172.17.0.1 rport 41172"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:25 1 UDP 1677722111 88.20.219.127 42720 typ srflx raddr 192.168.1.38 rport 42720"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:26 1 TCP 847250687 88.20.219.127 9 typ srflx raddr 192.168.1.38 rport 9 tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:27 1 TCP 843056383 88.20.219.127 60529 typ srflx raddr 192.168.1.38 rport 60529 tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:23 2 TCP 847250430 88.20.219.127 9 typ srflx raddr 172.17.0.1 rport 9 tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:24 2 TCP 843056126 88.20.219.127 42169 typ srflx raddr 172.17.0.1 rport 42169 tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:22 1 UDP 1677722110 88.20.219.127 34187 typ srflx raddr 172.17.0.1 rport 34187"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:25 2 UDP 1677722109 88.20.219.127 49280 typ srflx raddr 192.168.1.38 rport 49280"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:23 1 TCP 847250431 88.20.219.127 9 typ srflx raddr 172.17.0.1 rport 9 tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:26 2 TCP 847250686 88.20.219.127 9 typ srflx raddr 192.168.1.38 rport 9 tcptype active"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:24 1 TCP 843056127 88.20.219.127 57109 typ srflx raddr 172.17.0.1 rport 57109 tcptype passive"}} [webrtc] sending ICE candidate for /my_output to 95.127.32.208 (peer_id=0): {"type":"ice","data":{"sdpMLineIndex":0,"candidate":"candidate:27 2 TCP 843056382 88.20.219.127 42735 typ srflx raddr 192.168.1.38 rport 42735 tcptype passive"}} [webrtc] websocket /my_output -- recieved message from 95.127.32.208 (peer_id=0) (639 bytes) [webrtc] received SDP message for /my_output from 95.127.32.208 (peer_id=0) v=0 o=- 7290830182572669153 2 IN IP4 127.0.0.1 s=- t=0 0 a=msid-semantic: WMS m=video 9 UDP/TLS/RTP/SAVPF 96 c=IN IP4 0.0.0.0 a=rtcp:9 IN IP4 0.0.0.0 a=ice-ufrag:e21o a=ice-pwd:sTC6eXxOtbX1YkRNX3xftLm/ a=ice-options:trickle a=fingerprint:sha-256 46:19:DC:AB:82:11:EC:54:46:98:B9:D2:8D:F9:98:18:5B:72:82:88:C9:30:09:A6:4F:5F:46:7E:CD:6D:3C:64 a=setup:active a=mid:video0 a=recvonly a=rtcp-mux a=rtcp-rsize a=rtpmap:96 H264/90000 a=rtcp-fb:96 nack pli a=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f (video-viewer:6360): GLib-CRITICAL **: 20:12:21.866: g_atomic_ref_count_dec: assertion 'g_atomic_int_get (arc) > 0' failed [webrtc] websocket /my_output -- recieved message from 95.127.32.208 (peer_id=0) (247 bytes) [webrtc] received ICE message on /my_output from 95.127.32.208 (peer_id=0) with mline index 0; candidate: candidate:4207186195 1 udp 2122260223 999a90eb-2fb1-4372-81d5-55fe8ed4aa2b.local 55046 typ host generation 0 ufrag e21o network-id 1 network-cost 900 video-viewer: captured 250 frames (1280x720) [gstreamer] gstreamer changed state from NULL to READY ==> funnel0 [gstreamer] gstreamer changed state from NULL to READY ==> dtlsenc0 [gstreamer] gstreamer changed state from NULL to READY ==> srtpenc0 [gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpenc0 [gstreamer] gstreamer changed state from READY to PAUSED ==> funnel0 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> dtlsenc0 [gstreamer] gstreamer changed state from READY to PAUSED ==> srtpenc0 [gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpenc0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> funnel0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlsenc0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> srtpenc0 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpenc0 [gstreamer] gstreamer changed state from NULL to READY ==> funnel1 [gstreamer] gstreamer changed state from NULL to READY ==> dtlsenc1 [gstreamer] gstreamer changed state from NULL to READY ==> srtpenc1 [gstreamer] gstreamer changed state from NULL to READY ==> dtlssrtpenc1 [gstreamer] gstreamer changed state from READY to PAUSED ==> funnel1 [gstreamer] gstreamer stream status CREATE ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> dtlsenc1 [gstreamer] gstreamer stream status ENTER ==> src [gstreamer] gstreamer changed state from READY to PAUSED ==> srtpenc1 [gstreamer] gstreamer changed state from READY to PAUSED ==> dtlssrtpenc1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> funnel1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlsenc1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> srtpenc1 [gstreamer] gstreamer changed state from PAUSED to PLAYING ==> dtlssrtpenc1 [gstreamer] gstEncoder -- pipeline full, skipping frame 275 (1280x720, 1382400 bytes) video-viewer: captured 275 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 300 (1280x720, 1382400 bytes) video-viewer: captured 300 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 325 (1280x720, 1382400 bytes) video-viewer: captured 325 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 350 (1280x720, 1382400 bytes) video-viewer: captured 350 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 375 (1280x720, 1382400 bytes) [network] getHostByName() trying to resolve host '999a90eb-2fb1-4372-81d5-55fe8ed4aa2b.local' (retry 1 of 10) video-viewer: captured 375 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 400 (1280x720, 1382400 bytes) video-viewer: captured 400 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 425 (1280x720, 1382400 bytes) video-viewer: captured 425 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 450 (1280x720, 1382400 bytes) video-viewer: captured 450 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 475 (1280x720, 1382400 bytes) video-viewer: captured 475 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 500 (1280x720, 1382400 bytes) [network] getHostByName() trying to resolve host '999a90eb-2fb1-4372-81d5-55fe8ed4aa2b.local' (retry 2 of 10) video-viewer: captured 500 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 525 (1280x720, 1382400 bytes) video-viewer: captured 525 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 550 (1280x720, 1382400 bytes) video-viewer: captured 550 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 575 (1280x720, 1382400 bytes) video-viewer: captured 575 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 600 (1280x720, 1382400 bytes) video-viewer: captured 600 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 625 (1280x720, 1382400 bytes) [network] getHostByName() trying to resolve host '999a90eb-2fb1-4372-81d5-55fe8ed4aa2b.local' (retry 3 of 10) video-viewer: captured 625 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 650 (1280x720, 1382400 bytes) video-viewer: captured 650 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 675 (1280x720, 1382400 bytes) video-viewer: captured 675 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 700 (1280x720, 1382400 bytes) video-viewer: captured 700 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 725 (1280x720, 1382400 bytes) video-viewer: captured 725 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 750 (1280x720, 1382400 bytes) [network] getHostByName() trying to resolve host '999a90eb-2fb1-4372-81d5-55fe8ed4aa2b.local' (retry 4 of 10) video-viewer: captured 750 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 775 (1280x720, 1382400 bytes) video-viewer: captured 775 frames (1280x720) [gstreamer] gstEncoder -- pipeline full, skipping frame 800 (1280x720, 1382400 bytes) video-viewer: captured 800 frames (1280x720) ^Creceived SIGINT video-viewer: shutting down... [gstreamer] gstDecoder -- stopping pipeline, transitioning to GST_STATE_NULL [gstreamer] gstDecoder -- pipeline stopped [gstreamer] gstEncoder -- shutting down pipeline, sending EOS [gstreamer] gstEncoder -- transitioning pipeline to GST_STATE_NULL [gstreamer] gstEncoder -- pipeline stopped [webrtc] WebRTC server on port 8554 is shutting down video-viewer: shutdown complete

web console:

Details

LOGVideo server URL: ws://xxx.duckdns.org:8554/my_output LOGIncoming SDP: (%s){"type":"offer","sdp":"v=0\r\no=- 5941675278040553340 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=ice-options:trickle\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=setup:actpass\r\na=ice-ufrag:IDQKVQu+4I6sRlVwAMjaWdw+f/Z9Fbuf\r\na=ice-pwd:sC0ZTsOIkv+Q0Qa+56oQEuw2JHFq7G6o\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=sendrecv\r\na=rtpmap:96 H264/90000\r\na=rtcp-fb:96 nack pli\r\na=framerate:30\r\na=fmtp:96 packetization-mode=1;sprop-parameter-sets=Z0JAH5ZUAoAt01AAAFQAAAMABAAAAwDyPCIRqA==,aM48gA==\r\na=ssrc:3944008378 msid:user4042185377@host-c828c1b3 webrtctransceiver0\r\na=ssrc:3944008378 cname:user4042185377@host-c828c1b3\r\na=mid:video0\r\na=fingerprint:sha-256 8D:2D:1A:CE:2C:24:1C:EA:3C:E4:6A:9F:52:11:6F:48:54:39:34:F8:10:D6:4C:6E:5E:C9:B2:B4:7B:8E:51:D7\r\n"} ws://xxx.duckdns.org:8554/my_output LOGAdding remote stream to HTML video player (%s) ws://xxx.duckdns.org:8554/my_output LOGLocal description (%s) {"sdp":"v=0\r\no=- 234505447476676123 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS\r\nm=video 9 UDP/TLS/RTP/SAVPF 96\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:gfsk\r\na=ice-pwd:3gi9cH5961v22qRbp04J7l6j\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B2:AB:54:6A:2D:14:FF:78:1D:4E:D4:4C:86:17:5A:EA:23:3A:F8:F4:59:EC:7B:DA:B9:04:DE:1D:5A:EB:B4:BB\r\na=setup:active\r\na=mid:video0\r\na=recvonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 H264/90000\r\na=rtcp-fb:96 nack pli\r\na=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\n","type":"answer"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:1 1 UDP 2013266431 fe80::1098:81e5:548f:8e6e 53951 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:2 1 TCP 1015024127 fe80::1098:81e5:548f:8e6e 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:3 1 TCP 1010829823 fe80::1098:81e5:548f:8e6e 59407 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:4 1 UDP 2013266430 fe80::40cb:b8ff:fe1d:80e8 48206 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:5 1 TCP 1015024126 fe80::40cb:b8ff:fe1d:80e8 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:6 1 TCP 1010829822 fe80::40cb:b8ff:fe1d:80e8 39053 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:7 1 UDP 2013266429 fe80::4dc6:23c4:716d:7e2d 43771 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:8 1 TCP 1015024125 fe80::4dc6:23c4:716d:7e2d 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:9 1 TCP 1010829821 fe80::4dc6:23c4:716d:7e2d 60575 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:10 1 UDP 2013266428 172.17.0.1 46006 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:11 1 TCP 1015022591 172.17.0.1 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:12 1 TCP 1010828287 172.17.0.1 46071 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:13 1 UDP 2013266427 192.168.1.38 40122 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:14 1 TCP 1015022847 192.168.1.38 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:15 1 TCP 1010828543 192.168.1.38 59627 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:16 1 UDP 2013266426 10.9.0.21 58715 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:17 1 TCP 1015023103 10.9.0.21 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:18 1 TCP 1010828799 10.9.0.21 59417 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGSending ICE candidate out (%s) {"candidate":"candidate:3832319896 1 udp 2122260223 6a2ec545-f6b3-48bf-a7db-ec62e7875565.local 58839 typ host generation 0 ufrag gfsk network-id 1 network-cost 900","sdpMLineIndex":0,"sdpMid":"video0","usernameFragment":null} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:19 1 UDP 2013266425 192.168.144.12 42596 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:20 1 TCP 1015023359 192.168.144.12 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:21 1 TCP 1010829055 192.168.144.12 39141 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGWebRTC connection state (%s) connecting ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:1 2 UDP 2013266430 fe80::1098:81e5:548f:8e6e 52137 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:2 2 TCP 1015024126 fe80::1098:81e5:548f:8e6e 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:3 2 TCP 1010829822 fe80::1098:81e5:548f:8e6e 54909 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:4 2 UDP 2013266429 fe80::40cb:b8ff:fe1d:80e8 35959 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:5 2 TCP 1015024125 fe80::40cb:b8ff:fe1d:80e8 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:6 2 TCP 1010829821 fe80::40cb:b8ff:fe1d:80e8 45659 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:7 2 UDP 2013266428 fe80::4dc6:23c4:716d:7e2d 49720 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:8 2 TCP 1015024124 fe80::4dc6:23c4:716d:7e2d 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:9 2 TCP 1010829820 fe80::4dc6:23c4:716d:7e2d 45209 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:10 2 UDP 2013266427 172.17.0.1 47324 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:11 2 TCP 1015022590 172.17.0.1 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:12 2 TCP 1010828286 172.17.0.1 39659 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:13 2 UDP 2013266426 192.168.1.38 48461 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:14 2 TCP 1015022846 192.168.1.38 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:15 2 TCP 1010828542 192.168.1.38 51337 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:16 2 UDP 2013266425 10.9.0.21 60625 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:17 2 TCP 1015023102 10.9.0.21 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:18 2 TCP 1010828798 10.9.0.21 36575 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:19 2 UDP 2013266424 192.168.144.12 51050 typ host"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:20 2 TCP 1015023358 192.168.144.12 9 typ host tcptype active"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:21 2 TCP 1010829054 192.168.144.12 53831 typ host tcptype passive"} ws://xxx.duckdns.org:8554/my_output LOGIncoming ICE (%s) {"sdpMLineIndex":0,"candidate":"candidate:22 1 UDP 1677722111 88.20.219.127 46006 typ srflx raddr 172.17.0.1 rport 46006"} ws://xxx.duckdns.org:8554/my_output

I have tried with several bitrate, providing the logs of the lowest one without getting the straming to show with 4/5G ( I have tried both from the mobile as well as sharing data with the PC). I have also tested that with home fiber, it works, but the moment I connect the external device via 4/5G network it stops, starting to show the pipeline full message.

From outside my local network, with another device connected to another home fiber, the streaming works well, even with the default bitrate, which makes me not quite understand the reason for the problem.

Best regards.