处理、剪辑或是下载直播录播资源时,我们经常会遇到后缀名为 .ts 的视频文件。这类文件往往体积庞大,且许多常见的视频播放器或剪辑软件都无法直接兼容。面对这一痛点,将 TS 文件转换为通用性极强的 MP4 格式成为了刚需。
虽然市面上有许多图形界面的转换工具,但对于追求高效、无损和批量处理的用户来说,掌握专业的命令行工具才是终极解决方案。接下来简鹿办公将带你深入了解 TS 格式,并手把手教你使用强大的 FFmpeg 工具实现完美转换。
TS(Transport Stream,传输流)是一种标准的 MPEG-2 视频容器格式。它最初被设计用于在不可靠的网络环境或广播信号中传输音视频数据,因此具有极强的容错性。
TS 格式广泛应用于广播电视(如 DVB、ATSC)、卫星电视、蓝光光盘以及网络直播流媒体(如 HLS 协议)。它的核心优势在于能够实时纠正播放错误,确保音视频同步。然而,由于 TS 是一种相对古老且封装结构复杂的格式,它缺乏高效的编码方案,导致同等画质下文件体积较大,且在现代播放器和视频编辑软件中的兼容性较差。
FFmpeg 是一款免费、开源且跨平台的多媒体处理框架。它几乎支持所有已知的音视频格式的录制、转换、剪辑和流媒体推送。对于视频格式转换而言,FFmpeg 最大的优势在于其强大的“流复制”功能。
在将 TS 转换为 MP4 时,如果原视频的编码格式(如 H.264)本身已被 MP4 容器支持,FFmpeg 可以直接将音视频流从 TS 容器中“抽离”并重新“封装”进 MP4 中。这个过程不需要进行重新编码,因此转换速度极快(几乎是瞬间完成),且画质能够实现 100% 无损保留。
使用 FFmpeg 进行转换非常简单,只需在命令行(Windows 的 CMD 或 Mac 的 Terminal)中输入相应的指令即可。
1. 极速无损转换(推荐)
如果你希望保留原始画质并以最快速度完成转换,可以使用以下命令:
ffmpeg -i input.ts -c copy output.mp4
参数解析:-i input.ts 指定输入文件;-c copy 表示直接复制视频和音频流,不进行重新编码;output.mp4 为输出文件名。
2. 兼容模式转换(处理音频问题)
有些 TS 文件中的音频编码(如 AC3)可能不被部分 MP4 播放器支持。此时可以保留视频流,仅将音频转码为兼容性更好的 AAC 格式:
ffmpeg -i input.ts -c:v copy -c:a aac output.mp4
3. 强制重新编码(适用于画质压缩或修复)
如果原 TS 文件使用的是 MPEG-2 等老旧编码,或者你需要大幅缩小文件体积,则需要强制重新编码:
ffmpeg -i input.ts -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 192k output.mp4
参数解析:-crf 23 控制视频质量(数值越小画质越高,23 为默认平衡值);-preset medium 控制编码速度与压缩率的平衡。
除了上面的软件外那么还有其它工具支持 TS 转为 MP4 吗?当然有。你可以通过使用简鹿视频格式转换器中的视频格式转换功能批量转换 TS 视频为 MP4 或 MKV 等其它视频格式,同时你也可以通过使用软件中的视频合并功能来轻松合并多个 TS 视频文件为 MP4。
Q1:为什么使用 -c copy 转换后,MP4 文件无法播放或没有声音?
这通常是因为原 TS 文件中的音频编码格式(如某些特殊的 AC3 或 MP3 变体)不被 MP4 容器标准所支持。解决方法是放弃纯复制模式,改用 -c:v copy -c:a aac,让 FFmpeg 将音频重新编码为 AAC 格式。
Q2:如何批量将文件夹下的所有 TS 文件转换为 MP4?
对于 Windows 用户,可以新建一个 .bat 批处理文件,放入 TS 视频所在的文件夹并运行以下代码:
@echo off
for %%a in (*.ts) do ffmpeg -i "%%a" -c copy "%%~na.mp4"
pause
这会自动遍历当前目录下的所有 .ts 文件,并逐一进行无损转换。
Q3:转换后的 MP4 视频出现音画不同步怎么办?
TS 格式在录制或直播抓取时,可能本身就存在时间戳(PTS/DTS)的轻微错位。如果 -c copy 导致音画不同步,建议尝试去掉 -c copy,让 FFmpeg 对视频和音频进行完整的重新编码(即使用 -c:v libx264 -c:a aac),重新编码的过程会重新对齐时间戳,从而解决同步问题。