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

Ffmpeg 如何将m3u8播放列表文件转换为视频片段,ffmpeg,Ffmpeg,我一直在试图找到解决方案,但无法解决如何从给定的m3u8文件中提取视频片段(例如mp4)的问题,其中视频从某个偏移量开始,并具有特定的持续时间。希望有人能帮忙 我试过这个: ffmpeg -i http://foo.herokuapp.com/input_test.m3u8 -acodec copy -vcodec copy -y -loglevel info -f mp4 myNewVideo.mp4 它生成视频,但现在我需要它从一个特定的偏移开始,并且需要持续一个特定的持续时间。我知道偏

我一直在试图找到解决方案,但无法解决如何从给定的m3u8文件中提取视频片段(例如mp4)的问题,其中视频从某个偏移量开始,并具有特定的持续时间。希望有人能帮忙

我试过这个:

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

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

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

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

ffmpeg-ss 00:00:30-ihttp://foo.herokuapp.com/input_test.m3u8 -T10-c拷贝-bsf:aac_adtstoasc-flags+global_头-y输出.mp4

如果输入是一个实时流,则:

ffmpeg-ihttp://foo.herokuapp.com/input_test.m3u8 -ss 00:00:30-t 10-c副本-bsf:a aac\U adtstoasc-标志+全局标题-y输出。mp4

在第二种情况下(
-ss
-i
之后)对输出执行寻道


如果要避免在执行命令时同时获取最新的3段,还可以在
-i
之前为实时流添加
-re

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

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

ffmpeg-ss 00:00:30-ihttp://foo.herokuapp.com/input_test.m3u8 -T10-c拷贝-bsf:aac_adtstoasc-flags+global_头-y输出.mp4

如果输入是一个实时流,则:

ffmpeg-ihttp://foo.herokuapp.com/input_test.m3u8 -ss 00:00:30-t 10-c副本-bsf:a aac\U adtstoasc-标志+全局标题-y输出。mp4

在第二种情况下(
-ss
-i
之后)对输出执行寻道


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

共享一些代码以更好地理解您的问题,请使用以下命令:ffmpeg-i-acodec copy-vcodec copy-y-y-loglevel info-f mp4 myNewMp3.mp4它可以工作。但是我需要输出从一开始的特定偏移量开始,视频需要一个特定的持续时间。将其发布到问题上,这样人们才能更好地看到它。请提供一些代码以更好地理解您的问题。我使用的是:ffmpeg-I-acodec copy-vcodec copy-y-y-loglevel info-f mp4 myNewMp3.mp4它可以工作。但是我需要输出从一开始的特定偏移开始,视频需要一个特定的持续时间。把它贴在问题上,这样人们才能看得更清楚