HLS:没有 URI 的流是什么意思?

HLS: What is the meaning of a stream without URI?

在尝试为 iOS 视频播放器实现隐藏式字幕支持时,我遇到了 Apple 的示例流,我需要一些解释:

流是https://devimages.apple.com.edgekey.net/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8

下载主清单时,我看到这两行:

#EXT-X-MEDIA: TYPE=AUDIO,GROUP-ID="bipbop_audio",LANGUAGE="eng", NAME="BipBop Audio 1",AUTOSELECT=YES,DEFAULT=YES

#EXT-X-MEDIA: TYPE=AUDIO,GROUP-ID="bipbop_audio",LANGUAGE="eng", NAME="BipBop Audio 2",AUTOSELECT=NO,DEFAULT=NO, URI="alternate_audio_aac_sinewave/prog_index.m3u8"

谁能解释一下为什么第一个音频条目不包含 URI?

基本上,这意味着音频是视频的一部分 - 一个单独的音轨。

来自 HLS 规范的 section 4.3.4.2.1

If the media type is VIDEO or AUDIO, a missing URI attribute indicates that the media data for this Rendition is included in the Media Playlist of any EXT-X-STREAM-INF tag referencing this EXT-X-MEDIA tag. If the media TYPE is AUDIO and the URI attribute is missing, clients MUST assume that the audio data for this Rendition is present in every video Rendition specified by the EXT-X-STREAM-INF tag.