首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用破折号的流多声道音频

使用破折号的流多声道音频
EN

Stack Overflow用户
提问于 2016-05-24 10:49:39
回答 1查看 3.2K关注 0票数 10

我们正在创建一个基于web浏览器的音乐流服务,它将包含单独的、同步的音频轨道的文件进行流。这些文件基本上是mp4s,但有一些附加的框。

流将按照MPEG-破折号标准进行,希望不会重新发明轮子(例如,有dash.js)。

更新160525 -添加更多背景:

MPEG-破折号是该项目的一项要求,因为它的特性(适应性、轻松的服务器设置等)。因为我所从事的项目只使用MPEG标准。

流本身是静态文件的按需播放,即没有实时流.回放将有两种模式:静态模式,只播放轨道,和互动模式,用户将能够改变音量,摇摄等。目前,静态播放是可以的。

现在,流媒体同步的多声道音频似乎并不是最常见的事情,我遇到了几个问题:

1.遵循MPEG-DASH标准。

MPEG-破折号似乎高度关注视频流。

有没有我找不到的关于音频流的文件或指南?

2. HTML5元素与网络音频API

AFAIK,<video><audio>元素一次只支持一条音频。他们通过MediaSource.addSourceBuffer()提供了很多魔法,在这里,接收缓冲区的动态解码被处理.

解决这一问题的两种可能方法是:

  1. 使用多个<audio>元素并手动同步它们
  2. 使用Web (a)将缓冲区组合成发送到音频上下文目标的单个信号,或(b)为每个音轨创建AudioNodes并手动同步它们。这意味着我们必须处理解码

是否有其他或更好的方法来流多个同步音频?

3.利用现有图书馆

dash.js参考播放器遵循了DASH-AVC/264准则,据我所知,该指南解决了视频流问题,并将同时播放音频曲目的数量限制在一个。

它还使用了HTML5 <video>元素,这将导致上文2中的问题。

但是,它确实包含了大量的与破折号相关的特性,例如自适应流、MPD清单解析等。

dash.js是适合多声道音乐流的好选择,还是最终会被黑客攻击?

如果我误解了什么,我非常乐意回答问题或者被纠正!

EN

回答 1

Stack Overflow用户

发布于 2016-07-05 20:33:54

我知道的一些答案:

  1. 你是对的,破折号讨论主要集中在视频上,但只有音频的破折号仍然是非常可行的。
  2. a) MediaSource.addSourceBuffer (MediaSource.addSourceBuffer())绝对是实现JavaScript中单个源的破折号回放的正确方法。DASH和MSE是同时开发的,目的是协同工作。寻找更多关于MSE和破折号的参考资料。
  3. ( b)一旦通过MSE播放了单个破折号源流,那么就需要将两个源混合到一个输出中,这可能会使用Web Audio API,尽管我不太熟悉该API的细节。

我将补充一点意见,即在客户端合并两条轨道似乎不是一个好主意,除非您没有提到一些要求。在服务器端使用ffmpeg或类似的媒体服务器工具进行混合操作对我来说更有意义,这样您的客户端就只需要担心一个单一的流。如果需要同步不同的源流,那么在浏览器中实现JavaScript可能是不现实的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37411402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档