自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 H.264 基础及 RTP 封包详解

一. h264基础概念 1、NAL、Slice与frame意思及相互关系 1 frame的数据可以分为多个slice. 每个slice中的数据,在帧内预测只用到自己slice的数据, 与其他slice 数据没有依赖关系。 NAL 是用来将编码的数据进行大包的。 比如,每一个slice 数据可以放在...

2019-06-14 15:08:05 164 0

原创 webrtc视频卡顿分析-接收端视频渲染

卡顿最主要的原因还是网络抖动,nack,fec,码率调整,帧率调整,分辨率调整等,这些放到后面分析,先把采集,编码,渲染流程看一下 1.接收端视频渲染流程调用堆栈伪代码 incoming_video_stream.cc 入口,单独的线程处理渲染, 接收端接收到视频,组帧,解码后会放入渲染队列 渲染...

2019-06-14 14:46:51 1638 1

原创 webrtc视频卡顿分析-编码发送

编码流程伪代码 TaskQueue::ProcessQueuedMessages { ViEEncoder::EncodeTask::Run { if (--vie_encoder_->posted_frames_waiting_for_encode_ == 0) //可能丢帧...

2019-06-11 19:51:57 552 2

原创 webrtc视频卡顿分析一本地视频卡顿

视频卡顿几个原因 1、网络抖动,丢包 2、发布端因设置码率不够丢帧或因cpu处理不及时丢帧 3、显卡渲染能力不足 4、逻辑有问题导致渲染间隔不均匀 最近在处理高帧率,高分辨率时遇到视频帧卡顿,抖动问题,记录处理过程,下面分析几个可能出现卡顿的流程 一、本地视频卡顿排查 1、本地采集伪代码 Capt...

2019-05-31 18:34:02 842 0

转载 webrtc音视频抖动缓冲区伪代码

webrtc jitterbuffer rtp包几个时间值: 发送时间,接收时间,网络传输时间,网络延迟时间(网络排队) 理想情况下 rtp包的接收时间 = sendtime + transferTime 实际环境中 rtp包的接收时间 = sendtime + transferTime + ne...

2019-05-30 14:56:31 279 0

原创 OBS 源码解析一

OBS 源码解析一 obs整体工程 obs obs程序界面,程序入口,基于qt libobs obs的核心集成封装,所有第三方库的集成封装 blake2 hash算法,据说比sha-1快,安全 coreaudio-encoder 音频采集,对coreaudio调用封装 ffmpe...

2018-02-02 16:59:49 3519 0

原创 android 系统自带 回声消除

android 系统自带回声消除 http://www.newrtc.com/2017/10/25/android-system-echo/github: https://github.com/newrtc/AndroidEchoDemo/

2017-10-25 20:00:25 5734 0

原创 webrtc 发送带宽估计

几个问题 1、webrtc的发送带宽估计是针对每一路流还是总的带宽 2、webrtc的remb是统计的整体带宽吗? 3、如果webrtc同时观看了多路流,如何针对每一路流反馈带宽,丢包等信息 5、如果webrtc同时发送了多路流,如何估计每一路的带宽情况跟踪代码 目的是 当有多个观看 和 ...

2017-06-29 15:48:15 1257 0

原创 webrtc 编码器带宽调整

uint32_t MediaOptimization::SetTargetRates( uint32_t target_bitrate, uint8_t fraction_lost, int64_t round_trip_time_ms, VCMProtection...

2017-06-28 15:03:42 842 0

原创 webrtc_h264_组包

rtp 在传输的时候 h264 是按照nalu组包的 webrtc 里有 单个NAL单元包 stap-a fu-a http://blog.csdn.net/c...

2017-03-30 17:20:15 596 0

原创 webrtc_audio

能量值计算相关 LevelEstimator LevelEstimatorImpl RMSLevel

2017-03-30 17:10:27 1371 0

原创 webrtc_nack

webrtc_nack 流程分析void VideoReceiver::Process() { // Receive-side statistics if (_receiveStatsTimer.TimeUntilProcess() == 0) { _receiveStatsTim...

2017-03-27 11:26:40 1766 0

原创 webrtc研究-remb协议分析

分析入口 webrtc/ideo/vie_remb.ccvoid VieRemb::OnReceiveBitrateChanged(const std::vector<uint32_t>& ssrcs, uint32_t bitrate) { R...

2016-12-21 17:46:54 2486 0

转载 使用Gitlab一键安装包后的日常备份恢复与迁移

Gitlab 创建备份使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份:gitlab-rake gitlab:backup:create使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称...

2016-12-16 10:32:15 402 0

转载 iOS 程序引入framework 类别报错unrecognized selector sent to class

背景在ios开发过程中,有时候会用到第三方的静态库(.a文件),然后导入后发现编译正常但运行时会出现selector not recognized的错误,从而导致app闪退。接着仔细阅读库文件的说明文档,你可能会在文档中发现诸如在Other Linker Flags中加入-ObjC或者-all_l...

2016-12-14 19:42:42 636 0

原创 webrtc研究-视频接收端处理

在call.h 里面有定义,我们把接收到的数据调用 DeliverPacket 即可class PacketReceiver { public: enum DeliveryStatus { DELIVERY_OK, DELIVERY_UNKNOWN_SSRC, DEL...

2016-12-12 11:48:18 2280 0

转载 [webrtc] rtcp模块中rtt时间计算

RTT指 round-trip time,即计算AB两端的往返时延这里可以分成两个问题:如何在A端估算A和B之间的RTT时间?如何在B端估算A和B之间的RTT时间?本文参考资料: rfc 3550 rfc 3611 webrtc issue https://code.google.com/p...

2016-12-09 19:53:49 1547 0

转载 WebRTC中丢包重传NACK实现分析

http://www.jianshu.com/p/a7f6ec0c9273 在WebRTC中,前向纠错(FEC)和丢包重传(NACK)是抵抗网络错误的重要手段。FEC在发送端将数据包添加冗余纠错码,纠错码连同数据包一起发送到接收端;接收端根据纠错码对数据进行检查和纠正。RFC5109[1]定...

2016-12-08 16:39:55 4002 0

原创 webrtc 研究-音频编码

opus 编码参数src\webrtc_src\webrtc\modules\audio_coding\acm2 acm_codec_datebase.cc#ifdef WEBRTC_CODEC_OPUS // Opus internally supports 48, 24, 16, 12,...

2016-12-08 13:45:14 1866 0

原创 webrtc 研究-带宽控制

带宽控制上行带宽控制 webrtc/modules/bitrate_controller 下行带宽估计 remote_bitrate_estimator

2016-12-06 18:34:48 2021 1

转载 WebRTC的拥塞控制技术(Congestion Control

http://www.jianshu.com/p/9061b6d0a901 1. 概述 对于共享网络资源的各类应用来说,拥塞控制技术的使用有利于提高带宽利用率,同时也使得终端用户在使用网络时能够获得更好的体验。在协议层面上拥塞控制是TCP的一个总要的组成部分;但是对于非面向链接...

2016-12-03 18:59:25 1247 0

转载 Opus:IETF低延迟音频编解码器:API和操作手册

https://www.zybuluo.com/khan-lau/note/383775 Opus简介   Opus编解码器是专门设计用于互联网的交互式语音和音频传输。它是由IETF的编解码器工作组设计的,合并了Skype的SILK和Xiph. Org的CELT技术。    Op...

2016-10-25 11:16:54 3689 0

转载 我的iphone不能被虚拟机识别怎么办

特大喜讯:xcode 7 支持免证书真机调试啦。 vmware也可以用来调试ios设备啦 可是……我的手机插上去以后,却没办法在虚拟机里面看到,怎么办? 这篇经验让我告诉大家如果按默认设置装好mac os 以后,插上手机是没办法在vmware 上看到iphone的处理方法 ...

2016-04-22 11:15:46 1143 0

转载 ios webrtc 编译 xcode7

export GYP_DEFINES="OS=ios target_arch=arm" export GYP_GENERATOR_FLAGS="output_dir=out_ios" webrtc/build/gyp_webrtc -Dclang_xco...

2016-04-15 18:41:23 1239 0

转载 P2P实时音视频之NAT穿越

在P2P实时音视频领域,NAT穿越是一个非常重要的技术。NAT穿越技术使得客户端和客户端直接进行通讯,从而减少了端到端的延迟,并大大减轻了服务器的压力,降低成本。 NAT是什么 NAT的全称Network Address Translation,通常指的是把内网地址转换成外网地址。一般...

2016-03-27 07:28:54 1690 0

转载 linux 下使用 tc 模拟网络延迟和丢包

1 模拟延迟传输简介 netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。使用 Linux 2.6 (或以上) 版本内核的很多发行版 Li...

2016-02-20 14:44:05 1149 0

转载 移动终端m3u8优势

http://www.zhihu.com/question/19644648/answer/12582153 HTTP Live Streaming  这个是 Apple 为了提高流播效率开发的技术,特点是将流媒体切分为若干 TS 片段(比如每10秒一段),然后通过一个扩展的 m3u ...

2015-12-11 16:17:01 5361 0

转载 WebRTC VideoEngine超详细教程(三)——集成X264编码和ffmpeg解码

http://blog.csdn.net/nonmarking/article/details/47958395 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教程(一)——视频通话的基本流程 WebRTC VideoEngine超详细教程...

2015-09-17 16:50:40 3966 0

转载 WebRTC VideoEngine超详细教程(二)——集成OPENH264编解码器

http://blog.csdn.net/nonmarking/article/details/47910043 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教程(一)——视频通话的基本流程 WebRTC VideoEngine超...

2015-09-17 16:48:58 6936 0

转载 WebRTC VideoEngine超详细教程(一)——视频通话的基本流程

转自:http://blog.csdn.net/nonmarking/article/details/47375849 本系列目前共三篇文章,后续还会更新 WebRTC VideoEngine超详细教程(一)——视频通话的基本流程 WebRTC VideoEngine超详细教...

2015-09-17 16:46:23 13407 2

转载 Android之WebRTC介绍

Android之WebRTC介绍 原文链接 : Introduction to WebRTC on Android原文作者 : Dag-Inge Aas译文出自 : appear.in译者 : DorisMinmin 状态 :完成 WebRTC被誉为是web长期开源开发的...

2015-06-23 15:56:11 3552 1

转载 几篇好文章

stun/turn/ice http://www.cnblogs.com/ishang/p/3810382.html webrtc http://www.cnblogs.com/lingyunhu/category/626157.html

2015-06-16 16:27:19 582 0

转载 busybox 致命错误: curses.h:没有那个文件或目录

$:~/dd/busybox-1.19.3$ make menuconfig   HOSTCC  scripts/basic/fixdep   HOSTCC  scripts/basic/split-include scripts/basic/split-include.c: 在函数‘ma...

2015-02-04 10:35:24 924 0

转载 menuconfig中的配置

在menuconfig中配置: 详细介绍内核配置选项及删改情况 第一部分:全部删除 Code maturity level options ---> 代码成熟等级选项 []Prompt for development and/or incomplete code/drivers 默认...

2015-02-04 10:25:03 1772 0

转载 Linux嵌入式交叉编译环境 的搭建

http://blog.csdn.net/woaixiaozhe/article/details/7395435 1. 安装标准的C开发环境,由于Linux安装默认是不安装的,所以需要先安装一下(如果已经安装好的话,就可以免去这一步了):   #sudo apt-get install...

2015-02-04 10:21:52 709 0

转载 嵌入式linux烧写(一)—BootLoader的裁剪和编译

一、BootLoader的概念    BootLoader是系统加电启运行的第一段软件代码.回忆一下PC的体系结构我们可以知道,PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的引导程序一起组成。BIOS在完成硬件检测和资源分配后,将硬盘MBR中的引导程序读到系统的R...

2015-02-04 09:48:22 3748 0

原创 android 视频通话带回声消除一

android 视频电话,例子下载地址 http://download.csdn.net/detail/liuhongxiangm/8385397 经过小半年的断断续续的研究,终于做出了差不多的demo 分析了好多视频聊天的软件,大多在强调如何传输,什么rtp,rtmp,sip等的协...

2015-01-22 10:26:18 7896 7

转载 NAT的四种类型及类型检测

http://www.cnblogs.com/my_life/articles/1908552.html 考 虑到UDP的无状态特性,目前针对其的NAT实现大致可分为Full Cone、Restricted Cone、Port Restricted Cone和Symmetric NAT四种。...

2014-12-15 16:04:32 4750 0

转载 公网/内网IP分配及NAT地址转换协议

公网IP/内网IP:     在TCP/IP协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0~10.255.255.255 172.16.0.0/12:172.16.0.0~172.31.255.255 192.168.0.0/1...

2014-12-15 14:01:21 9007 0

转载 TCP的4个定时器

http://blog.chinaunix.net/uid-20778955-id-539946.html 对每个连接,TCP管理4个不同的定时器。 重传定时器使用于当希望收到另一端的确认。 TCP在发送一份数据后,启动重传定时器,在经过若干时间后如果没有收到ACK,...

2014-11-27 10:07:53 612 0

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