Multiplexing multiple single video MPEG-TS into MPTS using ffmpeg -


i tried find solution multiplexing different inputs (ts) 1 mpts, can used input dvb-t modulator. basically, want select ts provided satellite receiver, repack them 1 mpts , send modulator. currently, have managed 1 stream, using following command:

  ~/datvrelease/ffmpeg \  -re -i url_single_input_ts_stream  -vcodec copy -acodec copy \  -f mpegts -mpegts_original_network_id 1 -mpegts_transport_stream_id 1 \  -mpegts_service_id 1 -mpegts_pmt_start_pid 1000 -mpegts_start_pid 1001 \  -metadata service_provider="your call" \  -metadata service_name="n1 (aleksandar)" \  ~/dvb/videots 

where videots fifo pipe produced mkfifo command. following code produced result on receiver side:

http://i.stack.imgur.com/bzugm.jpg

there -map function in ffmpeg can add multiple audio channels / or video channels, wont on receiver side detected different services tv channels, because in understanding adequate pmt table must created (iso13818)

the open source find 1 http://www.scara.com/~schirmer/o/mplex13818/ , still wonder if ffmpeg work me?

here basic command generate 1 mpeg2 ts file containing multiple programs.

ffmpeg -i firstinput -i secondinput \ -map 0:0 -map 0:1 -map 1:0 -map 1:1 \ -program title=progone:st=0:st=1 -program title=progtwo:st=2:st=3 \ -f mpegts mpts.ts 

belowing simple illustrations every option.

-i firstinput -i secondinput  

select source files contains elementary streams want multiplex output mpts

-map 0:0 -map 0:1 -map 1:0 -map 1:1 

select particular elementry streams want multiplex output mpts. streams indexed zero. here select first , second streams both files. correspond video , audio stream. see the advance options chapter of ffmpeg documentation , wiki -map.

-program title=progone:st=0:st=1 -program progtwo:st=2:st=3 

tell ffmpeg generate 2 programs in output mpts. here title gives service_name in sdt. st= specifies streams put in corresponding program. see the main options chapter of ffmpeg ddocumentation

-f mpegts 

tell ffmpeg use mpegts muxer in case cannot inferred suffix of output file.

the key options -map , -program multiplex several programs in 1 output. enhancement added in this commit according issue 4734 , issue 4525.

obviously more options can added tune behaviour, such codec type, bitrate control, quality control , etc.


Comments