[Libav-user] Setting mpegts_pmt_start_pid for hls segment/mpegts muxer or programmatically ?

Kalileo kalileo at universalx.net
Thu Jun 6 14:14:16 CEST 2013

The mpegts muxer  has the options (in ffmpeg cli)

     -mpegts_pmt_start_pid 0x1500 
     -mpegts_start_pid 0x150 
     -metadata service_provider="Some provider" 
     -metadata service_name="Some Channel" 

If you use the mpegts muxer indirectly, through the -segment options to create HLS, these options are not / have not been passed on to the mpegts muxer. 
In http://trac.ffmpeg.org/ticket/2230 there is a (recent) fix which passes through the metadata options.

However the options -mpegts_pmt_start_pid and -mpegts_start_pid are still not passed through. A scan through the source of avformat/segment.c shows only the passing through of the metadata, I see nothing about passing through the pid(s).

Did I misunderstand and there is a way to set mpegts_pmt_start_pid when using the segment muxer (in ffmpeg cli)?

Next question is, what is the equivalent to mpegts_pmt_start_pid when I don't use ffmpeg cli, but the libraries, in my own code. 

I only see AVFormatContext->ts_id, and that is not the PMT pid, but the Transport stream id, and it "will be moved into demuxer private options."

Is there any  way to set the PMT pid programmatically ?

Thanks for any hints!

More information about the Libav-user mailing list