[FFmpeg-user] SCTE-35 passthrough in transcoding process

Devin Heitmueller dheitmueller at kernellabs.com
Tue Jan 21 16:20:46 EET 2020

> That’s what we were seeing from our searching as well. I do know that there are vendors that output cable channels after decryption with a cable card, with SCTE-35 that are using FFMPEG in the backend code. Silicon Dust with the now discontinued PRIME units for an example. Does anyone know how this is being facilitated?

With some custom code it isn't hard to pass through SCTE-35 triggers,
largely dependent on whether you are reusing the stream timing from
the original incoming stream.  If your output stream as the same
timestamps as the incoming stream (i.e. using -copy_ts), then you can
essentially just copy the packet to the output unmodified without
having to parse the SCTE-35 payload.  However if you're retiming the
stream then you need to parse the packet, adjust the pts_offset field,
and then create a new packet.

And of course you need to modify the MPEG TS mux to adjust the PMT and
create the table sections, since SCTE-35 is done through tables as
opposed to through an elementary stream containing PES packets.

I've got patches which do this but they aren't upstream.


Devin J. Heitmueller - Kernel Labs

More information about the ffmpeg-user mailing list