MirageTeam
文章平均质量分 62
banyao2006
这个作者很懒,什么都没留下…
展开
-
webrtc中的带宽自适应算法
webrtc中的带宽自适应算法分为两种:1, 发端带宽控制, 原理是由rtcp中的丢包统计来动态的增加或减少带宽,在减少带宽时使用TFRC算法来增加平滑度。2, 收端带宽估算, 原理是并由收到rtp数据,估出带宽; 用卡尔曼滤波,对每一帧的发送时间和接收时间进行分析, 从而得出网络带宽利用情况,修正估出的带宽。两种算法相辅相成, 收端将估算的带宽发送给发端, 发转载 2013-05-07 09:10:20 · 1721 阅读 · 1 评论 -
build WebRTC for android
1. gclient config https://webrtc.googlecode.com/svn/trunk2. add "target_os = ['android'] to .gclient (at the very end, outside all brackets)3. gclient sync4. cd trunk5. source ./build/android/envs原创 2013-05-03 10:47:22 · 951 阅读 · 0 评论 -
webrtc学习笔记(牛人博客转载)
http://blog.csdn.net/fanshengchong/article/details/11012691转载 2013-12-10 10:31:19 · 855 阅读 · 0 评论 -
WebRTC 杂谈
参考:http://www.csdn.net/article/2012-08-14/2808592http://www.leiphone.com/0925-ce6093-webrtc.htmlhttp://www.infoq.com/cn/news/2011/06/google-webrtcWebRTC 百度 百科Dongdong Deng 写的WebRT转载 2013-12-10 10:16:07 · 2319 阅读 · 0 评论 -
STUN和TURN技术浅析
在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet。很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要其他公共服务器的中转。由于主机可能位于防火墙或NAT之后,在进行P2P通信之前,我们需要进行检测以确认它们之间能否进行P2P通信以及如何通信。这种技术通常称为NAT穿透(NAT Traversal)。转载 2013-12-04 18:42:35 · 810 阅读 · 0 评论 -
Lucas-Kanade算法原理介绍及OpenCV代码实现分析
http://blog.skyoung.org/2014/04/13/Lucas-Kanade-Tracker/转载 2014-09-22 23:37:38 · 9167 阅读 · 1 评论 -
高效视频编码(HEVC)标准概述(二)
II. HEVC 编码设计和特性的要点HEVC标准是为达到如下多个目标而设计的:编码效率,易于整合到传输系统,数据丢失的恢复,以及并行处理能力。下列各段简要描述标准所设计的用以实现上述目标的关键元素, 以及可以产生有效码流的典型编码器操作。各元素的相关句法和解码过程的更多细节将在第III、IV节中给出。A. 视频编码层 HEVC的视频编码层采用了自H.261以来所有的视频压缩标准转载 2014-11-03 22:43:19 · 1106 阅读 · 0 评论 -
高效视频编码(HEVC)标准概述(四)之ABCDEF
IV. HEVC视频编码技术和从H.261 [2]开始的、之前所有ITU-T与ISO/IEC JTC 1制定的视频编码标准一样,HEVC的设计沿袭了经典的基于块的混合视频编码方式(如图1所示)。这种基本的源编码算法混合了利用时域统计相关性的帧间预测、利用空域统计相关性的帧内预测,并对预测的残差信号进行变换编码以进一步利用空域统计相关性。相对于先前的视频编码标准,HEVC在压缩效率方面的重大转载 2014-11-04 01:03:41 · 1051 阅读 · 0 评论 -
解读HEVC视频标准的环内滤波
1.0 引言 高效视频编码(HEVC)是H.264/MPEG-4 AVC(高级视频编码)的一种升级版视频压缩标准(即ISO/IEC 23008-2 MPEG-H第2部分和ITU-T H.265)是由ISO/IEC动态图像专家组(MPEG)和ITU-T视频编码专家组(VCEG)共同编写的。与业界标准H.264相比,HEVC能够以几乎同样的视频质量实现半比特速率,并且有望在视频应用中得到广转载 2014-11-03 22:12:58 · 1932 阅读 · 0 评论 -
VP8 的败笔 VS H264
VP8 视频压缩解决方案厂商On2 Technologies公司现已推出最新的视频压缩格式On2 VP8。On2 VP8是第八代的On2视频,能以更少的数据提供更高质量的视频,而且只需较小的处理能力即可播放视频,为致力于实现产品及服务差异化的网络电视、IPTV和视频会议公司提供理想的解决方案。 对更高效视频压缩格式的需求显着 高清电影和电视节目的下载与发送如今转载 2014-11-03 22:19:58 · 1371 阅读 · 0 评论 -
高效视频编码(HEVC)标准概述(三)
CSDN贴图很麻烦,自本节起,相关图表请参考原文,原文的下载链接见第一节。 III. 高阶句法HEVC的高阶句法包含从H.264/MPEG-4 AVC的NAL继承下来的多种元素。NAL的作用是将表示图像内容的视频编码层(VCL,video coding layer)数据映射到不同的传输层上,包括RTP/IP、ISO MP4和 H.222.0/MPEG-2系统,转载 2014-11-04 01:03:35 · 630 阅读 · 0 评论 -
高效视频编码(HEVC)标准概述(一)
英文原稿下载地址:http://download.csdn.net/detail/jzeng76/6036335 高效视频编码(HEVC)标准概述 摘要——ITU-T的视频编码专家组和ISO/IEC的运动图像专家组目前正准备将高效视频编码(HEVC,High Efficiency Video Coding)作为最新的视频编码标准。HEVC标准化工作的主要目标,是转载 2014-11-04 01:05:34 · 1293 阅读 · 0 评论 -
h264 图像、帧、片、NALU
H.264 是一次概念的革新,它打破常规,完全没有 I 帧、P帧、B 帧的概念,也没有 IDR帧的概念。对于 H.264中出现的一些概念从大到小排序依次是:序列、图像、片组、片、NALU、宏块、亚宏块、块、像素。这里有几点值得说明:(1)、在 H.264协议中图像是个集合概念,顶场、底场、帧都可以称为图像(本文图像概念时都是集合概念)。因此我们可以知道,对于H.264 协议来说,我们平常所熟悉原创 2014-10-20 13:15:40 · 651 阅读 · 0 评论 -
语音识别的技术原理
简要给大家介绍一下语音怎么变文字的吧。首先说一下作为输入的时域波形。我们知道声音实际上是一种波。常见的mp3、wmv等格式都是压缩格式,必须转成非压缩的纯波形文件,比如Windows PCM文件,即wav文件来处理。wav文件里存储的除了一个文件头以外,就是声音波形的一个个点了。采样率越大,每毫秒语音中包含的点的个数就越多。另外声音有单通道双通道之分,还有四通道的等等。对语音识别任务来说,转载 2014-11-05 11:37:55 · 1375 阅读 · 0 评论 -
ffmpeg编译android 硬解码支持库 libstagefright
http://www.cnblogs.com/tanlon/p/4078249.html转载 2014-11-06 20:59:14 · 1055 阅读 · 0 评论 -
webrtc(不定时更新)
话唠】hhoolbuild/common.gyp static_library 改为 shared_library【话唠】hhool2014/10/10 21:58:56gclient runhooks原创 2014-10-10 22:00:07 · 1519 阅读 · 0 评论 -
关于FitIn和FitOut
首先说明下什么是FitIn,FitOut,我刚接触这个概念时也是一头雾水!这两个名词是我在新公司听到的,不知道类似的功能,大家是不是也是这么称呼!以下是我理解的!先总体说下:FitIn和FitOut都是使图片宽或高和容器一致,然后缩放时,FitIn是再使高或宽小于容器的,FitOut是再使高或宽大于容器的。FitIn:比如说有张图片,它的宽或高大于放图片的容器的宽高,如果想要图片完整地原创 2015-01-06 16:59:28 · 1913 阅读 · 0 评论 -
webtc代码流程
接收数据:OnPacketReceived->ViENetworkImpl::ReceivedRTPPacket()->ViEChannel::ReceivedRTPPacket()->ViEReceiver::ReceivedRTPPacket()->ViEReceiver::InsertRTPPacket()->ModuleRtpRtcpImpl::IncomingRtpPacket()->R原创 2013-07-16 20:47:46 · 1571 阅读 · 0 评论 -
linux mint 13 支持KVM spice
官方qemu-kvm不支持,下载最新源码加--enable-spice编译,还要编译spice-server。并且/dev/kvm期限要root和777原创 2013-07-03 22:56:39 · 848 阅读 · 0 评论 -
libjingle源码分析之:Thread和SocketServer
摘要 本文主要分析了libjingle源码中的Thread和SocketServer模块,以及它们是如何协同工作的。首先,介绍了Thread和SocketServer的模型,给出了如何使用Thread的示例。然后,分析了Thread中的默认消息循环的处理流程和如何自己处理消息。概述 libjingle源码中,Thread和So转载 2013-07-13 20:12:39 · 1108 阅读 · 0 评论 -
libjingle翻译之《Important Concepts(重要概念)之Naming Conventions(命名约定)》
Naming Conventions(命名约定) libjingle有一些命名约定,比较有用;OnSomeMethod 凡是以“On”开头的函数,大多和一个信号成员关联起来了,不是在本身对象内就是在其它对象内实现了这种关联。如果此函数被所在对象调用,大有可能是在不同的线程内调用的(即对象通过另一个线程调用自身的函数)。SomeMethod_w 在worker thread中(转载 2013-07-13 20:02:56 · 662 阅读 · 0 评论 -
libjingle翻译之《Important Concepts(重要概念)之Connections(链接)》
Connections(链接)一个p2p的链接实际上由两个通道组成。● session negotiation channel(也称作signaling channel),会话协商通道。是为数据链接服务的沟通通道。这个通道被用来回应取得一个链接的请求,交换候选,和协商会话的细节(比如:套接字地址,需要的编码方案,交换的文件,链接改变请求,终止请求)。这个通道是两个计算机之间建立的第一个链转载 2013-07-13 20:06:19 · 650 阅读 · 0 评论 -
P2P的原理和常见的实现方式(为libjingle开路)
为了项目的后期IM应用,最近在研究libjingle,中间看了也收集了很多资料,感慨网上很多资料要么太过于纠结协议(如STUN、ICE等)实现细节,要么中间有很多纰漏。最后去伪存真,归纳总结了一下,希望对以后的同行有些许帮助。 如果有什么需要讨论或者指正的,欢迎留言或者邮件peakflys@gmail.com P2P实现的原理转载 2013-07-13 20:16:53 · 836 阅读 · 0 评论 -
libjingle翻译之《Important Concepts(重要概念)之Signals (信号)》
Important Concepts(重要概念)你应该理解libjingle中以下的重要概念:● Signals (信号)● Threads and Messages (线程、消息)● Naming Conventions转载 2013-07-13 19:50:58 · 585 阅读 · 0 评论 -
libjingle翻译之《关于libjingle》
Libjingle 是google talk voice(语音聊天) 和 p2p interoperability(点对点操作)库,是提供了google talk,p2p文件共享和语音呼叫能力的组件集,libjingle包中包含了jingle和jingle语音以及两个被xmpp标准提议的扩展。 About libjingle (关于libjingle) Libjingl转载 2013-07-13 19:53:41 · 619 阅读 · 0 评论 -
libjingle翻译之《Important Concepts(重要概念)之Threads(线程)》
Threads(线程) libjingle 考虑到使用到此库的应用程序的性能,libjingle内部支持多线程。其内组件使用1或2个全局线程:● signaling thread 被用作创建底层(基础)组件, 例如:Session Management,Control,XMPP Messaging组件。● worker thread ( 有时称作channel thr转载 2013-07-13 19:55:52 · 702 阅读 · 0 评论 -
libjingle翻译之《Important Concepts(重要概念)之SSL Support(SSL支持)》 分类: libjingle
libjingle 支持两种类型的SSL:● OpenSSL (for UNIX)● SChannel (for Windows)使用SSL,应用程序必须执行如下步骤:1、#define FEATURE_ENABLE_SSL (如果编译器是Visual Studio,这个设置是在工程设置中定义的,而不是在代码中)。2、确定SSL_USE_OPENSSL 或SSL_USE_SCH转载 2013-07-13 20:03:47 · 974 阅读 · 0 评论 -
libjingle翻译之《Important Concepts(重要概念)之Candidates(候选)》
Candidates(候选)libjingle一个主要的好处就是它可以穿透防火墙和NAT设备进行链接协商。libjingle使用ICE机制穿透防火墙。libjingle应用程序第一步要做的就是在试图协商一个链接时为其它计算机的链入创建一个潜在的本地端口地址链表。链表中的每个潜在的地址就称作一个候选。候选就是“IP地址:端口”对应对,这些对应对使应用程序和其它计算机互联(技术上,这些对应对只在本转载 2013-07-13 20:09:34 · 706 阅读 · 0 评论 -
libJingle中关于p2p的一段文字翻译
Peer-to-Peer Component P2P组件 This component manages the connection between the local and remote computer. It sends and receives peer to peer data across the network, generates local转载 2013-07-13 20:15:29 · 1095 阅读 · 0 评论 -
libjingle翻译之《Important Concepts(重要概念)之Transports, Channels, and Connections(传输、通道、链接)》
Transports, Channels, and Connections(传输、通道、链接)每个p2pTransportChannel代表了本地机与远程机的数据通道。这个通道实际上包含着(隐藏着)一个设计复杂而健壮的体系。P2PTransportChannel管理着大量的不同的Connection对象,每个对象代表了一个不同种类的链接(UDP,TCP等)。一个Connection对象实际上封转载 2013-07-13 20:07:40 · 1255 阅读 · 0 评论 -
libjingle翻译之《Important Concepts(重要概念)之Data Packets(数据包)》
Data Packets(数据包)计算机间的P2P数据被多重协议封装,就像下图演示的,具体被什么协议封装依懒于实现的应用程序。并不是每个应用程序都能用到所有的协议,例如:文件传输应用使用了pseudo-tcp协议,但是语音聊天应用却没有使用转载 2013-07-13 20:10:36 · 729 阅读 · 0 评论 -
libjingle源码分析之:Session和Transport
摘要 本文介绍了Session和Transport模块。概述 Session、SessionClient、Transport和TransportChannel的关系如下图所示:模块解析SessionClientSessionManager中,按content_type来区分不转载 2013-07-13 20:14:44 · 937 阅读 · 0 评论 -
简析STUN协议
STUN简介STUN(Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一 个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT 路由器之后的主机之间建立UDP通信。该协议由RFC 3489定义。一旦转载 2013-07-14 15:42:32 · 799 阅读 · 0 评论 -
libjingle源码分析之:P2P
摘要 本文主要介绍了libjingle库中的P2P模块。概述 在libjingle中,P2P模块并非一个完全独立的模块,它的实现依赖于Jingle协议,需要通过libjingle中的其它模块获取必要的信息和支持。P2P模块的内部结构及与其它模块的关系如下图所示。 如前文所示,Soc转载 2013-07-13 20:14:20 · 1024 阅读 · 0 评论 -
ICE协议
这个文件描述了以UDP为基础的请求/回答模式的多媒体会话的NAT穿越的协议。这个协议名叫ICE。ICE利用了STUN协议和它的扩展版本TURN。ICE可以被任何请求/问答模式的协议利用。例如sip。1. 简介RFC 3264 定义了一个双向会话描述协议(SDP),以建立多媒体回话。这种请求/回答模式被sip利用。 请求/回答的协议很难穿越NAT。因为它们想要建立转载 2013-07-14 17:22:35 · 1161 阅读 · 0 评论 -
对照Jingle的XMPP stanza理解Libjingle的几个关键数据结构
1.SessionManager管理多个Session:Cpp代码 stanza理解Libjingle的几个关键数据结构" style="margin:0px; padding:0px; border:0px; list-style:none">class SessionManager { typedef std::map SessionMap;转载 2013-07-14 20:57:41 · 869 阅读 · 0 评论 -
音频编码对比
opus6 kb /秒到510 kb / s的比特率采样率从8 kHz(窄带)到48 kHz(全频)帧大小从2.5毫秒到60毫秒支持恒定比特率(CBR)和可变比特率(VBR)从窄带到全频段的音频带宽支持语音和音乐支持单声道和立体声支持多达255个频道(多数据流的帧)可动态调节比特率,音频带宽和帧大小良好的鲁转载 2014-12-26 18:52:32 · 3162 阅读 · 1 评论