Al
SMSoftware Mansion
•Created by Al on 2/19/2024 in #membrane-help
WebRTC stream not working
I've hit an issue trying to get an MPEGTS stream displaying in the browser via WebRTC.
All seems to work, I can add the WebRTC endpoint for the stream, to the RTC Engine, the web client successfully connects, negotiates tracks, handles the offer and sdpanswer etc and I can add the transceiver for the stream to the RTCPeerConnection and get the MediaStream. When I add the MediaStream to the video element srcObject I get a blank screen with a spinner and see a continuous stream of
Didn't receive keyframe for variant:
messages on the server side:
Any clues as to what I'm missing would be greatly received.
For context, I followed the RTC Engine file example and have a main pipeline taking the video output from the MPEGTS demuxer and delivering it to a WebRTC endpoint bin.23 replies
SMSoftware Mansion
•Created by Al on 1/4/2024 in #membrane-help
Custom RTC Endpoint
Sorry, more random questions!
What's the best place to start when trying to get a custom endpoint to stream mpegts video in real-time to the browser?
I have a working pipeline for mpegts in a UDP stream rendering in the browser via HLS - basically UDP -> MpegTS -> Demuxer -> H264 Parser -> HttpAdaptiveStream. My application is real-time so the HLS lag is too much so WebRTC seems like the way to go.
I've had a look at the RTSP Endpoint and am trying to create an equivalent for MpegTS received via UDP but have hit the limit of my understanding. I add my endpoint to the RTC Engine and it initialises, connects to the UDP stream, gets the MpegTS PMT and I can happily demux and parse the H264 video and wrap it up with RTP. I'm guessing that I need to wait for handle_pad_added before finalising the pipeline to feed that out via a TrackSender. My question is does that handle_pad_added callback only get called if I connect the browser to the associated peer?
4 replies
SMSoftware Mansion
•Created by Al on 12/28/2023 in #membrane-help
HTTPAdaptiveStream issue with hls.js
I was wondering if anyone else has experieneced this issues with HLS?
I have a working pipeline generating HLS output which plays fine with Safari and it's native support for HLS.
However, when trying to get playback working in Chrome using hls.js it seems to stick at the buffering stage. It downloads the index.m3u8 file which looks like this:
but doesn't then download the reference
g3cFdmlkZW8.m3u8
file.
This is all using Core v 1.0.0. The HTTPAdaptiveStream Bin setup is:
4 replies
SMSoftware Mansion
•Created by Al on 12/5/2023 in #membrane-help
RTP stream
I'm trying to get a simple RTP stream pipeline working but hit the following error:
This appears to be due to the
ssrc_pt_mapping
being empty - how does this get populated? This is my initial pipeline:
The one key difference from the demo is I'm streaming an mpeg ts payload so payload type is 33. All works fine with ffplay
so I guess I'm missing something in the Membrane setup.12 replies