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”容器格式:

然后只保存结果。这也可以使用ffmpeg. 您只需要为每个流类型选择复制编解码器:
ffmpeg -i input.ts -vcodec copy -acodec copy output.mpg
Run Code Online (Sandbox Code Playgroud)
Ral*_*alf 37
.TS 文件在技术上只是 MPEG2 文件。您几乎可以使用任何转换器(avidemux、handbrake 甚至 ffmpeg 直接)。
但这样做的唯一原因是文件大小。Mpeg2 文件几乎无处不在。唯一令人困惑的部分是实际的文件扩展名。
您可以安全自由地将它们重命名为 .mpeg
附注。通过将其转换为 Matroska,您刚刚制作的其他系统上的人很难播放该文件。我明白选择一个免费的编解码器,然后选择合适的容器,但如果你把它保持在 MPEG2,为什么要将容器更改为相对晦涩的东西?
通过查看此论坛帖子,我可以将其制作成我已经使用的 matroska 文件。
ffmpeg -i input.ts -vcodec copy -sameq -acodec copy -f matroska output.ts
Run Code Online (Sandbox Code Playgroud)
尽管这些信息似乎表明我需要从源代码编译 ffmpeg,但我还是能够对其进行编码。这样做的缺点是它不对文件进行编码,因此该文件与 MPEG2 文件一样大。更多关于编码 .ts->MPEG4 的建议的答案会帮助我。