WebRTCSink and Apple Safari

Has anyone had success using webrtcsink with the gst-webrtc-signalling-server and the gstwebrtc-api example HTML via webpack ?

Sending a simple test stream from GStreamer into this environment picks up fine and plays the stream in Chrome, but in Apple Safari it throws ICE candidate errors.

Replication:

  • signalling server on ubuntu 22.04
  • webpack / gstwebapi hosted on ubuntu 22.04
  • Gstreamer on ubuntu 22.04 : gst-launch-1.0 webrtcsink name=ws congestion-control=homegrown meta=“meta,name=gst-stream” videotestsrc ! ws. audiotestsrc ! ws.
  • Connect to index.html served by webpack
  • Compare playback of GStreamer webrtcsink source using Safari and Chrome on a recent macOS, or try on safari from iOS

Would be great to hear from anyone able to replicate this one way or the other.

Please provide more information about the errors. In this case, the actual error messages from Safari, the SDPs and ICE candidates that are exchanged and ideally also a GStreamer-side debug log with GST_DEBUG=webrtc*:9.

Also this should really be reported as an issue in gitlab. It’s supposed to work like this in Safari and there’s nothing special about your setup from what I can see.

Thanks for your response.

On inspection, the SDP and ICE negotiations appear to be similar between Chrome and Safari with no obvious error, so the issue must be a little more esoteric.

I have uploaded a full log for each of the component parts in the jigsaw here:
RTFD:

PDF:

As Sebastian mentioned, this should be discussed on gitlab, this discourse instance is not intended as an issue tracker :slight_smile:

For future reference: WebRTCSink and Apple Safari (#439) · Issues · GStreamer / gst-plugins-rs · GitLab

1 Like