如何将.ts文件转换成有用的东西?


51

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


1
这是个老问题,但是在2016年使用``普通''Ubuntu编解码器时,像VLC和SMPlayer这样的普通播放器可以.ts像这样播放文件,也许应该不理会它们,特别是当尝试投票最多的解决方案时结果不是很好... -我觉得有必要将扩展名重命名为mpeg只为他们获得适当的视频图标

@cipricus将此作为答案发布,我将其作为新接受的答案。
Jorge Castro

直接从无名称的“中国”卫星电视解码器录制到USB闪存驱动器时,通常会得到这种文件。因此,当试图从解码器中拿走文件以在其他设备上播放时,此问题在西非地区是相关的。
Martin Zaske

ts文件可以直接由VLC媒体播放器播放。您还可以使用将其连接ts到一个大ts文件cat *.ts > big.ts(如果名称不正确,在这里您可能需要使用索引文件m3u8来获取indre)。也可以使用将它们转移到mp4 。在这里参考我的答案tstscat *.ts | ffmpeg -i pipe: -c:a copy -c:v copy output.mp4
克里斯·屋顶

Answers:


33

从技术上讲,.TS文件只是MPEG2文件。您几乎可以使用任何转换器(avidemux,手刹,甚至直接使用ffmpeg)。

但是这样做的唯一原因是文件大小。Mpeg2文件几乎在任何地方都可以播放。唯一令人困惑的部分是实际的文件扩展名。

您可以安全地将其重命名为.mpeg

PS。通过将其转换为Matroska,其他系统上的人员很难播放该文件。我了解选择一个免费的编解码器,然后选择适当的容器,但是如果将其保留在MPEG2中,为什么将容器更改为相对晦涩的内容?


感谢您清理所有内容!重命名似乎正是我需要让视频播放器识别该文件。
Jorge Castro

35
.ts文件是MPEG的“传输流”;它与“程序流”(通常是.mpeg)根本不在同一个容器中。分辨率与它无关。传输流可以包含多个独立的视频/流组,并具有大量的纠错数据(使.ts文件更大)。它们通常用于广播系统,其中多个通道被多路复用,并且传输介质可能不可靠。对于(希望)确保文件完整性的PC使用,您将通过转换为节目流来节省空间并提高兼容性。
bobince 2010年

23
这个答案是错误的。MPEG有两种不同的容器格式:MPEG-PS(程序流)和MPEG-TS(传输流)。MPEG-PS文件可以是.mpeg,.mpg,.vob等。MPEG-TS文件可以是.ts,.mts或其他名称。您不能简单地更改文件扩展名以在它们之间进行转换。但是,您可以在不损失质量的情况下从一个容器重新复用到另一个容器,而将相同的编码视频/音频流从一种容器格式保留到另一种容器格式。顺便说一句,拉尔夫的建议似乎可行,但仅适用于忽略文件扩展名并仍然支持两种格式的媒体播放器。
thomasrutter 2012年

Kees Cook的答案是我建议遵循的答案。
thomasrutter 2012年

8
根据谁的MKV是“晦涩的”?
Andrea Lazzarotto 2014年

41

我倾向于建议将文件保留为原始状态,因为任何转换都有可能导致丢失。的.ts视频格式是一个容器为MPEG,被称为“传送流”,这是最经常使用通过数字广播系统(数字有线,卫星,等等)格式。许多应用都不熟悉如何解码它,因为它的复用格式与更传统的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

如何查看Avidemux的ffmpeg命令!
Dr.jacky

2
使用该命令进行转换的AFAIKT确实造成了损失。只要有一个可以播放该文件的播放器,而我所有的播放器都可以播放,则将文件保留为一个更好的选择。只有它缺乏一个正确的图标:与可以通过重命名扩展为“MPEG”来解决。

5

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

 ffmpeg -i input.ts -vcodec copy -sameq -acodec copy -f matroska output.ts

尽管有这些信息,但我仍然能够对此进行编码,似乎表明我需要从源代码编译ffmpeg。不利的一面是它不对文件进行编码,因此文件与MPEG2文件一样​​大。有关编码.ts-> MPEG4的建议的更多答案将对我有所帮助。


有关libx264示例(请参阅rob.opendot.cl/index.php/useful-stuff/…)(转换为MPEG-4 AVC或H.264)。或者,如果您想要一个不错的UI,请使用Avidemux,WinFF等。
bobince 2010年

5
使用“复制”作为编解码器时,-sameq不执行任何操作。同样,它通常并不意味着人们认为它意味着什么-例如,它不会保留相同的“质量”,而是保留相同的“ q”因数。
thomasrutter 2012年

6
另外,输出文件没有扩展名“ .ts”的理由。“ output.mkv”将更合适,并且减少误导。
thomasrutter 2012年

@bobince如何查看Avidemux的ffmpeg命令!
Dr.jacky

3

实际上.ts文件是由能够记录应答器流的DVB-S / DVB-S2调谐器创建的,并且可以包含mpg2 AC3 AAC h264 mp3以及其他数据,例如图文电视或EPG。.ts文件在大多数情况下仅包含AV数据,但不仅限于此。VLC可以直接播放ts文件,并向您提供有关其中某些流的信息。我个人使用的卫星调谐器将高清频道记录为.ts文件(h264视频以及大多数情况下的多个AAC mp3 mpg2音频流)。因此,基本上.ts文件可以包含许多不同的内容。它只是用于通过混乱媒体发送数字广播的容器格式。VLC还可以转换betwen格式(此操作由我自己完成)


1
请添加有关转换过程的详细信息。
安瓦尔2012年

1
关于TS格式的信息看起来都不错,只是没有提供有关实际转换过程的信息。
thomasrutter 2012年

1

我通常使用HandBrake将所有视频文件转换为iPhone兼容格式。也许您可以使用它将.ts文件转换为MP4。检查此HandBrake PPA进行安装。


0

DVB-S记录器产生的TransportStream文件的处理取决于所包含的视频和音频流。对于标清质量的素材,您可能可以使用由ProjectX和mplex组成的工具链将流转换为标准MPEG容器。如果视频流为高清,请尝试使用MKVMerge将其转换为MKV文件。两种方式都在此博客文章中进行了详细描述。


-2

ffmpeg程序已不推荐使用avconv

您可以传递相同的参数以avconv从传输流转换为程序流mpeg或matroska。

MPEG:

avconv -i input.ts -acodec copy -vcodec copy output.mpg

马特洛斯卡(Matroska):

avconv -i input.ts -acodec copy -vcodec copy output.mkv


5
出于好奇,被谁弃用?
托尔比约恩Ravn的安德森

8
Avconf是ffmpeg的一个分支,它仍然存在并且正在积极开发中。不要相信libav.org正在传播的FUD。见自己:ffmpeg.orglibav.org
托姆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.