Page 1 of 1

Save KLV data in stream to file

Posted: 27 Mar 2020 14:44
by kaltman
I'm trying to record a multicast stream that contains embedded KLV to a transport stream file. When I open the stream in the GUI and simply hit the "record" button, the KLV data are stored properly and everything is fine. But, when I try saving the stream using the command line, the KLV data are not recorded in the file. The command I'm using is:

cvlc udp://@stream_address --sout=file/ts:filename

Does anyone know if there are command-line options I need to include for the KLV data to record properly? Does hitting "record" in the GUI call a different save function that isn't available from the command line? Although the GUI works, I need the command line so I can start the recording from a Python script.

Thank you,
Eric

Re: Save KLV data in stream to file

Posted: 02 Apr 2021 06:42
by gronck
VLC does not recognize the klv data stream and will not save it. I have had success with FFMPEG for this purpose.

Re: Save KLV data in stream to file

Posted: 02 Apr 2021 13:05
by kaltman
In my experience, VLC does recognize KLV data. At least, the Windows GUI application does. I can open a network stream of video containing KLV data using VLC and, if I hit the record button on the GUI, the resulting file will contain KLV data. I've done this many times.

But, I have not been able to record the KLV data if I use VLC from the command line. Maybe it is an OS issue (I'm using the command line on Linux, versus the GUI on Windows). It's been awhile and I would have to go back to confirm what happens if I use the GUI on Linux and the command line on Windows. But, I seem to recall having the problem with the command line, regardless of the OS.

Like you, I ultimately found a solution using FFMPEG. But, I would still like to understand why the command line and "Record" button seem to behave differently.