技术原理 约 4 分钟
转码后字幕不见了:软字幕轨的去向
MKV 里明明有字幕,转成 MP4 就没了——字幕轨在重编码时的"待遇"和画面音轨完全不同。理解三种字幕的存在方式,就知道去哪找、怎么保。
三种字幕,三种命运
字幕在视频文件里有三种存在方式:外挂文件(独立的 SRT,与视频同目录)、内封软字幕轨(封装在 MKV/MP4 里的一条独立轨道,播放器可选开关)、硬字幕(烧进画面,成为像素的一部分)。
转码时它们的命运截然不同:外挂文件完全不受影响(它是独立文件);硬字幕随画面走,转码后依然在(还会被一起压缩);软字幕轨最脆弱——重编码工具默认只处理画面和声音,字幕轨如果不被显式支持就会被丢弃。
软字幕去哪了、怎么找回来
转码后字幕消失,先确认源文件的字幕形态:用轨道检测工具看源里有没有 subtitle 类型的流。有——字幕轨在转码时被丢弃了。找回的路径:从源文件单独提取字幕轨(轨道提取工具能按流导出 SRT/ASS),拿到独立字幕文件后再决定怎么用。
之后的路线按需求选:需要任何设备都能显示——烧进画面(硬字幕);需要可开关、多语言切换——重新封装回容器(转封装保留全部轨道)或外挂发布。纯转封装(remux)不重编码流数据,是保住全部轨道的零损失方案。
预防:处理前先盘点轨道
拿到多轨文件(MKV 最常见)先做一次轨道盘点:几条视频流、几条音轨、几条字幕轨、各自什么语言。盘点清楚再决定处理方案——要保留全部轨道就选转封装,要改编码就先提取字幕轨存好、转码后再封装回去。
发布给别人的文件尤其注意:你以为字幕"在视频里",对方拿到却是无声字幕的裸视频——多轨文件的"完整性"只在支持的播放器里成立。对外分发优先 MP4 + 硬字幕或 MP4 + 外挂 SRT 的组合。