【问题标题】:Mp4 to dynamic adaptive hls with multiple bitrates using ffmpeg使用 ffmpeg 将 Mp4 转换为具有多个比特率的动态自适应 hls
【发布时间】:2017-09-18 09:41:05
【问题描述】:

我尝试将 mp4 视频转换为 HLS 以进行在线流媒体,我已使用 FFmpeg 成功完成。

命令:

ffmpeg -i /var/www/html/file_conversion/heli.mp4 -map 0 -profile:v baseline -level 3.0 -s 640x360 -c:v libx264 -b:v 500k -c:a libfdk_aac -b:a 320k -hls_list_size 0 -start_number 0 -hls_init_time 0 -hls_time 2  -f hls /var/www/html/file_conversion/hlstest2/heli.m3u8

但现在我正在尝试将同一视频转换为具有多个比特率的动态自适应流媒体。

知道如何实现这一目标吗?

【问题讨论】:

  • 感谢您的回复@slhck 我已经为高中低分辨率创建了 3 个不同的播放列表问题是我如何将它们全部组合成一个以创建具有多个比特率的主播放列表具有 .m3u8对于自适应比特率流,我感谢您为帮助我所做的努力
  • 阅读另一个问题的答案。那里说明了如何将播放列表合并为一个 .m3u8
  • 就像创建一个 dash manifest 来处理不同比特率的动态流

标签: ffmpeg video-streaming http-live-streaming adaptive-bitrate


【解决方案1】:

我也有同样的疑问,发现这篇文章: https://dev.to/nodir_dev/transcode-video-source-to-hls-playlist-format-for-video-on-demand-vod-streaming-3h99

制作转码文件后,只需创建一个*.m3u8文件,内容如下:

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=375000,RESOLUTION=640x360
360_out.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=750000,RESOLUTION=854x480
480_out.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2000000,RESOLUTION=1280x720
720_out.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3500000,RESOLUTION=1920x1080
1080_out.m3u8

现在只需将此文件发送到流。

我的 HLS 文件夹:

image_folder

content_of_master_file

我做了两种分辨率的转码:1280x720 和 640x480

- 文章作者:Nodirbek Sharipov

【讨论】:

    猜你喜欢
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    • 2015-05-24
    相关资源
    最近更新 更多