I'm currently working on a pipeline which could record a video stream
through a udpsink and mux it with a klv stream received through a udpsink
also. As long as both streams are received the recording works perfectly but
as soon as the klv stream stop (which could happen in the context of my
application) the recording stops.
I did some research and found that technically as long as my stream are
live-stream it could handle the interruption but it doesn't seems to be
working. Here is the pipeline I am using :
To stream the video I use the following pipeline :
gst-launch-1.0 -vm videotestsrc pattern=ball is-live=true ! video/x-raw,
width=300, height=300 ! x264enc tune=4 ! rtph264pay ! udpsink host=126.96.36.199
The KLV data comes from an application which sends it through udp.
I am wondering if there is an option or an element which could solve my
problem or if there is a mistake in my pipeline.
Re: Muxing h264 video with sparse klv with Mpegtsmux
I can't confirm this solution is entirely successful (still having troubles
with utilizing the KLV in playback), but I found the best way to do this is
to utilize an appsink/src, with the appsink accumulating the KLV as it comes
in from your source, and the appsrc pushing it out towards the muxer. The
trick is that whenever you do NOT have any KLV buffers stored in the
appsink, you will need to push a gap buffer (with the GAP flag) to the
muxer. This will ensure the video frames are continuously processed, as
every video frame will either be muxed with a real KLV buffer from your
source or a "fake" gap buffer.
I am playing with the webRTC demos found at https://gitlab.freedesktop.org/gstreamer/gst-examples/. When I run the janusvideoroom.py demo, I get an ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1122). This is obviously an issue with my NGINX reverse proxy. Has anyone had any experiencewith this? My python client ssl version is OpenSSL 1.1.1h22 Sep 2020 and appears to support TLSv1.3. I forced my NGINX to use TLS v1.3. However when I look at the connection in Wireshark, I see my client handshaking at 1.0 (or 1.2) but never 1.3.