解析主播放列表文件后获取视频和音频的单独 url

Posted

技术标签:

【中文标题】解析主播放列表文件后获取视频和音频的单独 url【英文标题】:getting separate url of video and audio after parse the master playlist file 【发布时间】:2018-11-14 19:58:47 【问题描述】:

解析主播放列表后,我获得了单独的音频和视频网址,因此我无法播放特定质量的音频视频。实际上我想在播放器中实现视频的手动比特率控制,为此我解析主播放列表以获得不同比特率视频的 url。我从 Azure 媒体服务获取 HLS 文件,其中视频以不同的比特率编码。 下面显示了我的主播放列表的样子:

特定质量的视频网址仅包含视频片段而非音频。建议我如何从 Azure 媒体服务中检索带有音频的特定质量视频。

【问题讨论】:

【参考方案1】:

没错 - 当前的 HLS 规范要求在与分段的 MP4 片段或 TS 片段一起使用时,轨道不能混合在一起。

要恢复视频和音频混合在一起的轨道,您可以请求支持混合音频和视频 TS 段的 HLS 规范的非常旧版本。只需在 URL 上使用 format=m3u8-aapl-v3,并在需要时使用 audioTrack 指向要复用的特定音轨(可选)

/manifest(格式=m3u8-aapl-v3,audioTrack=audio_1)

另一个工作流程是提交“子剪辑”编码作业,然后返回一个正常的 Mp4 文件,其中音频和视频混合在一起。

请注意,尽管业界大多转向最新的 HLS 和 DASH 规范,这些规范指定所有轨道都是非混合的(单独的音频和视频轨道)。大多数流播放器支持最新的非混合 CMAF 风格的流HLS 和 DASH。

【讨论】:

感谢您的回复,经过大量搜索,我终于得到了解决方案。还有一件事我想问您,将来 format:format=m3u8-aapl-v3 会折旧吗?或将来我不能使用 format=m3u8-aapl-v3 将多路音频和视频混合在一起吗? 我们肯定会继续支持 v3,我们不能轻易弃用它,因为仍然有很多支持它的旧设备。但是您应该知道,Apple 的计划是完全迁移到 CMAF - 这将是根据 RFC 8216 https://tools.ietf.org/html/rfc8216#section-3.3 的未混合 Mp4 片段

以上是关于解析主播放列表文件后获取视频和音频的单独 url的主要内容,如果未能解决你的问题,请参考以下文章

从视频制作音频播客的服务? [关闭]

在android中一起播放音频视频

iOS利用FFmpeg解码音频数据并播放

在 HTML5 中使用音频标签时如何避免主播重新播放音乐?

Apple tv 音频停止

OpenCV中如何播放avi文件的音频