Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 如何将多个程序传输流(MPTS)文件重新多路复用到单个TS中?_Video_Ffmpeg_Vlc_Mpeg2 Ts_Multiplexing - Fatal编程技术网

Video 如何将多个程序传输流(MPTS)文件重新多路复用到单个TS中?

Video 如何将多个程序传输流(MPTS)文件重新多路复用到单个TS中?,video,ffmpeg,vlc,mpeg2-ts,multiplexing,Video,Ffmpeg,Vlc,Mpeg2 Ts,Multiplexing,我有多个从卫星接收器记录的MPTS文件,我需要从每个文件中挑选程序/服务/PID,将它们重新复用到单个MPTS文件中。或者,我可以从每个文件中获取所有服务并将它们添加到最终的MPT中(以防有人知道多路复用器不允许我挑选程序) 有人知道如何在windows或linux下使用开源或自由软件(例如VLC或ffmpeg)实现这一点吗?我最终使用了Oskar Schirmer@提供的多路复用器包,这是我能找到的唯一一个开源解决方案,我甚至不确定这个项目是否得到了维护,但它是有效的 在MPTS ts文件(到

我有多个从卫星接收器记录的MPTS文件,我需要从每个文件中挑选程序/服务/PID,将它们重新复用到单个MPTS文件中。或者,我可以从每个文件中获取所有服务并将它们添加到最终的MPT中(以防有人知道多路复用器不允许我挑选程序)


有人知道如何在windows或linux下使用开源或自由软件(例如VLC或ffmpeg)实现这一点吗?

我最终使用了Oskar Schirmer@提供的多路复用器包,这是我能找到的唯一一个开源解决方案,我甚至不确定这个项目是否得到了维护,但它是有效的

在MPTS ts文件(到另一个文件)中选择PID的确切命令是:

其中:

  • -F 500是发送PSI表(PAT和PMT)的时间(毫秒)
  • --文件1 source.ts指定一个输入文件(source.ts)并为其提供一个引用id(1)
  • --ts 1 2 13告诉命令文件1是ts,获取程序2并在输出上将其重新映射到程序13
  • 标准输出是结果ts,因此需要重定向到文件或管道
使用相同的命令,您可以一次重新多路复用多个MPTS流(只要您的系统能够跟上),因此一个简短的示例是:

iso13818ts -F 500 --file 1 source1.ts --file 2 source2.ts --ts 1 2 13 --ts 2 1 10 > dest.ts

它从文件1中获取程序2并使其成为程序13,从文件2中获取程序1并使其成为程序10并将生成的TS放入dest.TS

如果TS包含多个节目(DVB-T捕获的电视节目),如何分割它?例如,我有一个包含足球+烹饪+卡通的TS文件。如何将此TS文件拆分为3 mpg文件?
iso13818ts -F 500 --file 1 source1.ts --file 2 source2.ts --ts 1 2 13 --ts 2 1 10 > dest.ts