自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

射击与移动

No passion, no gain. ——多媒体通信技术、应用和开源软件交流园地

  • 博客(42)
  • 资源 (6)
  • 收藏
  • 关注

原创 支持多协议(H.323,SIP和WebRTC)的视频会议MCU介绍

MCU 是一个基于国际多媒体通信标准(ITU-T H.323和IETF SIP,WebRTC)的、满足中小企业视频通信(点对点、多点会议)需求的多点控制单元。多点控制单元是一种允许多个站点连接到一个视频会议的设备,主要负责视频交换、音频混合、数据处理、终端接入、信令交互等。MCU 支持完整的会议控制、标清(CIF/SIF/4CIF/4SIF)及高清(720P/1080P)多分屏画面、双流及宽频...

2018-11-08 15:40:18 9253 1

原创 openvino c++推理华盛顿大学BackgroundMattingV2模型人像抠图

使用openvino c++推理华盛顿大学BackgroundMattingV2模型人像抠图。基本性能:仅使用CPU可以实现720P实时推理开源项目:https://github.com/kingpeter2015/libovmatting

2021-05-25 15:29:18 899

原创 视频会议MCU集群专利产品思路介绍

MCU集群应用场景主机配置档次系列化不足:假定1台E3 CPU主机支持8点终端接入,1台E5 CPU支持32点,没有合适的中间档次的主机配置; 高档主机相对更昂贵些:E5 CPU主机比E3 CPU主机贵很多,使用相对廉价主机达到以前只有昂贵主机才能达到的终端接入点数; 企业容量升级:企业开始购买8点MCU主机,后来容量需要升级,再购买1台8点MCU,合并成一个16点MCU使用; 最大支持...

2018-11-08 15:49:26 923

原创 webrtc中BEGIN_PROXY_MAP代码功能介绍

BEGIN_PROXY_MAP(VideoSource)开始声明VideoSourceProxy类,包括构造函数、析构函数和静态成员函数Create()。VideoSourceProxy继承VideoSourceInterface类。静态成员函数Create()创建一个VideoSourceProxy对象,并返回指针。PROXY_METHOD0(r, method)将方法met

2014-03-21 18:39:23 1715

原创 webrtc中的MethodCall0代码功能分析

MethodCall0实现了这样一个功能:将一个类对象的成员函数(无参数)放在某个线程上下文执行,并返回结果。涉及到webRTC的类有:Message, MessageHandler, Thread, ReturnType调用例子:下例是将proxy对象的Release_s方法放在thread执行上下文执行。VideoSourceProxy *proxy;talk_base

2014-03-21 09:31:35 1088

原创 Doubango 定时器管理用法

Doubango timer笔记 下面是Doubango定时器管理器的测试用例,说明了其用法。定时器管理器实现了: 通过创建两个线程,实现多个定时器管理,当定时时间到了后,调用定时器的回调函数。基本实现原理大致是这样。按定时时间,将定时器排序,取出最小的那个定时器(最近即将发生的那个),比较当前时间,若还差时间,进行等待(Windows下调用WaitForSingleObjec实现,Lin

2012-05-15 10:36:34 978

原创 Doubango runnable使用方法

Doubango runnable笔记下面是关于runnable的测试用例,解释了runnable的使用方法。runnable实现了这样一种机制: 启动runnable后,即启动一个线程,在线程运行上下文中处理放入runnable中的链表中的对象。 放入对象的线程上下文是调用runnable的线程(一般是主线程)。其中,runnable有个属性important, 意思就是: “if ye

2012-05-14 22:30:41 1540

翻译 doubango ANSI-C 对象编程的实现方法

doubango 3GPP IMS/LTE Framework v1.0.0 Programmer’s Guide正如你知道的,C语言不是一个面向对象的语言。今天,OOP(面向对象编程)是编写精心设计的软件的最好方式。在这份文档中“被定义的对象”是指一个特殊的C语言结构体。本文中的所有功能是tinySAK项目的一部分。为了解释如何定义对象及如何使用对象,我会使用一个基于“人”的

2012-03-14 17:36:40 1093

原创 Singletons vs. Application Context in Android?

Android应用程序中,关于保存全局数据是使用Singletons还是Application对象的一些讨论:(注明都是网上和书中摘录,为了好看的绿色,妄称原创,见谅!)Singletons are a nightmare for testing and, if lazily initialized, will introduce "state indeterminism" with su

2012-02-22 21:23:36 888

原创 Regexp使用示例(C++代码)

1 判断一个字符串是否为ip地址:Regexp reg("^[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}\\.[0-9]\\{1,3\\}$");String ip="192.168.1.222";bool match=false;match = ip.matches(reg); // true待续....附录—

2012-02-21 15:18:09 1598

原创 IMSDroid介绍

支持视频的开源SIP客户端不多,IMSDroid看起来不错,准备研究下。(另外还有SIPDroid和linphone了,SIPDroid好像不支持视频,linphone怎么样? )。有几个问题考虑:1) IMSDroid的架构,哪些部分使用C/C++实现,及数据流?2) 编解码是否可以使用硬件编码器?3) 回声抑制问题?4) 网络传输NAT问题?下载源码,源码目录下

2012-02-15 23:39:29 8966 3

原创 控制反转与java thread使用方法

早些年学习面向对象编程时候,好像没有“控制反转”概念。越来越多的编程和框架用到这个概念(Spring, Android等等),下面是摘自维基百科的资料和Java教材中Thread的使用放在一起,可以好好体会下这个概念。控制反转(英语:Inversion of control,缩写为IoC),也叫做依赖注入(Dependency Injection,简称DI),是面向对象编程中的一种设计

2012-02-15 23:07:30 5184

原创 嵌入式系统中圆角矩形填充的一种实现思路

关键词:anti-aliasing 反锯齿| 抗锯齿| 反走样| 抗锯齿处理相关开源项目: freetype,libart1 概述    本文介绍了一种绘制带圆角的矩形区域的思路,即在内存上或者一个图片上画一个带圆角的矩形区域,可以应用在嵌入式系统中自己实现按钮或者OSD菜单等。2 关键问题   画圆弧的关键是实现抗锯齿,即使圆弧看的比较圆润些。3 技术路线   1

2012-01-24 11:31:04 1222

原创 Yate开源软件Jabberclient模块接收Spark即时消息示例

使用Spark向Yate发送即时消息,在Yate侧收到信息如下: Receiving from 'agilevideo' [01388938]-----mcu01@agilevideo" from="mcudma@agilevideo/Spark 2.6.3" type="chat">  hi  26XX47            ----- Pro

2012-01-12 17:18:51 933

原创 Yate开源软件Jabberclient模块实现注册openfire过程分析

Using jabber client in server modeLoad jabber client moduleSince jabberclient is a client module, not loaded when Yate is running in server mode, you must explicitly load it.To do that set in ya

2012-01-11 16:32:29 2010 1

转载 Signals、sigslot简介

在复杂的工程中,整个系统被分为数个模块,每个模块提供有限的功能,由上层调用从而组成整个系统,为了保证每个模块的独立性,我们经常限制模块与模块之间直接联系,每个模块只提供有限的API或Com接口,内部完全封装起来。有时候两个不同的逻辑层的模块需要通信,如果直接include头文件会使项目变的复杂,sigslot的出现为我们提供了一种解决问题的思想,它用“信号”的概念实现不同模块之间的传输问题,s

2011-11-01 23:04:56 927

原创 macro redefinition警告或错误的解决方法

Windows下使用VS2008编译时经常遇到macro redefinition警告或错误,如:c:\programme\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : warning C4005: 'AF_IPX'

2011-10-09 19:36:48 33126

原创 Windows下WebRTC的编译方法

环境:win7, VS2008, Windows SDK 1 下载google的源码工具depot_toolssvn co http://src.chromium.org/svn/trunk/tools/depot_tools并把depot_tools添加到系统的环境变量PATH里;2 下载git工具:并把git添加到系统的环境变量PATH里3 创建webrtc工作目录,并

2011-09-29 22:17:52 5316 2

转载 vs2010出现编译错误 fatal error C1189: #error : Need to include strsafe.h after tchar.h

问题:vs2010出现编译错误 fatal error C1189: #error :  Need to include strsafe.h after tchar.h解决办法:在include之前增加#include #include

2011-09-22 23:21:57 5796

转载 YATE内部的消息机制

一、 消息消息是YATE的一个主要组成部分。所有的模块间通信都使用消息而不使用函数调用,这主要是因为我们考虑当一个模块发生变化的时候不影响或不依赖于其他模块,也因为这样让我们的模块调试可以更容易些。一个消息是几个组件的容器:•名字(name)——消息类型的标识,允许消息处

2011-09-13 08:59:23 1044

转载 YATE实现一号双机业务

一号双机业务就是主叫拨打被叫的一个电话号码,而被叫绑定的两个或多个电话同时振铃,哪个先接听都可以,第一个接听后其他电话停止振铃。传统交换机中实现如此功能大多是采用智能网平台(IN),对于YATE这样的软交换平台可以较容易的实现。具体方法如下。实现原理:还是在路由模块来下手

2011-09-13 08:57:50 1354

转载 两个YATE服务器互联的实现

一、 引言根据研究的进度,我们已经知道在一台YATE服务器上用简单的注册、认证模块:regfile,配置用户信息,同一个域内的用户可以成功注册到一个YATE服务器上,并呼叫成功。但我们没有完成的是如何使两台YATE服务器实现互联,让一台YATE的用户成功呼叫另一台YATE的用

2011-09-13 08:55:57 1552

原创 ICE介绍

高清视频会议MCU1关于ICE的10个事实1 ICE使用STUN和TURN2 ICE是一种P2P的NAT穿越方式3 ICE只需要网络提供STUN或TURN服务器4 ICE允许在很复杂的网路环境下传输媒体流5 ICE只在确定媒体流可到达情况下才让电话进行振铃6 ICE动态发现终端间媒体流的最短路径7 ICE可以附带消除DoS攻击8 ICE可以几乎和任意类型的N

2011-09-12 23:47:39 28286 1

原创 [x264]int16_t (*mv[2])[2]的含义

指包含两个指针的数组,每个指针指向的是包含int16_t[2] 的数组。这里注意,sizeof(mv) = 8 (每个指针是4个字节,有两个指针)mv相当于二维数组的行指针。而 int16_t  *a[2][2] 中 sizeof(a) = 16参考1

2011-09-12 23:45:31 1433

转载 SIP视频会议中的双流实现

搜集的一些关于SIP视频会议中实现双流的信息。来自Radvision的信息Data Collaboration In Video ConferencingGuest post bySasha RuditskyCategories:Collaboration,Video Conferencing | September 15, 2009 Dual Video in SIP

2011-04-18 14:00:00 8793 1

原创 如何改变Tab Control的颜色

搜罗了一下,还没有发现完整的描述资料,这里简单描述一下自己摸索的思路。要改变Tab Control的颜色,首先了解Tab Control的组成:Tab页头,Tab页和背景。所以需要同时改变这三个部分颜色,才能达到目的。关键词: MFC, C/C++, GUI1)改变Tab页头的颜色这部分可参考MSDN的资料,这里不再重复。 http://support.microsoft.com/kb/179909/en-us How To Change the Background Color of a Tab Cont

2011-04-06 14:46:00 9891 2

原创 Flex 技巧点滴之一

第1条 设置保留MXML编译产生的ActionScript 3代码。 在Flash Builder集成开发环境下,用鼠标右键点击某个felx项目,出现右键菜单,选择属性菜单项。然后选择Flex编译器,在附加编译器参数位置,增加 -keep,如下图。下次工程编译后,在工程部署目录下的generated/目录下产生.as文件。  第2条 构建Flex+JAVA开发环境 

2010-04-05 14:22:00 1682

转载 VMWARE VMNET0 is not running解决方法

    相信很多朋友像我一样.遇到了这个问题!     以前在VMware上安装了Redhat Enterprise Linux,卸载重装VMware,打开原来安装的Linux镜像文件,就会出现如下错误: The network bridge on device VMnet0 is not running. The virtual machine will not be able to c

2009-12-14 21:33:00 1147

转载 安装linux后重新安装windows的方法(清除MBR的方法)

方法一 DOS启动: DEBUG -a MOV AX,0301 MOV BX,1000 MOV CX,1 MOV DX,80 INT 13 INT 3 - F 1000 FFFF 0 - G - Q另外一点要注意,如果你的硬盘不是IDE0上的MASTER,需要把DX,80改成DX,180/280/380(有可能有4块硬盘) 方法二(在linux下)dd if=/dev/zero

2009-12-14 21:16:00 1125

转载 硬盘安装linux方法

1.下载 Grub4dos ,爆开后将里面的 grldr 拷贝到 c:/可以到这里下载:http://download.gna.org/grub4dos/ 2.将 CentOS 的第一个 ISO 文件里的isolinux目录中的 vmlinuz 和 initrd.img 提取出来。我将提取出来的文件放在我的第一块硬盘的第三个分区上(对应Windows下的E盘,fat32格式) 3.

2009-12-14 21:14:00 579

转载 gnugk系統設計

作者姓名:黃志偉 高清视频会议MCUgnugk系統設計採用多執行緒架構,以平行處理各種請求與不同的工作。程式啟始時,完成初始化和必要的檢查之後,隨即分支出數個執行緒,處理不同的請求。主執行緒則成為RasServer,產生RasListener 監聽RAS的請求。在收到RAS請求後,RasServer 利用物件工廠產生對應的RasMsg物件,並且檢查是否有某個RAS處理器在等待(攔截)該

2008-03-02 17:46:00 1286

原创 gnugk代码解读之三:媒体通道数据和媒体控制通道数据的路由

H.245控制信令处理       在ProxyHandleThread::Exec()函数中,进入H245Socket::ReceiveData()函数中sigSocket->HandleH245Mesg(strm)),再由m_h245handler处理这个消息流m_h245handler->HandleMesg(strm) 解码流,判断四种类型的消息(如果是H245ProxyHandl

2008-03-01 16:28:00 1208

原创 gnugk代码解读之二:H.245控制信令路由的实现

H.245控制信令处理对象        相关类H245Handler和H245ProxyHandler。H245Handle: This class handles H.245 messages which can either be transmitted on their  own TCP connection or can be tunneled in the Q.931 connec

2008-02-29 19:49:00 1827

原创 gnugk代码解读之一:H.225.0呼叫信令路由的实现

简介     Call signaling messages may be passed in two ways. The first method is Direct Endpoint Call Signaling, in which case the call signaling messages are passed directly between the endpoints. The

2008-02-29 14:09:00 2340

原创 H.460.19介绍: H.323媒体穿越NAT和防火墙

 简介        H.460.19定义了H.323系统中媒体流穿越NAT和防火墙的过程,以及媒体复用模式。它与H.460.18同样基于Cient-Server模型,定义了Client与Server之间的穿NAT和防火墙的过程(注意并没有定义Client-Client或Server-Server之间穿NAT和防火墙的方法)。穿NAT和防火墙        由于媒体控制通道本身就是

2008-02-26 14:12:00 3816

原创 H.460.18介绍: H.323信令穿越NAT和防火墙

简介      H.460.18的全称是H.323信令穿越NAT和防火墙,它是国际电联(ITU-T)制定的H.323系统中信令穿越NAT和防火墙的标准,与之密切相关的协议是H.248.19,它媒体穿越NAT和防火墙的标准方法。它有以下两个特点:1) 它基于Client-Server模型,并不是p2p穿NAT和防火墙的方法(如IETF的ICE)2) 没有进行NAT类型检查(不能实现

2008-02-25 20:41:00 5222

原创 live555代码解读之三:SETUP和PLAY请求消息处理过程

SETUP请求消息处理过程        前面已经提到RTSPClientSession类,用于处理单独的客户会话。其类成员函数handleCmd_SETUP()处理客户端的SETUP请求。调用parseTransportHeader()对SETUP请求的传输头解析,调用子会话(这里具体实现类为OnDemandServerMediaSubsession)的getStreamParamete

2008-02-22 15:03:00 2399

原创 live555代码解读之二:DESCRIBE请求消息处理过程

live555代码解读之二:DESCRIBE请求消息处理过程       RTSP服务器收到客户端的DESCRIBE请求后,根据请求URL(rtsp://192.168.1.109/1.mpg),找到对应的流媒体资源,返回响应消息。live555中的ServerMediaSession类用来处理会话中描述,它包含多个(音频或视频)的子会话描述(ServerMediaSubsession)。

2008-02-21 15:56:00 2680

原创 live555代码解读之一:RTSP连接的建立过程

live555代码解读之一:RTSP连接的建立过程RTSPServer类用于构建一个RTSP服务器,该类同时在其内部定义了一个RTSPClientSession类,用于处理单独的客户会话。首先创建RTSP服务器(具体实现类是DynamicRTSPServer),在创建过程中,先建立Socket(ourSocket)在TCP的554端口进行监听,然后把连接处理函数句柄(RTSPServe

2008-02-21 10:24:00 3675

原创 RTSP点播——消息流程实例

RTSP点播消息流程实例(客户端:VLC, RTSP服务器:LIVE555 Media Server)1)C(Client)-> M(Media Server)OPTIONS rtsp://192.168.1.109/1.mpg RTSP/1.0CSeq: 1user-Agent: VLC media player(LIVE555 Streaming Media v2007.02.20)1

2008-02-20 16:09:00 3895 3

Frost&Sullivan《201904中国视频通信行业白皮书》.pdf

中国视频通信行业白皮书

2021-11-12

ZhongTuDaoQiJi_中途岛奇迹.pdf

中途岛

2021-11-12

Weighted Finite-State Transducers Important Algorithms

Weighted Finite-State Transducers Important Algorithms University of Tokyo

2019-07-28

vesely_interspeech2013_IS131333.pdf

Sequence-discriminative training of deep neural networks

2019-07-28

H.264/SVC Performance and Encoder Bit- stream Analysis

With the introduction of diverse variety of display transmission and resolutions channel capacities, the Joint Video Team (JVT) has developed the H.264/SVC as an extension of H.264/AVC. In fact, it provides a single compressed bit-stream with several scalability levels. Such a dataflow needs to be analyzed. Consequently, this paper is the first that decorticates and investigates the H264/SVC bit-stream in order to highlight its contribution from one hand and to analyze deeply the different sub bit-stream modules in terms of size and importance on the other hand. Results of a first analysis shows that multicast coding using H264/SVC standard provides an average bit rate reduction of 18% compared to simulcast. Second analysis demonstrates the importance of inter layer prediction. Then a third study illustrates two best combinations for two network bandwidth limitation. Finally, analysis of different subfields that constitute H264/SVC bit stream shows the importance of the residual module which can form up to 72% of the total data output. Results also illustrate the significance of the inter-layer prediction. In fact, base layer information takes the lion’s share of bit consumption mainly for B frame.

2019-07-28

A Technical Overview of VP9--the Latest Open-Source Video Codec

A Technical Overview of VP9--the Latest Open-Source Video Codec Google has recently finalized a next generation open-source video codec called VP9, as part of the libvpx repository of the WebM project (http://www.webmproject.org/). Starting from the VP8 video codec released by Google in 2010 as the baseline, various enhancements and new tools were added, resulting in the next-generation bit-stream VP9. The bit-stream was finalized with the exception of essential bug-fixes, in June 2013. Prior to the release however, all technical developments in fact were being conducted openly in the public experimental branch of the repository for many months. This paper provides a brief technical overview of the coding tools included in VP9, along with coding performance comparisons with other state-of-the-art video codecs - namely H.264/AVC and HEVC - on standard test sets. While a completely fair comparison is impossible to conduct because of the limitations of the respective encoder implementations, the tests show VP9 to be quite competitive with main-stream state-of-the-art codecs.

2019-07-28

空空如也

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

TA关注的人

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