如何在不重新编码的情况下将额外的 5.1 音频添加到现有的 HLS 清单中?最初,我使用立体声音频对视频进行编码,其中音频被合并到视频文件中,没有单独的音轨。不过,我现在拥有 WAV 格式的 5.1 音轨,我希望将其集成到主 HLS 清单中。我的目标是为用户提供两种可用音频选项之间的选择:“立体声”和“环绕声”。您能否使用 AWS MediaConvert 控制台指导我完成此过程?
我尝试使用 AWS MediaConvert 编码 5.1 音频并将其 URI 添加到主清单中来实现此目的。然而,这个过程并没有产生预期的结果。
为了实现在所有视频再现中使用两种音频类型的目标,您将需要一个新的父 HLS 清单。重写父清单是一个有效的选择。重新转码整个资产还将生成一个新的父清单,对于大多数人来说通常更省力。
当您混合嵌入和单独的音轨时,某些播放器可能会忽略(不提供)单独的音频再现。最佳实践是将每个音频和视频轨道放在单独的文件组中,并在父清单中列出。
如果您选择仅生成环绕段,然后编辑现有的父清单,则更新后的父清单应类似于:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=2083792,AVERAGE-BANDWIDTH=1835949,CODECS="avc1.64001f,mp4a.40.2",RESOLUTION=1280x720,FRAME-RATE=24.000
MOV_1920x800muxed.m3u8
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="surround",LANGUAGE="eng",NAME="Alternate Audio",AUMOVELECT=YES,DEFAULT=NO,CHANNELS="6",URI="MOV_1920x800surround.m3u8"
上述清单有效。 VLC 播放器和 hls.js 都可以识别这两个音轨。请注意,hls.js 无法解码 AC3,但确实检测到它的存在。是否为观众提供切换到所提供的环绕声轨道的选项将由玩家决定。
对于大多数用户来说,使用离散视频和音频轨道重新编码资产是更简单的选择。