我有一个带有字幕的文件,它们已经完美地同步了。
这是文件。https://983yqbz442.s3.amazonaws.com/little-mermaid-captions.mp4
我运行这个命令进行转换为hls格式,它将创建.ts文件和.vtt文件。
ffmpeg -i little-mermaid-captions.mp4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8
我随后在同一文件夹中创建一个名为master.m3u8的文件,其内容如下。
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360,SUBTITLES="subtitles"
index.m3u8
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="ENG",URI="index_vtt.m3u8"
现在如果我播放master.m3u8文件,字幕就会失步,快了大约1秒。我知道这可能是我在FFmpeg中漏掉的设置,但我真的卡在这里了,希望能得到任何见解。
谢谢。
更多信息。
这是一个链接到直接.m3u8文件的链接,可以在Safari中打开。
https://983yqbz442.s3.amazonaws.com/hlstests/master.m3u8
生成的vtt文件在这里。https://983yqbz442.s3.amazonaws.com/hlstests/subs-0.vtt
如果您查看.vtt文件的开头,您会看到这个。WEBVTT
00:06.840 --> 00:10.320
once long ago in the deep blue below
它应该从00:06.840开始,但在Safari中播放.m3u8文件时,您应该看到它从大约5秒开始,而不是6秒,提前了约1秒钟。