You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ffprobe从MKV文件中提取字幕并像cat命令一样显示内容?

直接在终端打印MKV文件字幕内容(无需先导出)

首先明确:ffprobe做不到直接提取并打印字幕文本——它的核心作用是分析媒体文件的元数据、流信息,没有提取流内容并输出文本的功能。要实现和cat字幕文件一致的终端打印效果,得用ffmpeg来完成,步骤如下:

  1. 先用ffprobe确认字幕流的索引和格式
    先运行这条命令查看MKV里的所有字幕流信息:

    ffprobe -v error -select_streams s -show_entries stream=index,codec_name -of csv=p=0 input.mkv
    

    输出示例:

    0,srt
    1,ass
    

    这里0是字幕流索引,srt是字幕格式,根据你要选的字幕记下对应的索引。

  2. 用ffmpeg直接将字幕输出到终端
    根据字幕格式选择对应命令:

    • 如果是SRT格式字幕(对应索引0):
      ffmpeg -v error -i input.mkv -map 0:s:0 -f srt -
      
    • 如果是ASS格式字幕(对应索引1):
      ffmpeg -v error -i input.mkv -map 0:s:1 -f ass -
      

    命令里的-表示把输出定向到标准输出(也就是终端),执行后就能直接看到字幕内容,效果和用cat打开字幕文件完全一致。

注意:如果MKV里的字幕是图像型字幕(比如PGS格式),这种本身不是文本格式,没法直接输出成可阅读的文本内容,只能导出为图像文件,这种情况就不适用上述方法。

内容的提问来源于stack exchange,提问作者Felipe9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 15:47:05