我有一个视频文件(video.mp4
)和一个字幕文件(subtitle.srt
)。
我想使用FFmpeg生成一个VoD HLS播放列表,其中包含三个不同分辨率的视频,并且我还希望将字幕文件转换为分段的.vtt
文件。
我尝试了以下命令,但它无效,没有任何进一步的信息,只显示“Conversion failed!”:
ffmpeg -i video.mp4 -i subtitle.srt \
-preset slow -g 60 -sc_threshold 0 \
-map 0 -map 0 -map 0 -map 1 \
-s:v:0 640x360 -c:v:0 h264 -b:v:0 500k \
-s:v:1 854x480 -c:v:1 h264 -b:v:1 1000k \
-s:v:2 1280x720 -c:v:2 h264 -b:v:2 2000K \
-c:a copy -c:s webvtt \
-f hls -hls_playlist_type vod -var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2" \
-master_pl_name master.m3u8 -hls_time 6 -hls_list_size 0 -hls_allow_cache 1 -start_number 1 \
-hls_segment_filename "output/hls/%v/seg-%d.ts" output/hls/%v/index.m3u8
我在FFmpeg文档或其他地方都找不到关于如何向HLS播放列表添加字幕的有用信息。确切的命令应该是什么样子的?我的命令缺少了什么?
[hls @ 000002689df607c0] 在两个不同的变量定义#0和#1中找到了相同的基本流 [hls @ 000002689df607c0] 变量流信息更新失败,状态为ffffffea 无法为输出文件#0编写标头(编解码器参数不正确?):无效参数 初始化输出流0:5时出错--
- jeff