ffmpeg - 创建指向其他 m3u8 文件的 m3u8 文件

标签 ffmpeg m3u8 http-live-streaming adaptive-bitrate

我正在创建一个 m3u8 文件,该文件根据带宽指向其他 m3u8 文件,如下所示

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:7
#EXT-X-MEDIA-SEQUENCE:4
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=500000,RESOLUTION=480x270
480x270.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000,RESOLUTION=640x360
640x360.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2000000,RESOLUTION=1280x720
1280x720.m3u8
#EXT-X-ENDLIST

我希望能够使用 ffmpeg 来做到这一点,但我似乎找不到任何关于这样做的信息。这可能是错误的方法,因此如果有人能指出我正确的方向,我将不胜感激。

最佳答案

2018 年 1 月更新

您现在可以使用 master_pl_name 直接使用 FFmpeg 创建主播放列表和var_stream_map 。请参阅documentation .


您还不能直接使用 FFmpeg 创建 HLS 主播放列表。您可以为多个比特率对同一源进行编码并获取每个变体播放列表,但您必须自己提供母带。

当然,生成的流必须对齐,以便您可以:

  • 使用固定 GOP 大小( -g <size> -sc_threshold 0 、x264 --keyint <size> --min-keyint <size> --scenecut -1 )

  • 如果适用,请执行 2-pass encoding using the same first pass statfile每第二次通过。如果您使用生成 statfile 来在所需比特率的中间进行再现,效果会更好,因为精度会有所损失。

关于ffmpeg - 创建指向其他 m3u8 文件的 m3u8 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30174236/

相关文章:

http-live-streaming - 如何为 HLS 创建字节范围的 m3u8 播放列表?

ios - 如何在iOS客户端上将外部WebVTT字幕添加到HTTP Live Stream中

php - 如何使用 php 从图像创建视频?

python - 按帧顺序制作视频

ffmpeg - 如何在不创建新文件的情况下创建 m3u8 字节范围播放列表

html - 在 ionic 4 中播放直播

ffmpeg - ffmpeg 将 mp3 文件拆分为 ts 文件的问题

linux - 将 ffmpeg 包含到项目时出错

由于 jpg 帧更改,ffmpeg 将 jpg 转换为 mp4 失败

javascript - 抓取 m3u8 文件的路径