gpt4 book ai didi

ffmpeg - 字幕和视频/音频 hls ffmpeg videojs 之间的延迟

转载 作者:行者123 更新时间:2023-12-04 22:58:17 31 4
gpt4 key购买 nike

我使用 ffmpeg 将视频转换为 hls 格式(m3u8),并使用 videojs 阅读此视频。但我有一个问题,字幕出现在真正的时间戳前 1.4 秒。
我执行这个命令来提取视频、音频和字幕:

ffmpeg -i [file] -map 0:1 -c:a aac -ar 48000 -b:a 320k -hls_time 2 -hls_segment_filename audio/1/seq-%d.ts audio/1/320kbit.m3u8 -map 0:2 -c:a aac -ar 48000 -b:a 320k -hls_time 2 -hls_segment_filename audio/2/seq-%d.ts audio/2/320kbit.m3u8 -map 0:s:0 -f webvtt sub.vtt -map 0:v:0 -vf scale=1920:-2 -c:v h264 -profile:v main -g 48 -keyint_min 48 -crf 20 -sc_threshold 0 -b:v 5000k -maxrate 5350k -bufsize 7500k -hls_time 2 -hls_segment_filename video/1080p/seq-%d.ts video/1080p/5000k.m3u8
这个命令将 substile 转换为 hls 格式
ffmpeg -i sub.vtt -f segment -segment_time 2 -segment_list_size 0 -segment_list my-hero/subtitles/sub.m3u8 -segment_format webvtt -scodec copy my-hero/subtitles/seq-%d.vtt
然后我创建一个播放列表文件来收集所有这些
#EXTM3U
#EXT-X-VERSION:3

#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-group",LANGUAGE="fre",NAME="Français",DEFAULT=YES,AUTOSELECT=YES,URI="audio/1/128k.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-group",LANGUAGE="jpn",NAME="Japonais",DEFAULT=NO,AUTOSELECT=YES,URI="audio/2/128k.m3u8"

#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Français",DEFAULT=yes,AUTOSELECT=YES,FORCED=NO,LANGUAGE="fr",URI="subtitles_fr.m3u8"

#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080,SUBTITLES="subs",AUDIO="audio-group"
video/1080p/5000k.m3u8
我没有看到问题,所以如果有人有想法:/

最佳答案

看我之前的回答:
Ffmpeg burnt in subtitles out of sync when converting to hls
由于某种原因,FFMPEG 在写入时将 MPEG-2 传输流的呈现时间增加了大约 1.4 秒。所以你的视频和音频都晚了。如果将 -muxdelay 0 添加到 FFMPEG 命令行,则应该可以解决同步问题。

关于ffmpeg - 字幕和视频/音频 hls ffmpeg videojs 之间的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62921064/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com