【发布时间】:2020-06-24 15:49:42
【问题描述】:
我想通过 HLS 自适应流式传输视频。
如果有合适的设备和足够的带宽,视频应该以高清和 5.1 声音呈现。
在带宽较低或不需要 5.1 声音的设备上,应使用较低的分辨率和立体声。
现在,我的主播放列表如下所示:
#EXTM3U
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="AUDIO",NAME="en 5.1",LANGUAGE="en",URI="audio/en_5.1.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="AUDIO",NAME="en 2.0",LANGUAGE="en",URI="audio/en_2.0.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="AUDIO",NAME="de 5.1",LANGUAGE="de",URI="audio/de_5.1.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="AUDIO",NAME="de 2.0",LANGUAGE="de",URI="audio/de_2.0.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="AUDIO",NAME="es 2.0",LANGUAGE="es",URI="audio/es_2.0.m3u8"
#EXT-X-STREAM-INF:BANDWIDTH=944846,AVERAGE-BANDWIDTH=933666,CODECS="avc1.64001E,mp4a.40.2",RESOLUTION=768x328,AUDIO="AUDIO"
video_0.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1269710,AVERAGE-BANDWIDTH=1252915,CODECS="avc1.64001F,mp4a.40.2",RESOLUTION=1024x436,AUDIO="AUDIO"
video_1.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2003662,AVERAGE-BANDWIDTH=1976439,CODECS="avc1.640020,mp4a.40.2",RESOLUTION=1600x682,AUDIO="AUDIO"
video_2.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2954190,AVERAGE-BANDWIDTH=2911727,CODECS="avc1.640028,mp4a.40.2",RESOLUTION=1920x818,AUDIO="AUDIO"
video_3.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=716238,AVERAGE-BANDWIDTH=709068,CODECS="avc1.640015,mp4a.40.2",RESOLUTION=512x218,AUDIO="AUDIO"
video_4.m3u8
但是,这显然不会产生正确的结果:
这 5 个音轨中的每一个都作为单独的演绎呈现给用户。
但是,只应呈现 3 个版本:“en,de,es”
5.1 和 2.0 之间的选择应该是自动的。
有没有什么方法可以通过 HLS 实现这一点?
【问题讨论】:
标签: video-streaming http-live-streaming