自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 收藏
  • 关注

原创 是的,我们SIP客户端打算采用resiprocate,媒体采用webrtc

如题!呵呵!

2016-06-28 16:44:15 1471 1

原创 freeswitch配置同个SIP账号注册多个终端

在 sip profile 里开启这个             -->

2016-06-28 13:57:36 5461 1

原创 pjsip,webrtc音视频解决方案

WebRTC提供了视频会议的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:windows,linux,mac,android, ios。pjsip + 移植并且优化后的webrtc整个音频引擎 + silk + 视频 + 优化后的p2p 协议;VoiceEngine:音频引擎是包含一系列音频多媒体处理的框架,包括从视频采集卡到网络传输端等整

2016-04-10 19:09:50 6465 2

原创 内存管理

2015-11-07 10:37:00 505

转载 阐述信号与系统中三大变换(即傅里叶变换、拉普拉斯变换、Z变换)的关系

傅立叶变换是最基本得变换,由傅里叶级数推导出。傅立叶级数只适用于周期信号,把非周期信号看成周期T趋于无穷的周期信号,就推导出傅里叶变换,能很好的处理非周期信号的频谱。但是傅立叶变换的弱点是必须原信号必须绝对可积,因此适用范围不广。拉普拉斯变换是傅立叶变换的推广,傅立叶变换不适用于指数级增长的函数,而拉氏变换相当于是带有一个指数收敛因子的傅立叶变换,把频域推广到复频域,能分析的信号更广。然而缺点

2015-11-06 11:43:51 19382

原创 关于FitIn和FitOut

首先说明下什么是FitIn,FitOut,我刚接触这个概念时也是一头雾水!这两个名词是我在新公司听到的,不知道类似的功能,大家是不是也是这么称呼!以下是我理解的!先总体说下:FitIn和FitOut都是使图片宽或高和容器一致,然后缩放时,FitIn是再使高或宽小于容器的,FitOut是再使高或宽大于容器的。FitIn:比如说有张图片,它的宽或高大于放图片的容器的宽高,如果想要图片完整地

2015-01-06 16:59:28 1859

转载 样本函数

样本函数随机过程X(t,w)是定义在T*W上的二元函数:(1)当t固定时,X(t,w)是定义在W上的随机变量  (2)当w固定时,X(t,w)是定义在T上的普通函数,此时间函数即称为随机过程的样本函数

2015-01-06 10:11:54 4782

转载 音频编码对比

opus6 kb /秒到510 kb / s的比特率采样率从8 kHz(窄带)到48 kHz(全频)帧大小从2.5毫秒到60毫秒支持恒定比特率(CBR)和可变比特率(VBR)从窄带到全频段的音频带宽支持语音和音乐支持单声道和立体声支持多达255个频道(多数据流的帧)可动态调节比特率,音频带宽和帧大小良好的鲁

2014-12-26 18:52:32 3017 1

转载 ffmpeg编译android 硬解码支持库 libstagefright

http://www.cnblogs.com/tanlon/p/4078249.html

2014-11-06 20:59:14 1034

转载 语音识别的技术原理

简要给大家介绍一下语音怎么变文字的吧。首先说一下作为输入的时域波形。我们知道声音实际上是一种波。常见的mp3、wmv等格式都是压缩格式,必须转成非压缩的纯波形文件,比如Windows PCM文件,即wav文件来处理。wav文件里存储的除了一个文件头以外,就是声音波形的一个个点了。采样率越大,每毫秒语音中包含的点的个数就越多。另外声音有单通道双通道之分,还有四通道的等等。对语音识别任务来说,

2014-11-05 11:37:55 1222

转载 高效视频编码(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 1256

转载 高效视频编码(HEVC)标准概述(四)之ABCDEF

IV. HEVC视频编码技术和从H.261 [2]开始的、之前所有ITU-T与ISO/IEC JTC 1制定的视频编码标准一样,HEVC的设计沿袭了经典的基于块的混合视频编码方式(如图1所示)。这种基本的源编码算法混合了利用时域统计相关性的帧间预测、利用空域统计相关性的帧内预测,并对预测的残差信号进行变换编码以进一步利用空域统计相关性。相对于先前的视频编码标准,HEVC在压缩效率方面的重大

2014-11-04 01:03:41 996

转载 高效视频编码(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 617

转载 高效视频编码(HEVC)标准概述(二)

II. HEVC 编码设计和特性的要点HEVC标准是为达到如下多个目标而设计的:编码效率,易于整合到传输系统,数据丢失的恢复,以及并行处理能力。下列各段简要描述标准所设计的用以实现上述目标的关键元素, 以及可以产生有效码流的典型编码器操作。各元素的相关句法和解码过程的更多细节将在第III、IV节中给出。A. 视频编码层    HEVC的视频编码层采用了自H.261以来所有的视频压缩标准

2014-11-03 22:43:19 1051

转载 VP8 的败笔 VS H264

VP8  视频压缩解决方案厂商On2 Technologies公司现已推出最新的视频压缩格式On2 VP8。On2 VP8是第八代的On2视频,能以更少的数据提供更高质量的视频,而且只需较小的处理能力即可播放视频,为致力于实现产品及服务差异化的网络电视、IPTV和视频会议公司提供理想的解决方案。  对更高效视频压缩格式的需求显着  高清电影和电视节目的下载与发送如今

2014-11-03 22:19:58 1359

转载 解读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 1816

原创 h264 图像、帧、片、NALU

H.264 是一次概念的革新,它打破常规,完全没有 I 帧、P帧、B 帧的概念,也没有 IDR帧的概念。对于 H.264中出现的一些概念从大到小排序依次是:序列、图像、片组、片、NALU、宏块、亚宏块、块、像素。这里有几点值得说明:(1)、在 H.264协议中图像是个集合概念,顶场、底场、帧都可以称为图像(本文图像概念时都是集合概念)。因此我们可以知道,对于H.264 协议来说,我们平常所熟悉

2014-10-20 13:15:40 633

原创 webrtc(不定时更新)

话唠】hhoolbuild/common.gyp  static_library 改为 shared_library【话唠】hhool2014/10/10 21:58:56gclient runhooks

2014-10-10 22:00:07 1504

转载 Lucas-Kanade算法原理介绍及OpenCV代码实现分析

http://blog.skyoung.org/2014/04/13/Lucas-Kanade-Tracker/

2014-09-22 23:37:38 9031 1

转载 webrtc学习笔记(牛人博客转载)

http://blog.csdn.net/fanshengchong/article/details/11012691

2013-12-10 10:31:19 840

转载 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 2300

转载 STUN和TURN技术浅析

在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet。很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要其他公共服务器的中转。由于主机可能位于防火墙或NAT之后,在进行P2P通信之前,我们需要进行检测以确认它们之间能否进行P2P通信以及如何通信。这种技术通常称为NAT穿透(NAT Traversal)。

2013-12-04 18:42:35 796

转载 gallery总结

进入Gallery以后通过startDefaultPage启动界面,data.putString(AlbumSetPage.KEY_MEDIA_PATH, DataManager.TOP_LOCAL_TIME_SET_PATH);getStateManager().startState(LocalTimeAlbumSetPage.class, data);data.putString(Al

2013-12-01 16:51:48 1112

转载 启动hbase 报错 Address already in use 的解决办法

master: java.net.BindException: Address already in usemaster:         at sun.nio.ch.Net.bind(Native Method)master:         at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:1

2013-09-14 15:11:29 1135

转载 分布式搜索方案选型

分布式搜索方案选型之一:Solr      我第一个了解到的分布式搜索框架是solr,它是由java开发的,基于lucene的分布式搜索引擎,提供了类似于webserver的编程接口,是一个比较成熟的搜索引擎,目前很多公司都在使用。很快我就部署了一个由4台机器组成的solr集群,开始导公司的数据进去测试,导的数据为200万。导入速度非常快。接下来就开始测试查询效率,发现它是有缓存的,第一次

2013-08-01 20:53:50 672

原创 webtc代码流程

接收数据:OnPacketReceived->ViENetworkImpl::ReceivedRTPPacket()->ViEChannel::ReceivedRTPPacket()->ViEReceiver::ReceivedRTPPacket()->ViEReceiver::InsertRTPPacket()->ModuleRtpRtcpImpl::IncomingRtpPacket()->R

2013-07-16 20:47:46 1555

转载 对照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 857

转载 ICE协议

这个文件描述了以UDP为基础的请求/回答模式的多媒体会话的NAT穿越的协议。这个协议名叫ICE。ICE利用了STUN协议和它的扩展版本TURN。ICE可以被任何请求/问答模式的协议利用。例如sip。1. 简介RFC 3264 定义了一个双向会话描述协议(SDP),以建立多媒体回话。这种请求/回答模式被sip利用。       请求/回答的协议很难穿越NAT。因为它们想要建立

2013-07-14 17:22:35 1128

转载 简析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 785

转载 P2P的原理和常见的实现方式(为libjingle开路)

为了项目的后期IM应用,最近在研究libjingle,中间看了也收集了很多资料,感慨网上很多资料要么太过于纠结协议(如STUN、ICE等)实现细节,要么中间有很多纰漏。最后去伪存真,归纳总结了一下,希望对以后的同行有些许帮助。   如果有什么需要讨论或者指正的,欢迎留言或者邮件[email protected]                            P2P实现的原理

2013-07-13 20:16:53 817

转载 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 1086

转载 libjingle源码分析之:Session和Transport

摘要        本文介绍了Session和Transport模块。概述        Session、SessionClient、Transport和TransportChannel的关系如下图所示:模块解析SessionClientSessionManager中,按content_type来区分不

2013-07-13 20:14:44 921

转载 libjingle源码分析之:P2P

摘要        本文主要介绍了libjingle库中的P2P模块。概述        在libjingle中,P2P模块并非一个完全独立的模块,它的实现依赖于Jingle协议,需要通过libjingle中的其它模块获取必要的信息和支持。P2P模块的内部结构及与其它模块的关系如下图所示。        如前文所示,Soc

2013-07-13 20:14:20 1004

转载 libjingle源码分析之:Thread和SocketServer

摘要      本文主要分析了libjingle源码中的Thread和SocketServer模块,以及它们是如何协同工作的。首先,介绍了Thread和SocketServer的模型,给出了如何使用Thread的示例。然后,分析了Thread中的默认消息循环的处理流程和如何自己处理消息。概述      libjingle源码中,Thread和So

2013-07-13 20:12:39 1083

转载 libjingle翻译之《Important Concepts(重要概念)之Data Packets(数据包)》

Data Packets(数据包)计算机间的P2P数据被多重协议封装,就像下图演示的,具体被什么协议封装依懒于实现的应用程序。并不是每个应用程序都能用到所有的协议,例如:文件传输应用使用了pseudo-tcp协议,但是语音聊天应用却没有使用

2013-07-13 20:10:36 713

转载 libjingle翻译之《Important Concepts(重要概念)之Candidates(候选)》

Candidates(候选)libjingle一个主要的好处就是它可以穿透防火墙和NAT设备进行链接协商。libjingle使用ICE机制穿透防火墙。libjingle应用程序第一步要做的就是在试图协商一个链接时为其它计算机的链入创建一个潜在的本地端口地址链表。链表中的每个潜在的地址就称作一个候选。候选就是“IP地址:端口”对应对,这些对应对使应用程序和其它计算机互联(技术上,这些对应对只在本

2013-07-13 20:09:34 693

转载 libjingle翻译之《Important Concepts(重要概念)之Transports, Channels, and Connections(传输、通道、链接)》

Transports, Channels, and Connections(传输、通道、链接)每个p2pTransportChannel代表了本地机与远程机的数据通道。这个通道实际上包含着(隐藏着)一个设计复杂而健壮的体系。P2PTransportChannel管理着大量的不同的Connection对象,每个对象代表了一个不同种类的链接(UDP,TCP等)。一个Connection对象实际上封

2013-07-13 20:07:40 1229

转载 libjingle翻译之《Important Concepts(重要概念)之Connections(链接)》

Connections(链接)一个p2p的链接实际上由两个通道组成。●  session negotiation channel(也称作signaling channel),会话协商通道。是为数据链接服务的沟通通道。这个通道被用来回应取得一个链接的请求,交换候选,和协商会话的细节(比如:套接字地址,需要的编码方案,交换的文件,链接改变请求,终止请求)。这个通道是两个计算机之间建立的第一个链

2013-07-13 20:06:19 638

转载 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 964

转载 libjingle翻译之《Important Concepts(重要概念)之Naming Conventions(命名约定)》

Naming Conventions(命名约定) libjingle有一些命名约定,比较有用;OnSomeMethod   凡是以“On”开头的函数,大多和一个信号成员关联起来了,不是在本身对象内就是在其它对象内实现了这种关联。如果此函数被所在对象调用,大有可能是在不同的线程内调用的(即对象通过另一个线程调用自身的函数)。SomeMethod_w  在worker thread中(

2013-07-13 20:02:56 646

空空如也

空空如也

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

TA关注的人

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