如何将m3u8播放列表文件转换为视频片段

时间:2015-08-12 20:18:06

标签: ffmpeg

我一直试图找出解决方案,但不能,如何从给定的m3u8文件中提取视频片段(例如mp4),其中视频从某个偏移开始并具有特定的持续时间。希望有人可以提供帮助。

我试过了:

ffmpeg -i http://foo.herokuapp.com/input_test.m3u8 -acodec copy -vcodec copy  -y -loglevel info -f mp4 myNewVideo.mp4

它会生成视频,但现在我需要从特定的偏移开始,它需要持续一段特定的时间。我知道偏移量可能需要-ss标志,但它似乎并没有起作用。

1 个答案:

答案 0 :(得分:2)

从30s(-ss)开始捕获的示例,持续时间为10s(-t)。

如果输入的HLS播放列表的类型为 VOD ,您可以执行以下操作:

ffmpeg -ss 00:00:30 -i http://foo.herokuapp.com/input_test.m3u8 -t 10 -c copy -bsf:a aac_adtstoasc -flags +global_header -y output.mp4

如果输入是实时流,则:

ffmpeg -i http://foo.herokuapp.com/input_test.m3u8 -ss 00:00:30 -t 10 -c copy -bsf:a aac_adtstoasc -flags +global_header -y output.mp4

在第二种情况下(-ss之后-i)对输出进行搜索。

如果您想在执行命令时避免一次性获取最新的3个段,也可以在-re之前为实时流添加-i