Video freezes after packet loss

622 views
Skip to first unread message

Richard Screene

unread,
Jul 29, 2015, 4:34:04 AM7/29/15
to discuss-webrtc
Hello,

I have a Chrome (Canary 46.0.2468.0) application communicating with a FreeSWITCH MCU that loops back the video.

I can see from chrome://webrtc-internals that every 5 minutes or so I lose a packet in the receive stream.  At this point the video freezes for a period of around a minute (presumably until the next keyframe is received), at which point all is well until the next packet losss.

I'm guessing that, since FreeSWITCH does not (yet) support the VP8 NACK function, the requested frame is not re-transmitted and hence the video is frozen.  Is this right?  Obviously, a pause in the video stream is not ideal viewers.  Is there any way to get Chrome to render the best it can with the correctly received data.

Thanks,
  Richard

The following is the SDP from the call:
OFFER:
  v=0
   o=- 4521849333609738855 2 IN IP4 127.0.0.1
   s=-
   t=0 0
   a=group:BUNDLE audio video
   a=msid-semantic: WMS 6NzdlkAK3ymmHpLkEoqL3DF39UME9zDfDfZP
   m=audio 65440 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 126
   c=IN IP4 88.198.226.50
   a=rtcp:52915 IN IP4 88.198.226.50
   a=candidate:104687262 1 udp 2122260223 192.168.47.190 55204 typ host generation 0
   a=candidate:104687262 2 udp 2122260222 192.168.47.190 51804 typ host generation 0
   a=candidate:3400554765 1 udp 1686052607 62.133.6.178 56771 typ srflx raddr 192.168.47.190 rport 55204 generation 0
   a=candidate:3400554765 2 udp 1686052606 62.133.6.178 17177 typ srflx raddr 192.168.47.190 rport 51804 generation 0
   a=candidate:3400554765 2 udp 1686052606 62.133.6.178 34025 typ srflx raddr 192.168.47.190 rport 51804 generation 0
   a=candidate:3400554765 1 udp 1686052607 62.133.6.178 19676 typ srflx raddr 192.168.47.190 rport 55204 generation 0
   a=candidate:3400554765 1 udp 1686052607 62.133.6.178 52351 typ srflx raddr 192.168.47.190 rport 55204 generation 0
   a=candidate:3400554765 2 udp 1686052606 62.133.6.178 28495 typ srflx raddr 192.168.47.190 rport 51804 generation 0
   a=candidate:1220450926 1 tcp 1518280447 192.168.47.190 0 typ host tcptype active generation 0
   a=candidate:1220450926 2 tcp 1518280446 192.168.47.190 0 typ host tcptype active generation 0
   a=candidate:3014388187 2 udp 41885438 88.198.226.50 52915 typ relay raddr 62.133.6.178 rport 34025 generation 0
   a=candidate:3014388187 1 udp 41885439 88.198.226.50 65440 typ relay raddr 62.133.6.178 rport 19676 generation 0
   a=candidate:3014388187 1 udp 25108223 88.198.226.50 56584 typ relay raddr 62.133.6.178 rport 43187 generation 0
   a=candidate:3014388187 2 udp 25108222 88.198.226.50 49816 typ relay raddr 62.133.6.178 rport 59028 generation 0
   a=candidate:3014388187 1 udp 8331007 88.198.226.50 58728 typ relay raddr 62.133.6.178 rport 46773 generation 0
   a=candidate:3014388187 2 udp 8331006 88.198.226.50 61062 typ relay raddr 62.133.6.178 rport 61822 generation 0
   a=ice-ufrag:sU849CgHDfW97ZB/
   a=ice-pwd:s7S8Lx4ZyOo5n6umQAUejSNt
   a=fingerprint:sha-256 BF:BC:BC:7D:1D:DE:05:BB:15:A0:18:FF:24:D6:D1:98:96:0F:74:3D:94:35:D9:5D:8E:BF:E6:E9:C3:C3:7A:27
   a=setup:actpass
   a=mid:audio
   a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
   a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
   a=sendrecv
   a=rtcp-mux
   a=rtpmap:111 opus/48000/2
   a=fmtp:111 minptime=10; useinbandfec=1
   a=rtpmap:103 ISAC/16000
   a=rtpmap:104 ISAC/32000
   a=rtpmap:9 G722/8000
   a=rtpmap:0 PCMU/8000
   a=rtpmap:8 PCMA/8000
   a=rtpmap:106 CN/32000
   a=rtpmap:105 CN/16000
   a=rtpmap:13 CN/8000
   a=rtpmap:126 telephone-event/8000
   a=maxptime:60
   a=ssrc:256589774 cname:efn1wreJZEqQIq4B
   a=ssrc:256589774 msid:6NzdlkAK3ymmHpLkEoqL3DF39UME9zDfDfZP fcdcded3-bc6d-4f24-badb-479db3c26925
   a=ssrc:256589774 mslabel:6NzdlkAK3ymmHpLkEoqL3DF39UME9zDfDfZP
   a=ssrc:256589774 label:fcdcded3-bc6d-4f24-badb-479db3c26925
   m=video 64624 UDP/TLS/RTP/SAVPF 100 116 117 96
   c=IN IP4 88.198.226.50
   a=rtcp:51047 IN IP4 88.198.226.50
   a=candidate:104687262 1 udp 2122260223 192.168.47.190 62778 typ host generation 0
   a=candidate:104687262 2 udp 2122260222 192.168.47.190 54479 typ host generation 0
   a=candidate:3400554765 1 udp 1686052607 62.133.6.178 31721 typ srflx raddr 192.168.47.190 rport 62778 generation 0
   a=candidate:3400554765 2 udp 1686052606 62.133.6.178 64198 typ srflx raddr 192.168.47.190 rport 54479 generation 0
   a=candidate:3400554765 2 udp 1686052606 62.133.6.178 10073 typ srflx raddr 192.168.47.190 rport 54479 generation 0
   a=candidate:3400554765 1 udp 1686052607 62.133.6.178 53881 typ srflx raddr 192.168.47.190 rport 62778 generation 0
   a=candidate:3400554765 1 udp 1686052607 62.133.6.178 58839 typ srflx raddr 192.168.47.190 rport 62778 generation 0
   a=candidate:3400554765 2 udp 1686052606 62.133.6.178 59368 typ srflx raddr 192.168.47.190 rport 54479 generation 0
   a=candidate:1220450926 1 tcp 1518280447 192.168.47.190 0 typ host tcptype active generation 0
   a=candidate:1220450926 2 tcp 1518280446 192.168.47.190 0 typ host tcptype active generation 0
   a=candidate:3014388187 2 udp 41885438 88.198.226.50 51047 typ relay raddr 62.133.6.178 rport 10073 generation 0
   a=candidate:3014388187 1 udp 41885439 88.198.226.50 64624 typ relay raddr 62.133.6.178 rport 53881 generation 0
   a=candidate:3014388187 1 udp 25108223 88.198.226.50 57008 typ relay raddr 62.133.6.178 rport 54684 generation 0
   a=candidate:3014388187 2 udp 25108222 88.198.226.50 57875 typ relay raddr 62.133.6.178 rport 4821 generation 0
   a=candidate:3014388187 1 udp 8331007 88.198.226.50 64367 typ relay raddr 62.133.6.178 rport 7861 generation 0
   a=candidate:3014388187 2 udp 8331006 88.198.226.50 59050 typ relay raddr 62.133.6.178 rport 26524 generation 0
   a=ice-ufrag:sU849CgHDfW97ZB/
   a=ice-pwd:s7S8Lx4ZyOo5n6umQAUejSNt
   a=fingerprint:sha-256 BF:BC:BC:7D:1D:DE:05:BB:15:A0:18:FF:24:D6:D1:98:96:0F:74:3D:94:35:D9:5D:8E:BF:E6:E9:C3:C3:7A:27
   a=setup:actpass
   a=mid:video
   a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
   a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
   a=extmap:4 urn:3gpp:video-orientation
   a=sendrecv
   a=rtcp-mux
   a=rtpmap:100 VP8/90000
   a=rtcp-fb:100 ccm fir
   a=rtcp-fb:100 nack
   a=rtcp-fb:100 nack pli
   a=rtcp-fb:100 goog-remb
   a=rtpmap:116 red/90000
   a=rtpmap:117 ulpfec/90000
   a=rtpmap:96 rtx/90000
   a=fmtp:96 apt=100
   a=ssrc-group:FID 48989532 3573009012
   a=ssrc:48989532 cname:efn1wreJZEqQIq4B
   a=ssrc:48989532 msid:6NzdlkAK3ymmHpLkEoqL3DF39UME9zDfDfZP 5183849b-7f77-4a31-8407-f5a1a0d0a5ac
   a=ssrc:48989532 mslabel:6NzdlkAK3ymmHpLkEoqL3DF39UME9zDfDfZP
   a=ssrc:48989532 label:5183849b-7f77-4a31-8407-f5a1a0d0a5ac
   a=ssrc:3573009012 cname:efn1wreJZEqQIq4B
   a=ssrc:3573009012 msid:6NzdlkAK3ymmHpLkEoqL3DF39UME9zDfDfZP 5183849b-7f77-4a31-8407-f5a1a0d0a5ac
   a=ssrc:3573009012 mslabel:6NzdlkAK3ymmHpLkEoqL3DF39UME9zDfDfZP
   a=ssrc:3573009012 label:5183849b-7f77-4a31-8407-f5a1a0d0a5ac

ANSWER:
   v=0
   o=FreeSWITCH 1438127216 1438127217 IN IP4 148.251.20.113
   s=FreeSWITCH
   c=IN IP4 148.251.20.113
   t=0 0
   a=msid-semantic: WMS C5lf4XW7Ybk1CIcCFnvgPx3y4MrDjQsM
   m=audio 31320 UDP/TLS/RTP/SAVPF 111 126 106
   a=rtpmap:111 opus/48000/2
   a=fmtp:111 useinbandfec=1; minptime=10
   a=rtpmap:126 telephone-event/8000
   a=rtpmap:106 CN/8000
   a=ptime:20
   a=fingerprint:sha-256 9F:BE:65:16:10:80:FF:23:26:3D:CB:B1:0D:6B:8F:E2:59:43:5D:96:A4:22:3B:7F:4E:64:CC:A8:B7:C1:9F:98
   a=setup:active
   a=rtcp-mux
   a=rtcp:31320 IN IP4 148.251.20.113
   a=ssrc:1572860808 cname:LDSFqFCfGN68l9BR
   a=ssrc:1572860808 msid:C5lf4XW7Ybk1CIcCFnvgPx3y4MrDjQsM a0
   a=ssrc:1572860808 mslabel:C5lf4XW7Ybk1CIcCFnvgPx3y4MrDjQsM
   a=ssrc:1572860808 label:C5lf4XW7Ybk1CIcCFnvgPx3y4MrDjQsMa0
   a=ice-ufrag:mWX1jQqdtIHDo0gZ
   a=ice-pwd:tYvKtXQ0BNZNMquYciQmY7pi
   a=candidate:4874918799 1 udp 659136 148.251.20.113 31320 typ host generation 0
   m=video 29516 UDP/TLS/RTP/SAVPF 100
   b=AS:256
   a=rtpmap:100 VP8/90000
   a=fingerprint:sha-256 9F:BE:65:16:10:80:FF:23:26:3D:CB:B1:0D:6B:8F:E2:59:43:5D:96:A4:22:3B:7F:4E:64:CC:A8:B7:C1:9F:98
   a=setup:active
   a=rtcp-mux
   a=rtcp:29516 IN IP4 148.251.20.113
   a=rtcp-fb:* fir
   a=rtcp-fb:100 ccm fir
   a=ssrc:853802292 cname:LDSFqFCfGN68l9BR
   a=ssrc:853802292 msid:C5lf4XW7Ybk1CIcCFnvgPx3y4MrDjQsM v0
   a=ssrc:853802292 mslabel:C5lf4XW7Ybk1CIcCFnvgPx3y4MrDjQsM
   a=ssrc:853802292 label:C5lf4XW7Ybk1CIcCFnvgPx3y4MrDjQsMv0
   a=ice-ufrag:xaojPM4bJ82kmhPd
   a=ice-pwd:4lyprK6izBW0dMhAMvKs8FtI
   a=candidate:9977600336 1 udp 659136 148.251.20.113 29516 typ host generation 0

Peter Boström

unread,
Jul 29, 2015, 4:40:51 AM7/29/15
to discuss-webrtc

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/9ba0b15f-791b-44a0-b119-019010d07e1b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Richard Screene

unread,
Jul 29, 2015, 4:55:14 AM7/29/15
to discuss-webrtc, pb...@webrtc.org
Thanks Peter, that looks exactly like what I’m seeing.  I don't know why I couldn't find the issue.
Looking from the bug activity it looks like a fix is in progress.  I’ve upvoted the bug!

Peter Boström

unread,
Jul 29, 2015, 5:32:49 AM7/29/15
to Richard Screene, discuss-webrtc
I think the CL is too invasive as proposed right now, but hopefully we can get some fix for it in the not-too-distant future. Good to know this is a case that's cared about (which also means we have a good verifier).
Reply all
Reply to author
Forward
0 new messages