Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to GStreamer v1.20 #31

Merged
merged 8 commits into from
Apr 30, 2022
Merged

Update to GStreamer v1.20 #31

merged 8 commits into from
Apr 30, 2022

Conversation

danisla
Copy link
Member

@danisla danisla commented Apr 19, 2022

Notable changes:

  • Build gstreamer 1.20 from monorepo
  • Include gstwebrtcbin patch to add rtx-time to SDP per #7 comment.
  • Enable do-nack on transceiver to reduce stuttering/freezing on packet loss, thanks to @xhejtman.
  • Set RTP cap aggregate-mode to zero-latency to reduce RTP packetization overhead.
  • coturn-web now uses "?transport=tcp" param for turn URI to enable traversal of networks with UDP blocked.

New dependencies:

  • Need to apt-get install x264 in target images to use software encoder.

TODO:

  • Verify x264enc encoder option still works.
  • Verify nvh264enc encoder option still works.

@xhejtman
Copy link
Contributor

rtph264pay_caps.set_value("aggregate-mode", "zero-latency")
rtph264pay_caps.set_value("rtcp-fb-ccm-fir", True)

perhaps set these two as well

@danisla danisla marked this pull request as draft April 19, 2022 23:06
@danisla danisla marked this pull request as ready for review April 30, 2022 17:59
@danisla danisla merged commit d0703a4 into master Apr 30, 2022
@danisla danisla deleted the gst-1.20-do-nack branch April 30, 2022 17:59
@xhejtman
Copy link
Contributor

xhejtman commented May 1, 2022

are you seeing significant number of packet loss? my observation is that 10% of packet loss is way too much for smooth experience. does it change with bitrate? and are you seeing that nacks/pli is actually sent? this is available in chrome://webrtc-internals in statistics. Also you should see that only 2-3 key frames are sent in total.

@ehfd
Copy link
Member

ehfd commented May 1, 2022

@xhejtman Feels much better after improving my internet (resetting my router firmware).
It's smooth, with only very occasional tearing for a very brief time which doesn't impact the overall experience.

@xhejtman
Copy link
Contributor

xhejtman commented May 1, 2022

well, we cannot do much if connection sucks ;) perhaps we can optionaly enable FEC? But latency will suffer and I am not sure it actually helps a lot. But Geforce Now stream offers also FEC enabled stream. I wonder if and how we can offer several stream options?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants