基于chrome的webrtc在web端能不能实现分辨率动态调整,回音消除等等
谢邀不懂
■网友
谢邀。但我首先得说抱歉,我最开始做WebRTC的时候,大概是2013年初的样子,虽然跟了那个案子两年多才放手,但后期我已经没有很仔细地研读相关的技术文档了。而WebRTC技术又是一个发展较快的新技术,所以我下面所说的内容可能已经是过时的了。1、还是必须要经过中转服务器对媒体流进行处理,能不能在web段进行处理呢?我假设你所说的对媒体流进行处理指的是“实现分辨率动态调整,回音消除”,那么我的答案是不能在web端进行处理,必须去中转服务器做。我原来在看WebRTC的API文档的时候,Chrome给的API还非常简单,真的是非常非常简单。基本上除了基本的媒体流捕获、链接建立、媒体流传输之外,就没什么别的接口了。 @Kanato 说客户端回声消除可以做,我不知道是怎么做的,起码我当时没有看到相关的API接口。我猜他说的是 Audio API吧,那套API确实有很强的音频处理能力,但是,WebRTC获取音频的API和Audio API完全没有任何关系,WebRTC并不能把Audio API的输出作为输入,所以我认为是不能做客户端回声消除的。2、如果有中转服务器,可以对媒体流进行二次处理吗?比如二次编码,自适应编码?可以。但是,你要注意Chrome本身支持哪些编码方式,显然并不是所有的编码方式他都支持。3、视频传输机制,chrome有没有做?还是传输方面,服务器端还要进行优化?从我之前做的案子的经验来看,Chrome在传输这块做得还是不错的,带宽的使用量并不是很大。当然,这个主要还是和视频的分辨率,质量,编码方式相关。传输需不需要优化,这个我建议你还是先自己搭个环境试试。我之前的案子的使用环境是高带宽(10M以上),低延迟的网络环境,如果你要把这个技术用在移动互联网上,可能还是会有些东西需要研究。最后,我要再强调一下以上观点都是基于我2013年所阅读的技术资料而得来的。很可能有已经过时的内容,仅供参考。
■网友
客户端是可以做优化的,调用的是web audio api 里面的createMediaStreamSource方法,具体怎么使用请参考Capturing Audio \u0026amp; Video in HTML5 - HTML5 Rocks
■网友
【基于chrome的webrtc在web端能不能实现分辨率动态调整,回音消除等等】 不能!所有的处理都是c++层做的
■网友
谢谢邀请。我结合我最近几年对webrtc的追踪简要回到下你的问题。希望对你能有所启发分辨率调整,回音消除都是有的(最近google刚引入了一个新的AEC,叫DA-AEC, 具体优势我正着手研究)以下我只讨论使用webrtc进行P2P的实时音视频处理1,还是必须要经过中转服务器对媒体流进行处理,能不能在web段进行处理呢? 分辨率的动态调整在webrtc中(包括chrome中)是在网络出现抖动,经过预测,判断出网络状态不好而进行的自动调整。比如,一开始是720P的,经过一段时间的侦测,判断为网络状态不好了,就会按照算法,降低通信的分辨率(同时发生的,还会降低相应的framerate)。 分辨率的调整是应对网络情况的,这个在webrtc中是自适应的。如果是由于你的业务逻辑要考虑分辨率的调整,只从js层面去做,应该是要重新建立peerconnection,再升高或降低分辨率。 至于你说的中转服务器,应该就是一个MCU的例子,引入MCU是肯定做到任何你想做到得流媒体处理,但是如何做好,做的智能,并且与webrtc结合,会是一条艰难地路。2,如果有中转服务器,可以对媒体流进行二次处理吗?比如二次编码,自适应编码? 有MCU得情况,这些当然是可以做的,问题是你需要清楚,MCU的加入会打断普通P2P的webrtc的整个通路,如何更好地把webrtc用到有MCU得架构中,是一个很深得课题。解决client-\u0026gt;MCU-\u0026gt;client这样的问题之后,二次编码,自适应编码都是现成的东西。请先去了解目前行业内现有的MCU产品,再去考虑用webrtc+中转服务器的解决方案。后者目前都有一些尝试,请自行google。 这里做个广告,可以去看看我司所做的尝试, intel CS solution for webrtc3.视频传输机制,chrome有没有做?还是传输方面,服务器端还要进行优化? 请再仔细考虑你的问题,引入MCU之后,有两方面的传输,chrome -\u0026gt; MCU, MCU-\u0026gt;Chrome,你需要定义两者之间的传输通道,目前来说你既然用了webrtc,两端都要符合webrtc的传输约定(rtp, rtcp),是否要做更多传输控制及特殊的优化,要结合你们自己的产品形态来判断。大概就这么多,希望能对你有所帮助。
推荐阅读
- |奥迪开发基于C-V2X校车警示系统
- 趣头条|海外媒体称大众正在开发两款基于MEB平台的小型车 ID.1与ID.2
- 基于OGRE的NeoAxis3D引擎和网易的NeoX引擎有啥关系吗
- 上汽大众|大众ID.3将于明年国产,基于MEB平台打造/三种续航
- 基于AGPL协议的开源软件版权归谁
- 使用chrome看视频时候,为啥出现卡顿
- 以前的山寨DVD播放机的超强纠错是基于啥原理的
- Chrome下HTTPS证书的“没有公开的审核记录”是啥意思
- 怎样在chrome里双击关闭标签和左键点击书签在新标签页打开
- 教学|读什么,怎么读,如何与学科教学相融合;基于学科的阅读
