转换为 hls 时,字幕中的 Ffmpeg 刻录不同步



我有一个文件,里面有字幕,它们完全同步。

这是文件。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 秒左右开始。

由于某种原因,FFMPEG 在写入时将 MPEG-2 传输流的演示时间增加了大约 1.4 秒。所以你的视频和音频迟到了。 如果将-muxdelay 0添加到 FFMPEG 命令行,则应解决同步问题。

相关内容

  • 没有找到相关文章

最新更新