我正在尝试使用ffmpeg
将mp4
文件转换为HLS
,添加字幕并将其放在master playlist
中。
我设法使其创建包含字幕的index_vtt.m3u8
文件,但它不想将流添加到master playlist
。
我是新来的,所以我不完全了解整个ffmpeg的工作原理(我主要是尝试在网上找到的一堆资源)
我正在使用以下命令:
../ffmpeg-4.2.1/ffmpeg -i ../input.mp4 -i ../subtitile.vtt -c:s webvtt -profile:v baseline -level 21 -s 1280x720 -start_number 0 -hls_playlist_type vod -hls_time 10 -hls_list_size 3 -f hls -master_pl_name master.m3u8 index.m3u8`
它会生成master.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=140800,RESOLUTION=1280x720,CODECS="avc1.42c015,mp4a.40.2"
index.m3u8
我可以在vlc中播放它,但无法识别任何字幕。
然后,我修改master.m3u8
,使其看起来像这样:
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-MEDIA:TYPE=SUBTITLES,URI="index_vtt.m3u8",GROUP-ID="default-text-group",LANGUAGE="hr",NAME="Croatian",AUTOSELECT=YES
#EXT-X-STREAM-INF:BANDWIDTH=140800,RESOLUTION=1280x720,CODECS="avc1.42c01e,mp4a.40.2",SUBTITLES="default-text-group"
index.m3u8
一切都很好。如何告诉ffmpeg
为我做这件事?