[FFmpeg-user] multiple programs (ServiceXX) in a single TS?

Botkin Brad bradleycbotkin at gmail.com
Wed Aug 21 13:49:35 CEST 2013

Is there any way to coerce ffmpeg to copy existing PMTs from input streams into the output stream? I know I can move specific metadata from inputs to output, but I need to have two complete Program Map Tables.  I have two ATSC TS streams produced thusly:

CONVERT FLVs ---> ATSC TS, using Program #4:
./ffmpeg -i foo1.flv \
		-c:a aac -strict -2 -b:a 128k \
		-c:v mpeg2video -r 30000/1001 \
		-mpegts_service_id 3 -muxrate 19392636 -f mpegts -y \

./ffmpeg -i foo2.flv \
		-c:a aac -strict -2 -b:a 128k \
		-c:v mpeg2video -r 30000/1001 \
		-mpegts_service_id 4 -muxrate 19392636 -f mpegts -y \

Admittedly, I needn't have created the full 19.38 Mb/s framerate for each of them, but that was part of an earlier test just to make sure each TS would play fine through a system. And they do.

What I'd like it so merge them into a single TS that preserves both PMTs from the input files.  I don't seem to be able to reference the ServiceXX stream like I can the video and audio streams in the input files.

Is this possible with ffmpeg?

More information about the ffmpeg-user mailing list