如何在浏览器里播放 .TS(MPEG-TS)文件——无需转码

작성자: OnlinePlayer Team
教程mpeg-tsts-文件视频格式浏览器播放
如何在浏览器里播放 .TS(MPEG-TS)文件——无需转码

如何在浏览器里播放 .TS(MPEG-TS)文件——无需转码

你手上有个 .ts 文件。它可能来自录播(PVR/DVR)IPTV 抓流行车记录仪、数字电视录制,或者一个分片下载下来的视频。你双击它没反应;拖进 Chrome,它又只是下载一遍。

.ts 这个后缀让很多人犯迷糊,一部分原因是它出现在两个完全不同的场景里。我们先把这点讲清,再让你的文件播起来——在浏览器标签页里、本地解码、不转码。

.TS 文件到底是什么

.tsMPEG 传输流(MPEG Transport Stream)。它是为广播传输设计的,不是为躺在硬盘上设计的。数字电视、IPTV、卫星都需要一种能被切成固定大小小包、在可能丢包的链路上传输的格式——于是 MPEG-TS 把视频和音频封进一连串 188 字节的包里,专为抗误码传输而生。

这跟 MP4 这种普通的"播放这个文件"的容器,是完全不同的活儿。.ts 里面的视频通常是 H.264HEVC——你浏览器经常能解的编码。但外面那层传输流封装<video> 标签作为独立文件是打不开的。

最让人犯晕的地方在这:浏览器确实能处理 .ts——但只能作为 HLS 播放列表(.m3u8)里的分片。单独一个 .ts 文件本身不是播放列表,所以浏览器没有东西能播它。如果你面对的是流媒体链接而不是保存下来的文件,该看的是我们的 HLS / m3u8 串流指南

所以:编码通常没问题,问题在容器——这和为什么 MKVAVI 也播不了是同一个主题。容器与编码的区别详见视频格式完全指南

常见做法——以及它们为什么烦

1. 重封装/转码(FFmpeg)

里面是 H.264 的 .ts 常常可以*重封装(remux)*成 .mp4 而不重编码。这比完整转码快,但仍然要跑命令行工具、生成第二个文件、还得知道正确的命令。谈不上拖放。

2. 传到在线播放器/转换站

要等整个文件上传到别人的服务器才能看——还附带常见的隐私和体积限制问题。行车记录仪和私人录像真不该走这一趟。

3. 装 VLC

VLC 能好好播 .ts。但还是那些事:要装、在受管电脑上被禁、手机上别扭、不能当链接发。

更好的办法:在本地解码传输流

OnlinePlayer 打开 .ts 的方式,是读取传输流、在你自己的设备上解码它,就在浏览器里——没有转码步骤、不上传、不装软件。

这里有个专属传输流的技术细节:MPEG-TS 文件会被直接送进本地解码器,而不是走一遍强制重编码(对这类容器来说,强制重编码往往会卡死)。从这里开始:

  • 硬件解码(WebCodecs)。 当里面的编码——通常是 H.264 或 HEVC——能在你设备上硬解时,就交给 GPU。播放流畅、省 CPU、对电池友好,HD/4K 录制也没问题。
  • 软件解码(WebAssembly 版 FFmpeg)。 硬解不了时,OnlinePlayer 走软件解码,现在用双 worker 并行,吞吐约 1.8×

一切都在标签页里完成,文件不离开你的电脑。 想了解硬解/软解怎么选,看硬解 vs 软解

分步操作:现在就播你的 .TS 文件

  1. 打开 onlineplayer.app(任意现代浏览器)。
  2. .ts 文件拖到页面上——或点击浏览。保存下来的 .ts在你设备上解码的,所以需要是本地文件;如果它在云盘里,先下载到本地,再拖进来。
  3. 开播——本地播放,什么都不上传。

如果你手上是 IPTV / 串流链接(一个引用 .ts 分片的 .m3u8),用链接播放流程粘贴链接——那是串流路径,和保存下来的 .ts 文件是两回事。

浏览器播 .TS vs. 其他方案

重封装/转码(FFmpeg) 在线转换站(上传) 装 VLC OnlinePlayer
看到第一帧的时间 命令行 + 新文件 要先传完整个文件 装好再打开 即时
隐私 本地 ✅ 文件在对方服务器 ❌ 本地 ✅ 本地——什么都不上传 ✅
省事程度 要知道正确命令 简单但慢 装完才简单 拖放即可
要装软件吗 要(FFmpeg) 不要 不要
受限电脑/手机能用 不能 有时 有限 能(就是个网页)

诚实的边界

  • 单独的 .ts 是保存下来的文件,不是直播流。 把文件拖进来本地解码;直播 IPTV/HLS 链接走 URL/串流路径。
  • 冷门或残缺的抓取可能不顺——广播抓取有时有丢包或时间戳异常。多数干净的录制都能正常播;损坏的抓取可能卡顿或跳帧。
  • 环绕声会被下混成立体声,和任何浏览器播放器一样。

FAQ

.ts 文件和 HLS 有什么区别? HLS(.m3u8)是个播放列表,把许多小的 .ts 分片串起来用于串流,浏览器懂这个。单独一个 .ts 文件只是一个没有播放列表的传输流片段,浏览器没法直接播——而这正是本地解码解决的问题。

我的 .ts 来自行车记录仪 / DVR,能播吗? 通常能。它们一般是传输流里的 H.264,解得很干净。本地解码,footage 一字节都不离开你的设备。

我得先把它转成 MP4 吗? 不用。直接打开,没有重封装步骤,硬盘上也不多一份文件。

我能不下载、直接播放云盘里的 .ts 吗? 不能直接流播——云盘播放只支持浏览器原生格式。先把 .ts 下载到本地,再打开它。

结论

.ts 在浏览器里播不了,是因为它是为广播而生的传输流,不是普通的播放容器——尽管里面的视频通常是你浏览器能解的编码。跳过 FFmpeg 的咒语和上传:用一个本地解码传输流的播放器打开它,大约一秒就播起来。

现在就去 onlineplayer.app 播放你的 .TS 文件 →