【发布时间】:2017-11-07 05:24:49
【问题描述】:
如果我使用以下 ffmpeg 命令为加密的 HLS 流创建三个输出,我如何能够创建 master.m3u8 变体播放列表(具有正确的带宽)?
./ffmpeg -re -i Test_1080p.mp4 \
-c:a aac -b:a 128k -c:v libx264 -s 1920x1080 -g 48 -keyint_min 48 -sc_threshold 0 -bf 3 -b_strategy 2 -b:v 7800k -maxrate 8600k -bufsize 7800k -f hls -hls_time 6 -hls_list_size 0 -hls_key_info_file enc.keyinfo ./1080p/index.m3u8 \
-c:a aac -b:a 128k -c:v libx264 -s 1280x720 -g 48 -keyint_min 48 -sc_threshold 0 -bf 3 -b_strategy 2 -b:v 4500k -maxrate 5000k -bufsize 4500k -f hls -hls_time 6 -hls_list_size 0 -hls_key_info_file enc.keyinfo ./720p/index.m3u8 \
-c:a aac -b:a 64k -c:v libx264 -s 640x360 -g 48 -keyint_min 48 -sc_threshold 0 -bf 3 -b_strategy 2 -b:v 730k -maxrate 800k -bufsize 730k -f hls -hls_time 6 -hls_list_size 0 -hls_key_info_file enc.keyinfo ./360p/index.m3u8
这是我找到的一些示例,但我认为 BANDWIDTH-Value 对于我的输出文件不正确。如何计算正确的带宽?
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=150000,RESOLUTION=640x360
http://example.com/360p/index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=240000,RESOLUTION=1280x720
http://example.com/720p/index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=640000,RESOLUTION=1920x1080
http://example.com/1080p/index.m3u8
Apple 的 variantplaylistcreator-tool 在这种情况下不起作用,因为我需要 .plist 文件,ffmpeg 不会生成这些文件。
我认为 ffmpeg 无法为生成的输出文件创建 master.m3u8 播放列表..
【问题讨论】:
-
你发现了吗?我还需要创建一个主 .plist 文件,但我也不能使用 variantplaylistcreator:/
标签: encryption ffmpeg video-encoding http-live-streaming m3u8