【问题标题】:How can you combine videos with different resolution into single HLS video?如何将不同分辨率的视频组合成单个 HLS 视频?
【发布时间】:2020-10-09 01:04:44
【问题描述】:
HLS 将视频分成多个短片段 (.ts) 文件。这些段中的每一个都可以具有不同的元数据。因此,例如,您可以在视频中途更改分辨率,播放器可以适应这一点。我有不同纵横比(因此分辨率也不同)的视频,我想将它们拼接成一个 HLS 视频。请注意,我不想简单地对所有内容进行信箱处理并将其组合成具有一种分辨率的单个视频。
我目前正在使用 ffmpeg,因此首选使用它的解决方案。
【问题讨论】:
标签:
ffmpeg
video-streaming
http-live-streaming
【解决方案1】:
RFC 8216:
4.3.2.3。 EXT-X-DISCONTINUITY
EXT-X-DISCONTINUITY 标签表示
紧随其后的媒体片段和之前的媒体片段。
它的格式是:
#EXT-X-DISCONTINUITY
EXT-X-DISCONTINUITY 标签必须存在,如果有变化
任何以下特征:
EXT-X-DISCONTINUITY 标签应该存在,如果有变化
任何以下特征:
关于客户行为:
媒体段中样本的编码参数
媒体播放列表中的多个媒体段应该保持一致。
但是,客户端应该按原样处理编码更改
例如,通过缩放视频内容以适应
分辨率变化。如果 Variant Stream 包含 RESOLUTION
属性,客户端应该在一个矩形内显示所有视频
与该分辨率相同的比例。