如何将 .ts 文件转换为有用的文件?

Jor*_*tro 55 video format-conversion

我有一个以 .ts 结尾的文件,根据维基百科,它是一个MPEG2 文件。我从来没有遇到过这样的文件,所以我希望文件采用更常见的格式/容器,以便在多个设备上使用。

Kee*_*ook 41

我倾向于建议将文件保留在原始状态,因为任何转换都有可能导致损失。的.ts视频格式是一个容器为MPEG,被称为“传送流”,这是最经常使用通过数字广播系统(数字有线,卫星,等等)格式。许多应用程序不熟悉如何对其进行解码,因为它具有与称为“程序流”的更传统的 MPEG 容器非常不同的多路复用格式,后者用于 DVD,并且由许多编码卡产生。TS 和 PS 的区别仅在于数据包结构是如何构建的;里面的A/V数据是一样的。

为了获得更好的互操作性,我建议将容器从 TS 转换为 PS。几乎所有可以解码 TS 的软件都可以解码 PS,因此拥有 PS 文件几乎总是更好。我发现使用的最简单的重新混合工具之一是avidemux. 只需为视频和音频流选择“复制”,并为 MPEG 选择“PS”容器格式:

Avidemux

然后只保存结果。这也可以使用ffmpeg. 您只需要为每个流类型选择复制编解码器:

ffmpeg -i input.ts -vcodec copy -acodec copy output.mpg
Run Code Online (Sandbox Code Playgroud)

  • AFAIKT,使用该命令进行转换确实引入了损失。保持文件原样似乎是更好的选择,只要有一个播放器可以播放,而且我的所有播放器都可以播放。只是它缺少一个合适的图标:并且*那个*可以通过将扩展名重命名为“mpeg”来解决。 (2认同)

Ral*_*alf 37

.TS 文件在技术上只是 MPEG2 文件。您几乎可以使用任何转换器(avidemux、handbrake 甚至 ffmpeg 直接)。

但这样做的唯一原因是文件大小。Mpeg2 文件几乎无处不在。唯一令人困惑的部分是实际的文件扩展名。

您可以安全自由地将它们重命名为 .mpeg

附注。通过将其转换为 Matroska,您刚刚制作的其他系统上的人很难播放该文件。我明白选择一个免费的编解码器,然后选择合适的容器,但如果你把它保持在 MPEG2,为什么要将容器更改为相对晦涩的东西?

  • .ts 文件是 MPEG“传输流”;它与“程序流”(通常是 .mpeg)完全不是同一个容器。分辨率与它无关。传输流可以包含多个独立的视频/流组,并具有大量纠错数据(使 .ts 文件更大)。它们通常用于多路复用且传输介质可能不可靠的广播系统。对于(希望)确保文件完整性的 PC 使用,您将通过转换为节目流来节省空间并提高兼容性。 (36认同)
  • 这个答案是错误的。MPEG 有两种不同的容器格式:MPEG-PS(节目流)和 MPEG-TS(传输流)。MPEG-PS 文件可以是 .mpeg、.mpg、.vob 等。MPEG-TS 文件可以是 .ts、.mts 或其他格式。您不能简单地更改文件扩展名以在它们之间进行转换。但是您*可以*在不损失质量的情况下从一种重新混合到另一种,保留从一种容器格式到另一种容器格式的相同编码视频/音频流。顺便说一句,拉尔夫的建议可能*似乎*有效,但仅适用于忽略文件扩展名并支持两种格式的媒体播放器。 (24认同)
  • 根据谁的 MKV 是“默默无闻”的? (8认同)

Jor*_*tro 5

通过查看此论坛帖子,我可以将其制作成我已经使用的 matroska 文件。

 ffmpeg -i input.ts -vcodec copy -sameq -acodec copy -f matroska output.ts
Run Code Online (Sandbox Code Playgroud)

尽管这些信息似乎表明我需要从源代码编译 ffmpeg,但我还是能够对其进行编码。这样做的缺点是它不对文件进行编码,因此该文件与 MPEG2 文件一样大。更多关于编码 .ts->MPEG4 的建议的答案会帮助我。

  • 另外,输出文件没有理由具有“.ts”扩展名。“output.mkv”会更合适,也不会产生误导。 (6认同)
  • -sameq 在使用“copy”作为编解码器时不做任何事情。此外,它通常并不意味着人们认为它意味着什么——例如,它不会保留相同的“质量”,而是相同的“q”因子。 (5认同)