1

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

有人知道如何在 windows 或 linux 下使用开源或免费软件(例如 VLC 或 ffmpeg)来做到这一点吗?

4

1 回答 1

0

我最终使用了来自 Oskar Schirmer @ scara.com的多路复用器包,这是我能找到的唯一一个开源解决方案,我什至不确定这个项目是否正在维护,但它确实有效。

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

iso13818ts -F 500 --file 1 source.ts --ts 1 2 13 > destination.ts

在哪里:

  • -F 500 是以毫秒为单位发送 PSI 表(PAT 和 PMT)的时间
  • --file 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

于 2014-06-03T16:02:51.110 回答