我试图找到一种解决方案,将不同的输入 (ts) 复用到一个 MPTS 中,以便可以用作 DVB-T 调制器的输入。基本上,我想要的是选择卫星接收器提供的某些 TS,将它们重新打包成一个 MPTS 并发送到调制器。目前,我已经设法用一个流来做到这一点,使用以下命令:
~/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
其中 videots 是由 mkfifo 命令生成的 fifo 管道。以下代码在接收方产生了结果:
http://i.stack.imgur.com/BZugM.jpg
ffmpeg 中有一个 -map 功能,我可以在其中添加多个音频通道/或视频通道,但它们不会在接收器端被检测为不同的服务电视频道,因为据我了解,必须创建足够的 PMT 表(iso13818)
我能找到的唯一开源是这个http://www.scara.com/~schirmer/o/mplex13818/,但我仍然想知道 ffmpeg 是否可以为我做这项工作?