![](https://img-blog.csdnimg.cn/20190711143424323.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
webrtc
webrtc深入研究
终成一个大象
战略上要藐视敌人,战术上要重视敌人!
展开
-
webrtc源码编译 iOS
webrtc源码编译 iOS1、环境配置ninja下载git clone git://github.com/martine/ninja.gitcd ninja/./b2、脚本编译build_ios_libs.sh3、AppRTCMobile编译WebRTC.framework4、踩的坑/bin/sh: ../../third_party/llvm-build/Release+Asserts/bin/clang: cannot execute binary file原创 2020-06-30 18:54:22 · 884 阅读 · 0 评论 -
开源webrtc服务器对比
开源系统是目前市面上比较常见的,分别从服务器类型、编解码能力、文档的完整性和开发商来进行对比。大家都知道WebRTC的服务器模型有两种,分别是SFU和MCU,SFU实现的是简单转发的路由功能,而MCU可以提供更多扩展性的功能实现,而且MCU型的服务器往往包含SFU,所以MCU的实现难度较大。其次,文档的完整性也是非常重要的,因为对于开发者来说,文档具有非常重要的指导作用。最后是开发商,这个主要涉...原创 2020-03-30 17:18:37 · 5823 阅读 · 3 评论 -
kurento RtpEndpoint获取rtp流
该修改方案是在kurento-tutorial-java项目中kurento-hello-world测试demo的基础上进行修改的。 private void handleProcessSdpOffer(final WebSocketSession session, JsonObject jsonMessage) { // ---- Session handling...原创 2019-12-29 14:24:00 · 1984 阅读 · 11 评论 -
kurento服务器搭建(docker方式)
Kurento media server服务搭建(docker方式),我在这里只是翻译一下,有需要的可以直接访问官网:// 拉取镜像docker pull kurento/kurento-media-server:6.10// 根据镜像创建dockerdocker run -itd --name kms -p 8888:8888 kurento/kurento-media-ser...原创 2019-12-29 14:18:17 · 3500 阅读 · 6 评论 -
WebRtc 获取视频 内存泄漏
记录一次获取webrtc视频数据时踩的坑:使用如下方法获取I420:VideoFrame.I420Buffer i420Buffer = videoFrame.getBuffer().toI420();运行后发现native层内存占用越来越多,一段时间后进程被杀死。经过分析:toI420()webrtc提供的上面的接口,会在native层进行一份拷贝,需要调用配套API进行释放。...原创 2019-12-29 13:51:58 · 1782 阅读 · 12 评论 -
check_stun_auth: user cece credentials are incorrect
coturn服务器部署后,执行turnserver -v -a -f -user=cece:123456 -r Guangdong后,运行移动端demo,coturn服务器报错我的配置文件如下:原创 2019-11-08 12:53:07 · 2123 阅读 · 5 评论 -
kurento服务器搭建
Kurento media server服务搭建一、下载ubuntu18.04服务器1、安装gunpg2、确定ubuntu版本3、设置变量4、添加key5、设置kurento.list6、安装kurento media server7、启动/停止/状态/重启二、kurento tutorial java服务搭建三、kurento相关配置1、Kurento Media Server 日志2、Kure...原创 2019-11-06 13:04:37 · 4230 阅读 · 6 评论 -
基于Webrtc的视频通话录制功能-Android实现
原文转载自:https://www.jianshu.com/p/7746c7411826webrtc本身并不支持视频通话的录制。webrtc的sdk只是暴露了视频数据给开发者,而音频数据并没有向外暴露。因此如果要进行视频通话的录制,需要修改webrtc的sdk,将音频数据暴露出来。webrtc的下载和编译可参考之前的文章:WebRtc下载和编译一、修改SDK,引出音频数据音频采集数据...转载 2019-08-24 11:03:44 · 3107 阅读 · 0 评论 -
webrtc+ffmpeg(连麦直播效果展示)
展示效果补充画面说明:手机(左一):用户,中间画面是合流后的本地显示。右下角是本地视频呈现,左上角是对方视频呈现。手机(左二) :用户,右下角是本地视频呈现,左上角是对方视频呈现。PC(右一):网页http拉流呈现效果。PC(右二):播放器拉流呈现效果。功能基本实现,还需要进一步优化。...原创 2019-07-30 21:06:54 · 5607 阅读 · 6 评论 -
webrtc 多人音视频 思维导图
sdp交互机制和详解拥塞控制机制WebRTC的网络结构:P2P MeshMCU(Multi-point Control Unit)SFU(Selective Forwarding Unit)网络适应性:GCC算法https://www.cnblogs.com/x_wukong/p/8397700.html谷歌提出的拥塞控制算法(Google Congestion Control...原创 2018-12-06 10:31:49 · 756 阅读 · 0 评论 -
webrtc截取图像
webrtc系列——截取图像一、原理介绍二、代码实现三、注意事项一、原理介绍对于webrtc p2p音视频功能,不管是本端视频流还是对端视频流,视频流的源头都是摄像头,终点是都是屏幕(不同的终端需要不同的空间支持)。明白了这一点,每一帧数据需要调用VideoRenderer,然后通过渲染器在控件上进行绘制。VideoRenderer中定义了如下的接口:public static inter...原创 2019-07-11 19:49:56 · 2001 阅读 · 0 评论 -
webrtc保存视频
webrtc系列——保存视频一、原理介绍二、实现效果三、代码实现四、注意事项五、拓展一、原理介绍对于webrtc p2p音视频功能,不管是本端视频流还是对端视频流,视频流的源头都是摄像头,终点是都是屏幕(不同的终端需要不同的空间支持)。明白了这一点,每一帧数据需要调用VideoRenderer,然后通过渲染器在控件上进行绘制。VideoRenderer中定义了如下的接口:public st...原创 2019-07-11 20:30:52 · 3366 阅读 · 1 评论 -
coturn服务器搭建
libevent下载安装依赖libevent开源库,需要先进行安装:wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gztar zxvf libevent-2.0.21-stable.tar.gzcd libevent-2.0.21-stable ./configuremake...原创 2019-09-28 22:31:40 · 2771 阅读 · 7 评论 -
pcm格式封装wav
PCMPCM编码是直接存储声波采样被量化后所产生的非压缩数据,故被视为单纯的无损耗编码格式,其优点是可获得高质量的音频信号。PCM是模拟音频信号经模数转换(A/D变换)直接形成的二进制序列,该文件没有附加的文件头和文件结束标志。要将这样的信号转为 PCM 时,需要将声音量化,我们一般从如下几个维度描述一段声音:1.声道数 2.采样位数 3.采样频率 4.时长采样频率:即取样频率...原创 2019-08-25 22:05:50 · 895 阅读 · 0 评论 -
开源webrtc源码分析
想写一篇分析webrtc源码的文章,梳理了半天,发现webrtc太大了,不知道从哪里开始。那就先从android源码开始吧,纯手打,如有不对之处,请及时指正。java层代码分析api目录:提供android端可以直接调用的API。src目录:提供Camera,MediaCodec等更细节的一些java层封装。api目录下的文件会调用src目录下的文件。每一个java类都通过jni映射与C...原创 2019-10-09 11:01:58 · 1688 阅读 · 1 评论