字幕排查 · 约 9 分钟

为什么下载的视频没有字幕?

判断网页字幕是烧录在画面中、内嵌在视频容器里,还是由播放器单独加载的 SRT、VTT 等文本轨道,并找到正确处理方式。

网页播放时能看到字幕,下载后的文件却没有,最常见的原因不是字幕“被删掉”,而是文字原本就不在视频文件里。很多网页播放器会另外读取一份带时间码的文本,再把它叠加到画面上。先检查本地文件是否包含字幕轨;如果没有,换播放器、改后缀或重复下载都不会凭空生成原来的文字与时间轴。

先分清三种字幕

画面字幕已经成为视频像素,无法单独关闭;内嵌字幕位于 MP4 等容器中,需要播放器识别;外挂字幕是单独的 SRT、VTT 或 ASS 文件,必须与视频一起保存并手动加载。三种情况看起来相似,处理方法完全不同。

先看关闭 CC 后文字是否还存在

在网页播放器关闭 CC,再观察同一段画面。文字仍然存在,说明它很可能已经烧录到画面;关闭后消失,则播放器正在显示可切换的文本轨。后者可能存放在媒体容器中,也可能是网页单独请求的文件,不能仅凭肉眼判断它会不会跟着 MP4 下载。

MDN 将 WebVTT 定义为带时间提示的纯文本格式,可通过独立 track 与视频同步。平台用这种结构可以在同一画面上提供多种语言、无障碍字幕和章节,而不用为每种语言重新编码一份视频。

YouTube 自动字幕还可能晚于视频出现。官方自动字幕说明列出了尚在处理、语言不支持、视频过长、音质较差、开头长时间静音和多人重叠说话等限制。因此,网页出现 CC 图标之前,应先确认具体语言轨道已经生成。

检查本地文件里到底有没有字幕轨

先打开播放器的“字幕”菜单。如果能选择语言,说明文件或同目录资源里很可能有字幕;菜单为空,但文件夹里存在同名 .srt.vtt.ass,需要手动加载。把字幕关闭后文字仍留在画面,则属于烧录字幕,播放器不会把它列成文字轨。

电脑安装 FFmpeg 后,可以在本地查询容器里的字幕流,不必把私人文件上传到陌生网站:

ffprobe -v error -select_streams s -show_entries stream=index,codec_name:stream_tags=language,title -of default=noprint_wrappers=1 your-video.mp4

命令列出语言或编码,说明容器中有字幕流;完全没有输出,说明没有识别到字幕流。它无法检测已经烧进画面的文字,也无法在下载结束后找回只存在于网页会话里的字幕地址。

Pullvio 当前会返回哪些内容

Pullvio 当前以公开来源实际可用的视频为主,YouTube 页面另有 Audio 模式;现有流程没有承诺输出 SRT、VTT、翻译字幕或字幕语言列表。所以下载结果可能完整保留画面和声音,但不会自动带上网页播放器单独加载的 CC 文本。

确认有权保存公开内容后,可以使用YouTube 视频下载器。界面没有字幕文件按钮时,不要连续提交同一链接来“碰运气”;相同的媒体请求不会把未声明的字幕资源变成视频附件。

视频没有字幕与视频没有声音不是同一问题。画面正常、声音消失时,应按照下载视频无声排查检查音轨;字幕只是与时间同步的文字数据。

自己的视频如何取得原字幕文件

如果视频由你上传到 YouTube,应进入 YouTube Studio 的“字幕”页面。YouTube 官方编辑和下载字幕说明提供了选择语言、打开选项并下载字幕文件的步骤。官方字幕格式说明列出的常见格式包括 SRT、SBV 与 WebVTT。

有些正版托管或购买页面会把视频与字幕作为两个下载项。Vimeo 的官方帮助明确要求分别下载视频和字幕,再在支持字幕的播放器中加载;发布者没有开放字幕下载时,则应联系发布者。

别人作品的字幕同样受到授权与访问边界约束。不要为了取一份文本导入账号 Cookie、抓取私人页面或绕过会员限制;向权利人索取对应版本的字幕文件更可靠。

外挂字幕存在时怎样正确加载

把视频与获得授权的字幕放在同一文件夹,尽量使用相同的基础文件名,例如 lesson.mp4lesson.zh-CN.srt。桌面播放器通常可从“字幕—添加字幕文件”手动选择;乱码时检查文件是否采用 UTF-8,以及播放器选择的字符编码。

字幕与画面逐渐错位,常常是文件版本不匹配。一份按 12 分 04 秒完整版制作的字幕,无法准确对应被剪成 11 分 57 秒的视频。应寻找针对同一剪辑版本的字幕;自己的内容可以复制一份字幕重新校时,但要保留原始轨道。

把字幕烧录进新视频能解决部分电视或旧播放器无法加载文字的问题,但之后不能自由切换语言、样式和开关。用于无障碍发布时,最好同时保存可编辑的原始文本轨。

什么时候应该停止尝试“修复视频”

ffprobe 没有字幕流、文件夹没有外挂字幕、文字也没有烧在画面里,就意味着本地文件没有可开启的字幕。改名或普通视频修复软件不能推断原文与精确时间。语音识别可以重新生成文字,但那是新转写,可能听错姓名、数字、口音和专业术语,不等于恢复平台原字幕。

涉及会议、未发布素材或私人对话时,不要随意上传到未知的在线转写网站。优先使用平台所有者工具或可信的本地流程,并由人工检查无障碍提示、说话人和时间轴。

未来如果 Pullvio 提供字幕附件,界面应明确显示语言和格式。在此之前,没有字幕下载按钮就是当前产品边界,而不是需要反复消耗请求的临时错误。

联系支持前准备哪些信息

请记录公开来源 URL、平台、网页字幕是人工还是自动生成、语言、Pullvio 模式、本地文件名,以及播放器菜单和 ffprobe 的检查结果,再通过联系页面反馈。不要发送账号 Cookie、私人链接、访问令牌或没有权利分享的媒体。

如果文件本身完全打不开,请改看MP4 无法播放排查。视频能正常播放、只有字幕缺失时,正确目标是找到对应且获得授权的文本资源,而不是修复视频画面。