苹果电脑提取内封字幕首选MKVToolNix GUI(MKV格式)或FFmpeg(通用格式),QuickTime可快速验证字幕存在,B站CC字幕可通过Safari网页检查器抓取JSON后转SRT。

苹果电脑需要把视频里已封装的字幕轨道单独提取为SRT、ASS或SUP等独立文件,而不是从画面中OCR识别硬字幕——前者操作快、精度100%,后者耗时且易出错。
用MKVToolNix GUI提取MKV内封字幕
这是Mac上处理MKV格式最稳定、最直接的方法,专为提取内封字幕设计,不依赖网络、不上传视频、无隐私风险。
1、访问mkvtoolnix.download,下载并安装【MKVToolNix GUI for macOS】(注意选带GUI的版本,不是命令行版)。
2、打开MKVToolNix GUI → 点击左上角“添加”按钮 → 选择目标MKV视频文件。
3、在下方轨道列表中,逐行查看“类型”列,找到标记为“Subtitles”的轨道;若有多条,注意比对“语言”列(如zh、cht、jpn),勾选你真正需要的那一条;务必取消勾选视频和音频轨道,否则导出的是完整复用文件而非纯字幕。
4、点击右下角“开始复用”按钮 → 设置输出路径(建议选桌面方便查找)→ 等待进度条走完。
5、前往输出目录,你会看到一个与原视频同名但后缀为.srt、.ass或.sup的文件——这就是提取成功的字幕文件。若打开乱码,请用TextEdit以UTF-8编码重新打开,或改用Aegisub编辑。
用FFmpeg命令行提取任意格式字幕
适用于MP4、MKV、AVI等所有FFmpeg支持的容器格式,尤其适合批量处理或脚本自动化。
方法一:先确认字幕流编号
在终端中执行:ffprobe -v quiet -show_entries stream=index,codec_type:stream_tags=language -of csv=p=0 "你的视频.mp4" → 查看输出中codec_type=subtitle那一行的index值(比如是2)。
方法二:按索引提取为SRT
执行:ffmpeg -i "你的视频.mp4" -map 0:s:0 -c:s srt "字幕输出.srt" → 其中0:s:0表示“第0个输入文件的第0条字幕流”,若需提取第2条则改为0:s:2。
注意:若视频含PGS图形字幕(常见于蓝光rip),-c:s srt会失败,此时改用-c:s copy直接复制为.sup文件,再用PGS2SRT工具转换。
用QuickTime Player临时查看字幕内容(不可导出)
仅适用于快速验证视频是否真有内封字幕,不能保存为独立文件,但无需安装任何第三方工具。
1、确保系统为macOS Sonoma或更新版本。
2、用QuickTime Player打开视频 → 按Cmd+J调出检查器窗口 → 切换到“轨道”标签页。
3、若列表中出现“字幕”或“Subtitles”轨道,说明存在内封字幕;若只有视频、音频两项,则该视频不含可提取字幕,后续操作将无效。
这一步必须做,避免浪费时间尝试提取不存在的轨道。
从B站网页视频提取CC字幕(仅限UP主上传字幕)
此法绕过下载,直接抓取B站服务器返回的JSON字幕数据,全程在Safari中完成,不需插件或开发者工具扩展。
第一步:在Safari中打开目标B站视频页面,确保已登录且字幕开关开启(右下角有“CC”图标并点亮)。
第二步:点击菜单栏“开发”→“显示网页检查器”(若未显示“开发”菜单,请先在Safari“设置→高级”中勾选“在菜单栏中显示‘开发’菜单”)。
第三步:在检查器中切换到“网络”标签 → 在过滤框输入api.bilibili.com/x/web-interface/view?aid=或直接输json → 刷新页面。
第四步:在刷新后的请求列表中,逐个点击右侧预览,找包含body字段且内容为{"code":0,"data":{"font_size":...}}结构的项 → 展开body→data→body数组 → 复制全部字幕对象。
第五步:粘贴进在线JSON转SRT工具(如json2srt.com),上传后一键生成标准SRT文件,下载即可使用。











