WebRTC 音视频开发之路】的更多相关文章

早在2014年就通过WebRTC实现了PC客户端的实时视频语音,那时P2P连接的建立使用的WebRTC自带的libjingle库,使用peerconnection的API实现的.后来在做远程桌面,文件传输需要点对点建立连接,对libjingle库研究了一段时间,发现了几个问题: 1.libjingle库底层使用xmpp协议实现进行通道的建立,但是我们的客户端不支持xmpp协议: 2.libjingle库庞大,使得改写困难. 3.稳定性问题. 之后基于UDT库实现了一套p2p传输库,使用也非常方便…
大家如果有做过音视频相关的项目,那么肯定对 H.264 相关的概念了解的比较通透,这里我为什么还要写这样一篇文章呢?一来是为了对知识的总结,二来是为了给刚入门音视频的同学一个参考. 基础概念 H.264 又称为 MPEG-4 , 它是一种面向块,基于运动补偿的视频编码标准,是目前市面上最常用的一种视频编码格式,在 Android 中你可以通过 MediaCodec.createEncoderByType("video/avc") 的形式来创建一个编码器,也可以通过软编 avcodec_…
文章主要从开发者角度谈国内首届WebRTC大会,支持原创,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help. ---------------------------------------------------- 技术资讯里面这几天铺天盖地的WebRTC大会消息,一方面说明大会火热,另一方面说明webrtc这个东西很有市场, 本文主要从开发者角度用我一贯直白的语言跟大家解释一些大会相关信息,先从百度输入关键字webrtc,见下图(很火吧): -…
www.cnblogs.com/lingyunhu/p/3621057.html 前面介绍了WebRTCDemo的基本结构,本节主要介绍WebRTC音视频服务端的处理,,转载请说明出处(博客园RTC.Blacker). 通过前面的例子我们知道运行WebRTCDemo即可看到P2P的效果,实际应用中我们不可能让用户自己去里面设置对方的IP和音视频端口, 而且即使设置了对方的IP和端口也不一定能运行起来,因为P2P如果双方不在同一个网段则还需穿透NAT,那服务端具体该如何部署呢? 1.信令服务: 想…
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). 回顾:Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上) 连接网络摄像头 正如上文所提,我们选用一款简单的D-Link DCS-7010L网络摄像头.关键原因在于它支持RTSP协议,因此服务…
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). 从技术上来讲,使用网络摄像头进行在线广播并不需要WebRTC.摄像头本身就是一台服务器,它能够连接到路由器并在线传输视频内容.那么,为什么我们还需要WebRTC呢? 这至少有两方面原因: 1.随着观看网络广播的观众越来越多,网络带宽会逐渐不足.如果…
本文主要分析webrtc音视频点对点部分的代码结构,文章来自博客园RTC.Blacker,转载请说明出处. 前段时间在查一个偶尔断线的问题(这种问题最蛋疼,不好重现,只能凭经验去搞),所以理了下webrtc的P2P代码结构,总结如下: 先来张图显示实际会话过程中的两种通讯路径:P2P或转发,92%的情况下是通过P2P实现. 注意:实际通讯过程中每个客户端都会不停地发送和接收Stun包,这样做是为了维护响应的连接和端口. 实际通讯过程中的核心组件为P2PTransportChannel,他代表着本…
前段时间在搞webrtc iOS开发,所以将标题改为了Android IOS WebRTC 音视频开发总结, 下面都是开发过程中的经验总结,转载请说明出处(博客园RTC.Blacker): 1. IOS WebRTC音视频编译和下载: 有过android WEBRTC编译下载经验再去弄IOS,你会发现简单多了,再有问题,可参考: 1.1.http://www.cnblogs.com/ProbeStar/p/3411510.html  记住有MAC和IOS两个版本,要指定好你想要哪个版本. 1.2…
前面介绍了WebRTCDemo的基本结构,本节主要介绍WebRTC音视频服务端的处理,,转载请说明出处(博客园RTC.Blacker). 通过前面的例子我们知道运行WebRTCDemo即可看到P2P的效果,实际应用中我们不可能让用户自己去里面设置对方的IP和音视频端口, 而且即使设置了对方的IP和端口也不一定能运行起来,因为P2P如果双方不在同一个网段则还需穿透NAT,那服务端具体该如何部署呢? 1.信令服务: 想知道信令服务的作用前您先想想通讯双方彼此都不知道对方在哪里,怎么与对方建立连接,怎…
WebRTC 音视频开发 webrtc   Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). callstats是一家做实时通讯性能测阅读全文 posted @ 2016-07-…
python开发之路:python数据类型 你辞职当了某类似微博的社交网站的底层python开发主管,官还算高. 一次老板让你编写一个登陆的程序.咔嚓,编出来了.执行一看,我的妈,报错? 这次你又让媳妇下班叫上隔壁老王.隔壁老王最近赚钱多,脑子清晰多了. 隔壁老王:开除了,哥? 你:没有,没到那个程度,幸好我发现了. 隔壁老王:什么破事? 你拉着老王到你的书房,隔壁老王刷了一眼代码,呆板地执行了,大笑. 隔壁老王:哈哈哈.你老板没教过,哈哈哈,你吗,哈哈哈. 隔壁老王一把拉出椅子,坐在上面,改了…
随笔分类 - webrtc   Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). callstats是一家做实时通讯性能测阅读全文 posted @ 2016-07-22 08:…
本文主要介绍自己为什么选择创业,文章最早发表在我们的微信公众号上,支持原创,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.rtc.help 2016.06.01对公司来说是个很重要的日子,我们正式搬到了科技园(科苑北兰光科技园),意味着要正规运作了,意味着真正的创业开始了,意味着有机会迎来爆发了(这算画饼吗?呵呵呵!). 坐在办公桌前一边规划着未来,一边回忆着过去的点点滴滴,发现现在正在做的并不是当初所规划好的,但又都是水到渠成的,所以在感叹缘份的同时,又增添了对未来的信…
Android上的音质一直被大家所困扰和诟病,这里面有很多原因, 下面是最近一位前UC同行发邮件跟我交流的一些记录,供参考,支持原创,文章来自博客园RTC.Blacker,转载请说明出处. 以下文字来自邮件,为便于阅读和理解,略有整理: "Blacker,您好,本人一直从事音视频算法的处理与研究,包括H264视频,语音抑制,回音消除,噪音处理等分支.最近已经转向webrtc了,对webrtc也算是相对熟悉了.不过我在利用webrtc模块来开发时,遇到了一个音频采集的问题.不知道你是否遇到了,你们…
下面这篇介绍webrtc的文章不错,我花了大半天翻译了一下. 翻译的时候不是逐字逐句的,而是按照自己的理解翻译的,同时为了便于理解,也加入一些自己组织的语言. 本文主要介绍webrtc的信令,stun,turn,转载请说明出处(博客园RTC.Blacker). 英文来自:http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/ WEBRTC支持点对点通讯,但是WEBRTC仍然需要服务端,因为: 1,为了协调通讯过程客户端之间需要交…
本文主要介绍WebRTC中丢包重传NACK的实现,作者:weizhenwei ,文章最早发表在编风网,微信ID:befoio 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). 在WebRTC中,前向纠错(FEC)和丢包重传(NACK)是抵抗网络错误的重要手段.FEC在发送端将数据包添加冗余纠错码,纠错码连同数据包一起发送到接收端:接收端根据纠错码对数据进行检查和纠正.RFC5109[1]定义FEC数据包的格式.NA…
本文主要介绍WebRTC中的RTP/RTCP协议,作者:weizhenwei ,文章最早发表在编风网,微信ID:befoio 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). 一 前言 RTP/RTCP协议是流媒体通信的基石.RTP协议定义流媒体数据在互联网上传输的数据包格式,而RTCP协议则负责可靠传输.流量控制和拥塞控制等服务质量保证.在WebRTC项目中,RTP/RTCP模块作为传输模块的一部分,负责对发送端…
作者:blaker,最早发表在我们的微信公众和[编风网],详见[这里] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). 靠不靠谱这个问题一直被问到,其实很难一两句话说清楚,因为答案不是一个靠谱或不靠谱可以回答好的,既然被反复问到,今天就系统地整理参考答案. 从大的方向看WebRTC是非常靠谱的,原因如下: 1.使跨平台.跨浏览器通讯成为可能,而且大大加速了这个进程,这就是GoogleWebRTC大受欢迎的主要原因…
本文最早发表在我们的微信公众号上(微信ID:blackerteam),支持原创,详见这里, 2016年6月9日是WebRTC开源5周年的日子,Google WebRTC负责人Harald在社区里面写了一篇文章总结这几年的进展,并附上了自己5年前同样场景下写的一篇文章.为了便于大家更好理解过去5年在WebRTC上都发生了什么,我将这两篇给翻译过来了. 友情提醒:整个翻译并不是逐字逐句进行的,而是在理解了作者的意思后用自己的语言表达出来的,因为如果逐字逐句可能很多意思我们都无法正确理解.这就是为什么…
本文主要总结咨询过程中的一些问题,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam 韩国电信巨头sk想了解国内移动互联网rtc现状,所以上周请我过去给他们的相关人员做场咨询,包括市场和技术两个层面, 下面是我们交流的一些内容,整理出来供参考,内容有删减,主要基于以下2个原则: 1.为客户保守商业秘密: 2.避嫌,原因大家都懂的: 具体内容如下: 第1部分:关于行业现状的理解: 1.1.随着移动互联网的快速发展,越来越多的行业或场景需要用到音视频和实时通讯,比如…
本文主要总结目前都有哪些使用场景用到webrtc,文章最早发表在我们的微信公众号上,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com webrtc只是一个工具,帮我们实现实时通讯和音视频的相关功能,所以最终用户根本不用关心webrtc, 也许有一天实现这些功能的更好工具出现了,很多开发人员会放弃webrtc,从这个角度看webrtc能走多远我不知道. 对国内外webrtc现状感兴趣的朋友可以回头看看我之前写的两篇文章: 大数据揭秘国内webrt…
本文主要介绍国外实时通讯行业现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 上篇文章我们采用百度搜索指数来分析国内webrtc现状,得到不少同行认同,所以我们今天决定采用同样的方法来分析国外webrtc现状,不过这次的数据源来自google趋势,另外分析的同时会将国内与国外进行比对,让大家更好地了解两者之间的差异: 图表1:2005年-21015年的搜索趋势 分析说明: 1.整体趋势与国内一样,2011年…
本文主要介绍音视频行业招聘现状,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 有过音视频人才招聘经验的应该都深有体会,招人难,招音视频人才更难,这里有很多客观原因,也有很多主观原因. 下面将我之前的一些经验进行总结,一方面让企业以后在招聘的时候能够对症下药,另一方面让我们开发人员更了解市场行情. 先看客观原因: 1.人才供不应求,比如:很多公司想找熟悉webrtc的人才,但很多开发人员都没听说过webrtc.…
本文主要介绍webrtc应用状况,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com WebRTC是个好东东,就好比是一个免费的蛋糕,下面让我们来看看大家都在怎么吃? ps:文中部分的信息由内部小伙伴提供,非来自官方渠道,官方渠道的信息都太官方,原因你懂的! 国外的情况我们在前面也介绍过,google刚推出WebRTC的时候巨头们要么冷眼旁观,要么抵触情绪很大,但几年下来看到发展势头这么猛,态度也都有所转变了,比如…
本文主要介绍一种QoS的解决方案,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help QoS出现的背景: 而当网络发生拥塞的时候,所有的数据流都有可能被丢弃:为满足用户对不同应用不同服务质量的要求,就需要网络能根据用户的要求分配和调度资源,对不同的数据流提供不同的服务质量: 1.对实时性强且重要的数据报文优先处理: 2.对于实时性不强的普通数据报文,提供较低的处理优先级,网络拥塞时甚至丢弃. 为了满足上述需求,QoS出现了,定义如下: QoS…
本文主要分析webrtc中的抗丢包与带宽自适应原理,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help 文章内容主要来自中国电信北京研究院丁博士在上周六的技术交流会上的演讲内容,之前我们有在公众号上介绍过这个技术交流会,详见:http://mp.weixin.qq.com/s?__biz=MzA5ODMzMjE1NQ==&mid=401152241&idx=1&sn=38dd10e369d3f8e308a6086e8498407…
本文主要是整理自国内首届WebRTC大会上对Daniel的一些专访,转载必须说明出处,欢迎关注微信公众号blacker,更多说明详见www.rtc.help 说明:以下内容主要整理自InfoQ的专访,为了方便大家更好理解有些地方我加入了一些说明或做了特别标记. 问题1: InfoQ:JavaScript 之父 Brendan Eich(Mozilla 前 CTO)曾说过,“WebRTC is a new front in the long war for an open and unencumb…
本文主要介绍ffmpeg,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,个人微信公众号blacker,更多详见www.rtc.help 说明: ps1:如果直接从webrtc开始学习音视频,你可能没听过ffmpeg,也不需要用到,但随着个人能力提升,你会发现这套东西确实很有用. 就我目前接触到的音视频企业,还没有碰到过没用过ffmpeg的(视频厂商都会对用户上传的视频文件做转码,因为他们的客户端在播放的时候需要根据不同客户端的网络带宽适配不同分辨率,或做些自定义开发),由此可…
本文主要解读国内首届WebRTC大会背后的真相,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help --------------------------------------------------- google于2011年就将WebRTC代码开源了,大会在国外也已经主办好几届了,有声有色,但为什么国内才首次举办呢? 其实国内之前也举办过几次,不过不能叫大会,只能叫内部交流会,因为规格和声势跟这次差几个等级, 有兴趣可以看看我下面这张之前在深圳…
本文主要介绍ORTC(Object Real-time Communication),支持原创,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help. -------------------------------------------------------------------------------------------------------------------------------------------------------…