最近有朋友问小A:选购行车记录仪时,商家吹这个是.ts文件流记录,不漏秒很高级?那么ts文件到底是什么,为什么‘高级’?今天小A就来解释下。
.TS,一个多层打包的视频格式.
TS 文件,全称为 MPEG 传输流(Transport Stream)文件,最早是一种用于存储 MPEG-2 压缩视频数据的文件格式。它主要用于多媒体文件的传输和存储,特别是在数字视频广播和网络流媒体应用中。
不过现在,它更多也是一种封装格式,也称为MPEG2-TS于传输和存储音频和视频,以及程序和系统信息协议数据,实际上目前最新的显卡和CPU的编码器,已经可以将主流的H264和H265编码内容也封装进ts容器中以.ts文件的形式进行传播和存储了。
TS视频由三层组成:传输流层(TS层)、打包基本流层(PES层)和基本流层(ES层)。传输流层(TS层):每个TS包的大小固定为188字节,分为TS头、适配场和有效负载。打包基本流层(PES层):为每个视频/音频帧添加时间戳等信息。基本流层(ES层):包含原始的音频和视频数据,通常视频采用H.264编码,音频采用AAC编码。
强在传输环节
与普通的视频封装格式相比,TS 文件格式或者容器设计,用于通过不可靠的传输媒介传输视频和音频数据,如卫星、地面广播和网络流媒体。这是因为它具备容错功能,能够在部分数据丢失的情况下仍保持良好的播放质量。其原因也是前面我们提到的文件结构所决定的。
TS文件由固定大小的数据包组成,每个数据包为188字节。这种固定大小的结构有助于在传输过程中更容易管理和同步数据流。而且每个TS包的头部包含一个同步字节(sync_byte),用于帮助解码器识别数据包的开始。这有助于在数据流中快速定位和恢复。另外TS文件信息里还包含传输错误指示器(transport_error_indicator),可以标记数据包中是否存在无法纠正的错误。
另外,TS文件信息中还包含适应性字段和时间戳信息,这两个部分都可以存储视频和音频的准确时间流信息并相互印证,保证了图像的连贯性。而它还允许数据包冗余,TS流可以包含空包(无有效负载的数据包),这些空包可以用来填充数据流,确保数据包之间的间隔一致。在接收端,这些空包可以被忽略,从而减少传输错误的影响。
最后,TS格式支持容错机制,如前向纠错(FEC)和自动重传请求(ARQ),这些机制可以在数据传输过程中检测并纠正错误。
由于时间信息充分,TS文件在任意时间单位上切割拼接都很难遗漏视频流画面因此,TS 文件可以包含多路视频和音频流,并通过时间戳实现同步,确保音视频在播放时保持一致,在任意切割和组合时,也很少会丢失衔接视频画面帧和音频。
和MKV格式一样,由于它的包冗余度大,还可以包含其他数据,如字幕和交互式功能,使其成为多功能的容器格式。 实际上目前很多在线视频网站,都是用TS格式文件进行视频流的提供,可以减少视频的卡顿。
所以“高档”行车记录仪用 .TS 格式
回到读者的问题,通过上面的介绍,大家不难发现,.TS格式极大加强了纪录文件在向存储和观看媒介传输时的可靠性。由于同步字节和时间戳是按秒记录、校验视频信息,因此非常适合行车记录仪这种不能“漏过关键1秒”的设备进行视频录制。
由于 TS 格式具有良好的容错能力,适合在实时记录和传输过程中使用,确保在意外情况下仍能保持较好的视频质量。更重要的是TS 文件格式支持将视频分段存储后的高度可靠性,本质上是一种“流媒体”,对于长时间连续录制的监控系统和行车记录仪来说非常实用,能够方便地查找和回放特定时间段的录像,加上其纠错机制,在数据损坏时具有一定的自我修复能力,能够在部分数据丢失的情况下仍保持视频的可播放性,提高了行车视频的安全性和可靠性。
商家的宣传其实就是TS格式的同步字节和时间戳特性因此,的确有不少的中高端行车记录仪,没有采用AVI或者MP4封装格式,而是采用了H264/H265编码的TS格式来进行记录。
如何打开和播放 .TS 文件?
由于.TS文件也是一种封装容器形式,里面的视频是H264/VC1/H265等主流编码标准,因此实际上主流的视频播放器是能打开它的,只是由于部分播放器不认识这种扩展名,所以有时需要手动指定文件打开方式罢了。
要播放 .TS 文件,还可以使用以下几种常见的默认可以打开它的软件,比如VLC 媒体播放器、QQ影音、完美解码等。
TS 文件格式因其高效的传输和存储能力,在监控系统和行车记录仪中得到了广泛应用。它不仅能确保在不稳定的网络环境中保持视频质量,还能提供灵活的数据管理和保护功能。如果你需要高容错率的视频,在编辑后导出视频时,也可以考虑它。