ffmpeg hls主播放列表生成

问题描述 投票:0回答:1

使用最近的ffmpeg master分支(commit 7fcbeb),我们可以使用生成主播放列表

-master_pl_name

选项。但我无法使用不同的配置文件生成主播放列表。尝试使用

-var_stream_map

我们如何使用这些选项来创建具有不同配置文件的主播放列表?

我正在尝试使用以下ffmpeg命令:

# ./ffmpeg  -y -loglevel error -err_detect careful -analyzeduration 8000000 -probesize 4000000 -rtbufsize 300000 -flush_packets 0 -fflags +genpts+discardcorrupt -f mpegts -i test.ts -c copy -var_stream_map "v:0,agroup:aud_high a:0,agroup:aud_high" -ignore_unknown -flags global_header -f hls -master_pl_name master.m3u8 -master_pl_publish_rate 32 -hls_time 4 -hls_list_size 40 -hls_flags delete_segments /webserver/video0_%v.m3u8
ffmpeg hls
1个回答
2
投票

原因是因为如果要复制流(FF复制),FFMpeg无法计算出比特率。 HLS规范要求主播放列表中有带宽属性,因此FFMpeg不会在没有该信息的情况下写入主播放列表。

要解决这个问题,只需使用-b:v和-b:a设置比特率。流仍将从源复制,但FFMpeg将使用提供的数字并写入主播放列表。

见:https://trac.ffmpeg.org/ticket/7403

© www.soinside.com 2019 - 2024. All rights reserved.