MP4 里有没有可提取的字幕,取决于它是否带文本字幕轨——而大多数 MP4 并不带。本文告诉你如何在几秒内判断、有轨时怎么取出来,以及没有轨时如何从音频生成一份干净的 SRT。
别人说「提取字幕就行」,好像 MP4 里天生就装着字幕;折腾一小时工具后,我手上还是空的。
字幕已经烧进画面了,但我要把文字拿回来——用来翻译、用来校对,或者当成字幕文件复用。
文件里确实有文本轨,但是 mov_text,多数剪辑软件打不开,而敲 ffmpeg 参数不是我理想的下午。
上传、选语言,剩下交给 AI。无需安装任何软件。
几下点击就够了。
几下点击就够了。
几下点击就够了。
几下点击就够了。
「MP4 提取字幕」这件事名声不太好:无数页面承诺有诀窍,而对你手上那个具体文件,诀窍通常并不存在。只有两种情况。如果这个 MP4 带文本字幕轨——在 MP4 里通常是 mov_text(也叫 tx3g)流,广播和专业流程产出的文件里比较常见——那就可以无损复制出来,视频部分完全不动。如果没有,就没有东西可提取,任何软件都找不出文件里从来不存在的东西。而后面这种情况在现实中反而更常见:MP4 出现字幕的实际方式,是把字幕烧进画面(录屏、社交平台导出的成片、大多数下载来的视频),或者在外面附一个单独的 .srt。没有轨的时候,可行的路是自己做一条出来:转写音频,让时间轴由语音决定。把 MP4 上传到这里,得到的是时间轴与原视频一致的标准 SRT,可以逐句修改;只要文字的话还能导出 TXT。计费 1 积分 / 分钟音频,注册赠 20 积分。
在 VLC 里看「字幕 → 字幕轨」就知道自己属于哪条路,不用先浪费时间试工具:有具名轨道就可以提取,列表是空的就只剩生成一条路。
烧进画面的文字任何工具都提不出来——它已经是画面了。真正可行的做法是根据音频生成一份全新的 SRT,时间轴来自语音;当原子幕时间轴很糟时,这也正是你需要的东西。
生成的字幕就是普通字幕条目:改人名、拆长句、微调时间点都可以。而提取出来的轨道,往往连原来那些糟糕的断行和样式一并带过来。
先判断文件有没有文本字幕轨(VLC → 「字幕 → 字幕轨」)。有的话用一条 ffmpeg 命令就能无损取出,例如 ffmpeg -i input.mp4 -map 0:s:0 output.srt,视频部分完全不动。没有的话,提取这件事在物理上就不成立,字幕文字只能从音频生成——这正是本工具做的事。
因为大多数 MP4 从来就没有。MP4 里的软字幕用的是 mov_text 格式,主要来自广播、流媒体和专业制作流程。录屏、手机、社交平台下载来的文件,要么把字幕烧进了画面,要么就是视频旁边另附一个 .srt。
靠提取不行——文字是像素构成的,没有轨可以复制。可以做的是生成一份替代品:转写音频,得到时间轴取自语音的新 SRT。当原子幕时间轴很糟、语言不对、或者样式难看得没法用时,这也是常规的解决办法。
mov_text(也叫 tx3g)是 MP4 和 MOV 用来承载软字幕的时间文本格式。它就是带时间信息的纯文本,思路接近 SRT,但被当成容器里的一条流来封装——所以有些剪辑软件和转换器打不开它,需要用 -map 才能取出来。
会。时间点是根据音频里的语音生成的,所以 SRT 和你上传的视频是对齐的,而不是从某个随意起点开始。如果音频开头有一段静音或片头字卡,第一条字幕只是开始得晚一些,不需要平移。
可以导入 Premiere、剪映、Final Cut、达芬奇,或随视频一起上传到 YouTube,也可以留作母版。还能在保留时间轴的前提下翻成 67+ 种语言——如果视频里原本烧着旧语言的硬字幕,就把它擦掉,改烧翻译后的那一版。
我们仅使用本地存储保存您的登录状态与偏好,不使用追踪 Cookie,也不展示第三方广告。 详见 隐私政策
视语 SpeakVid 不使用追踪或广告类 Cookie,实际使用的存储仅以下一项。