WEBvtt 字幕文件以几个标题行开始,其中一个标题行指示语言:
WEBVTT
Kind: captions
Language: en
00:00:09.977 --> 00:00:11.563
I'd like you to take
a look at this gun.
00:00:12.564 --> 00:00:14.818
It's handcrafted to my
specifications.
但是 ffmpeg 不会检测语言。上述文件中的 ffprobe 输出未提及该语言:
ffprobe version 4.4.2 Copyright (c) 2007-2021 the FFmpeg developers
[...]
Input #0, webvtt, from 'Star Trek Continues E01 "Pilgrim of Eternity" [3G-ziTBAkbQ].en.vtt':
Duration: N/A, bitrate: N/A
Stream #0:0: Subtitle: webvtt
因此,当混编到视频文件中时,字幕流不会显示任何语言。
相比之下,MKVToolnix 在读取 webvtt 文件时会检测语言(尽管并不总是完美)
有简单的解决方案吗?我知道可以强制逐个语言流,但我真的在寻找一种自动解决方案。