webrtc_sendrecv.py: Add picture-id-mode to rtpvp8pay
authorNirbheek Chauhan <nirbheek@centricular.com>
Tue, 15 Mar 2022 08:30:48 +0000 (14:00 +0530)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 18 Mar 2022 08:16:46 +0000 (08:16 +0000)
This doesn't just make TWCC stats perform better, it also fixes
stuttery video playback in Chrome.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1864>

subprojects/gst-examples/webrtc/sendrecv/gst/webrtc-sendrecv.c
subprojects/gst-examples/webrtc/sendrecv/gst/webrtc_sendrecv.py

index 98f2155..b51a345 100644 (file)
@@ -438,7 +438,8 @@ start_pipeline (gboolean create_offer)
        * fix corrupted video.
        */
       "vp8enc deadline=1 keyframe-max-dist=2000 ! "
-      /* picture-id-mode=15-bit seems to make TWCC stats behave better */
+      /* picture-id-mode=15-bit seems to make TWCC stats behave better, and
+       * fixes stuttery video playback in Chrome */
       "rtpvp8pay name=videopay picture-id-mode=15-bit ! "
       "queue ! " RTP_CAPS_VP8 "96 ! sendrecv. "
       "audiotestsrc is-live=true wave=red-noise ! audioconvert ! audioresample ! queue ! opusenc ! rtpopuspay name=audiopay ! "
index 7422fbc..b7c182f 100755 (executable)
@@ -34,7 +34,7 @@ except ImportError:
 PIPELINE_DESC = '''
 webrtcbin name=sendrecv bundle-policy=max-bundle stun-server=stun://stun.l.google.com:19302
  videotestsrc is-live=true pattern=ball ! videoconvert ! queue ! \
-  vp8enc deadline=1 keyframe-max-dist=2000 ! rtpvp8pay !
+  vp8enc deadline=1 keyframe-max-dist=2000 ! rtpvp8pay picture-id-mode=15-bit !
   queue ! application/x-rtp,media=video,encoding-name=VP8,payload=97 ! sendrecv.
  audiotestsrc is-live=true wave=red-noise ! audioconvert ! audioresample ! queue ! opusenc ! rtpopuspay !
   queue ! application/x-rtp,media=audio,encoding-name=OPUS,payload=96 ! sendrecv.