自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RTC吧

WebRTC相关技术文档,WebRTC最新动态,流媒体基础知识,讨论群(377724275)

  • 博客(23)
  • 资源 (8)
  • 收藏
  • 关注

原创 WebRTC应用中如何检测回音

在WebRTC应用开发中,我们可能需要知道某个通话过程中是否有回音产生,传统的做法是通过人工去听才能知道。从WebRTC56版本开始,WebRTC提供了一个接口可以让我们知道是否有回音。有两个办法可以观察,一是如果是使用网页版本的WebRTC,你可以在浏览器中输入chrome://webrtc-internals,在打开的网页中关于音频的统计项目中有googResidualEchoLikeli

2017-08-22 14:02:36 2916

原创 WebRTC自适应网络带宽之联播方案

假设在一个多个用户参与的视频直播系统中,大部分用户的网络都是非常好,但是只有一两个用户用的是3G,4G上网,网络质量不太好。这种情况下对于发布方应该如何处理呢?一种比较容易想到的方案就是降低发布方的视频码流,这样不管网络好还是网络不好的用户都可以流畅观看视频了,这种方案有个致命缺陷,大部分网络好的用户被少数几个网络差的用户给拖累了。如上图所示,发布方只能发布低于0.

2017-08-15 14:40:52 5775 2

原创 WebRTC中的Opus编码揭秘

WebRTC中默认是采用Opus编码,Opus编码是由silk编码和celt编码合并在一起,silk编码是由skype公司开源的一种语音编码,特别适合人声,适合于Voip语音通信。celt和mp3,aac类似,适合于传输音乐。Opus编码具备以下特点:6 kb /秒到510 kb / s的比特率采样率从8 kHz(窄带)到48 kHz(全频)帧大小从2.5毫秒到60毫秒支持

2017-08-11 11:43:40 9043 2

原创 Chrome 57版本的WebRTC默认使用rtp,rtcp端口复用

流媒体传输协议(RTP)包括两个不同的组件:1,RTP负责传输音视频数据。2,RTCP负责传输控制信令。RTP协议规范规定,“ 底层协议必须提供数据和控制数据包的复用,例如使用单独的UDP端口号 ”。由于使用两个不同的端口(主要是由于NAT穿越)导致的复杂性,RFC-5761 提供了“使用单独的UDP端口解复用RTP和RTCP的替代方法,而仅使用单个UDP端口并在应用程序内解复用”

2017-08-09 09:54:40 2566

原创 WebRTC中丢包重传机制的实现

当网络质量突然变的很差并开始丢包时,声音听起来音质会变差,画面帧速会下降,甚至会完全卡住。我们可能需要某种机制来应对这种情况。在WebRTC中,主要有两种机制来应该网络变差的情况:前向纠错:在每个数据包中,您将添加一些关于前一个信息的信息,以防丢失,您需要重新构建它们(flexfec是WebRTC [1]中的新格式)。重传:当接收方检测到有丢包时,它会发送NACK类型的RTCP包给

2017-08-08 09:28:17 5385

原创 WebRTC 网页版本输出Log方法

当网页版本的WebRTC程序出了各种问题的时候,你可以想了解WebRTC底层出了什么问题,这个时候我们就要看看WebRTC的日志了,下面提WebRTC日志输出方法:Windows在命令行下输入:1, cd C:\Program Files (x86)\Google\Chrome\Application\2, chrome.exe--enable-logging --

2017-08-07 11:31:43 2405 1

原创 Safari即将支持WebRTC

自从开始做WebRTC开发以来,经常被别人问到,safari浏览器能支持WebRTC吗?我也很希望safari能支持WebRTC,这样就不用写原生WebRTC应用或者Safari浏览器插件了。很高兴的是,近期Apple公司宣布,WebRTC将会进入Safari和iOS 11。事实上,如果你是苹果的注册开发者,你就可以尝试使用支持WebRTC的测试版Safari浏览器。我提前试用了下测试版本

2017-08-07 07:36:23 402

原创 WebRTC原生开发和混合开发优缺点分析对比

WebRTC的出现,让企业快速开发出一个支持全平台的音视频程序成为可能。在WebRTC之前,企业想要开发出一个全平台的音视频程序,难度,工作量非常大。使用WebRTC后,音视频程序中一些通用的模块比如音视频采集,播放模块,rtp,rtcp协议模块,都可以直接复用WebRTC现成的,不用自己再重复造轮子。这些模块开发难度不是很大,但是工作量非常大。使用WebRTC后,企业可以专注于优化流程,解决bu

2017-08-07 07:35:08 997

原创 Safari即将支持WebRTC

自从开始做WebRTC开发以来,经常被别人问到,safari浏览器能支持WebRTC吗?我也很希望safari能支持WebRTC,这样就不用写原生WebRTC应用或者Safari浏览器插件了。很高兴的是,近期Apple公司宣布,WebRTC将会进入Safari和iOS 11。事实上,如果你是苹果的注册开发者,你就可以尝试使用支持WebRTC的测试版Safari浏览器。我提前试用了下测试版本

2017-08-06 23:01:09 2137

原创 WebRTC原生开发和混合开发优缺点分析对比

WebRTC的出现,让企业快速开发出一个支持全平台的音视频程序成为可能。在WebRTC之前,企业想要开发出一个全平台的音视频程序,难度,工作量非常大。使用WebRTC后,音视频程序中一些通用的模块比如音视频采集,播放模块,rtp,rtcp协议模块,都可以直接复用WebRTC现成的,不用自己再重复造轮子。这些模块开发难度不是很大,但是工作量非常大。使用WebRTC后,企业可以专注于优化流程,解决bu

2017-08-06 20:47:59 2836

原创 WebRTC通话过程中如何避免其它进程音量下降

在Windows下,WebRTC通话过程中,会把其它进程的音量自动下降,比如音乐播放器。如何避免这种情况呢?其实很简单,只要修改一下注册表就可以了,用Qt的实现方法如下:void disableCommunicationReduce(){        static const QString key = "HKEY_CURRENT_USER\\SOFTWARE\\Micr

2017-08-06 17:02:53 667 2

原创 WebRTC 中RTT实现方法

RTT(Round-Trip Time): 往返时延。在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。一般认为单向时延=传输时延t1+传播时延t2+排队时延t3t1是数据从进入节点到传输媒体所需要的时间,通常等于数据块长度/信道带宽t2是信号在信道中需要传播一定距离而花费的时间,等于信道长度

2017-08-06 16:38:53 3327

原创 开发Rtmp推流端开发库的几种选择方案

要开发一个Rtmp协议的推流工具,目前用以下几种实现方案使用ffmpeg方案,ffmpeg本身功能非常丰富,如果采用这个方案,基本上所有功能都可以搞定,不用再引入其它的第三方库,而且还支持跨平台。要使用ffmpeg推流,编译时一定要把x264,libfaac,rtmp协议打进去,编译出来的so,dll大概2M多一点。ffmpeg推流方案实现起来开发速度比较快,缺点就是好多地方都是黑盒,

2017-08-05 21:54:22 2683 1

原创 WebRTC中OPUS编码相关设置和分析

新版本的WebRTC默认是采用OPUS编码,OPUS编码是silk编码和celt编码的合成,silk编码是skype公司开源的一个编码,特别适合语音通信,它根据人的声音做了很多优化,但不是适合传输高质量的音乐。celt编码相反更适合传输高质量的音乐。OPUS编码在采样率很高的情况下,音质还是非常不错的,以下这个连接地址有很多opus的音频样例,大家可以在线听听。http://www.o

2017-08-05 10:27:52 5229 1

转载 WebRTC手记之初探

作者: 博客园        - 孤竹君      WebRTC是HTML5支持的重要特性之一,有了它,不再需要借助音视频相关的客户端,直接通过浏览器的Web页面就可以实现音视频对聊功能。而且WebRTC项目是开源的,我们可以借助WebRTC源码快速构建自己的音视频对聊功能。无论是使用前端JS的WebRTC API接口,还是在WebRTC源码上构建自己的对聊框架,都需要遵循以下执行流程

2017-08-05 10:26:26 298

转载 WebRTC基本概念

前言WebRTC(Web Real-Time Communication),一个可以让用户用自己流量实现音视频实时通信的框架(APIs),支持浏览器(Firefox、Chrome、Opera)以及iOS、Android 原生系统(Poor WP,默哀)。对于觉得带宽贼贵又需要实现用户之间音视频通信的公司来说,这是一个大大的福利。What is WebRTC?官方介绍:

2017-08-05 10:25:38 544 1

转载 实现WebRTC的几个想法

Nikolai Bezruk,译者:张卫滨不借助第三方应用,快速且安全地在浏览器中传输视频——这有可能实现吗?根据你的需求,有不止一种方式能够将WebRTC添加到你的站点之中。WebRTC(Web实时通信,Web Real-Time Communication)是一项开源技术,用来在Web浏览器中实现实时直接的多媒体通信功能。它能够在两个或更多的人之间建立端到端的连接,这对

2017-08-05 10:24:47 356

转载 在部署WebRTC的时候什么时候使用TURN

12%,这就是Callstats.io的CEO Varun Singh,告诉WebRTC Conference-in-Conference大会上的听众WebRTC通话失败的比例。对于那些失败的通话,有22%的通话需要某些形式的媒体传输。造成12%这个比例的主要原因是因为网络工程师们没有考虑到NAT防火墙穿透,当搭建很多RTC网络的时候,这是对企业部署十分重要的。关于NAT和防火墙穿透

2017-08-05 09:51:29 993

转载 WebRTC getStats详解 - 从标准、调用到实现

前言getStats是WebRTC一个非常重要的API,用来向开发者和用户导出WebRTC运行时状态信息,包括网络数据接收和发送状态、P2P客户端媒体数据采集和渲染状态等[1]。这些信息对于监控WebRTC运行状态、排除程序错误等非常重要。本文首先描述W3C定义的getStats标准,然后展示如何在JS层调用getStats,最后深入分析WebRTC源代码中getStats的实现。

2017-08-05 09:49:45 2096

原创 Webrt中H264编码相关问题

编译WebRTC后,默认是没有把H264编码编进来的。WebRTC中H264编码采用的是openh264,解码默认采用的是ffmpeg,移动版本android,ios默认采用的是系统的h264硬件编码,如果你的手机支持H264硬件编码的话,WebRTC就会默认支持H264.1.如何在桌面版本中开启H264编码  使用gn生成ninja文件时,加入以下两个选项就可以生成 ff

2017-08-05 09:48:17 1335

原创 WebRTC中如何设置视频的码流

WebRTC原生就是为了p2p通话而设计的,视频的码流会尽量匹配你的带宽。你会发现,当两个客户端在局域网内通话时,视频的码流会非常大,有时会达到两三兆。在有些业务场景下,你可能不希望要这么大的视频码流,比如会占用你的服务器很大的带宽。如果我们能够灵活的控制视频码流,这对节省服务器带宽会非常有用。      在WebRTC生成的SDP中,与视频编码相关的部分如下:a=rtpmap:1

2017-08-05 09:46:19 3007 2

原创 如何在没有https环境下使用webrtc

新版本的webrtc使用需要Https,但是在内网开发调试时,要配置Https环境比较麻烦,哪有没有办法绕过https的限制呢?下面的方法是教你如何在http下使用webrtc1,点桌面上的Chrome图票,右键->属性,把目票输入框中的内容换成以下内容"C:\Program Files (x86)\Google\Chrome\Application\chr

2017-08-05 09:44:14 8340 1

原创 WebRTC56版本SDP详细解析

v=0//sdp版本号,一直为0,rfc4566规定o=- 7017624586836067756 2 IN IP4 127.0.0.1// RFC 4566 o= //username如何没有使用-代替,7017624586836067756是整个会话的编号,2代表会话版本,如果在会话//过程中有改变编码之类的操作,重新生成sdp时,sess-id

2017-08-05 09:42:10 3094 1

安卓版本一对一视频聊天,h264硬件编码

实现了安卓版本的一对一视频语音聊天,调用了安卓系统的h264编码,学习安卓系统流媒体开发可以参考一下。使用android stuiod 打开就可以编译运行

2017-02-15

webrtc安卓版本官方demo57版本,方便测试用

webrtc 原版本代码编译出来的demo,方便大家测试用。 rtc吧制作(www.rtc8.com)。

2017-02-08

webrtc安卓版本官方demo56版本,方便测试用

webrtc原版编译,webrtc吧(www.rtc8.com)制作

2017-02-08

webrtc安卓版本官方demo55版本,方便测试用

webrtc 原版本代码编译出来的demo,方便大家测试用。

2017-02-08

webrtc安卓版本官方demo54版本,方便测试用

webrtc 原版本代码编译出来的demo,方便大家测试用。

2017-02-08

价值500万商业视频会议源代码

使用vs2010+qt4.85开发,支持多人视频,多人语音,文档共享,对学习Qt或者视频会议开发有很大的参考价值,只供学习研究用,大家不要直接用于商用。

2015-07-28

Qt实现多人视频会议,支持PPT演示

奥尼凯德视频会议,仿QQ群视频,实现多人视频,多人语音,文字聊天,表情,共享PPT功能,自由发言,主持人控制发言,按F2发言三种语音模式,支持从网页跳转

2015-04-16

仿手机QQ列表_上滑下拉滑动删除

一般安卓程序员都知道下拉刷新主键用 com.handmark.pulltorefresh 网站:https://github.com/chrisbanes/Android-PullToRefresh/ 滑动删除用 fortysevendeg 的 swipelistview 但是要实现QQ列表功能,需要把两者叠加起来,我尝试了一下,发现有Bug, fortysevendeg的代码有点复杂,放弃了,后来自己搞了一个,为了方便广大 安卓程序员,我把整个demo贡献出来。

2015-04-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除