04 2014 档案
摘要:摘要:对于一个大型网站来说,负载均衡是永恒的话题。随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP、Citrix NetScaler、Radware等等,虽然可以解决问题,但其高昂的价格却往往令人望而却步,因此负载均衡软件仍然是大部分公司的不二之选。nginx作为we...
阅读全文
摘要:GPU加速技术对普通消费者最直观的影响就是视频转码应用上了,NVIDIA.、AMD以及Intel都有自己的加速技术,而在新一代CPU和GPU架构上,三方都有更新的技术方案。 NVIDIA在Kepler架构上引入了NVENC编码单元,实测画质与CUDA相当,但是速度更快,只不过在速度和功耗上依然...
阅读全文
摘要:入门教程:http://www.ituring.com.cn/minibook/303 ;http://angularjs.cn/tag/AngularJS原因一:Google开发的框架要知道开源界的很多框架都是开发人员由于个人兴趣或者激情而开发出来的,比如,Cappucino还有Knockout。...
阅读全文
摘要:AngularJS是一个超棒的javascript框架,不单单对于开发人员来说非常有吸引力,对于UI设计师来说也同样出色。在这篇教程中,我们将简单的介绍AngularJS几个重量级必备特性,并且介绍它如何能够让你的web应用更加强大!AugularJS简单介绍AngularJS是一个新出现的强大客户...
阅读全文
摘要:http://www.bootcss.com/http://expo.bootcss.com/http://www.webresourcesdepot.com/20-beautiful-resources-that-complement-twitter-bootstrap/http://www.cn...
阅读全文
摘要:一.流媒体软件:Open Broadcaster SoftwareOBS 是一个开源的流媒体软件,你可以用它来录制屏幕、摄像头、游戏视频,保存成文件或者上传到youtube、通过twutch.tv进行直播。主要特性有:使用H264(x264)和AAC编码支持Quick Sync Video (QSV...
阅读全文
摘要:1. 带宽计算FMS内置了带宽检测的特性(被称作"native bandwidth detection"),要进行带宽检测,客户端只要在成功连接到服务器之后调用NetConnection.call("checkBandwidth")。简单步骤如下:a. 服务器端允许带宽检测:编辑Applicatio...
阅读全文
摘要:一.PC端直播:YY客户端直播用的udp(P2P)9158客户端直播用的rtp/rtcp二.Web端直播:YY网页端直播用的tcp9158网页端直播用的tcp六间房网页端直播用的tcp17173网页端直播用的tcp三.移动端直播:YY的Android端直播用的udp(P2P)9158的IOS端直播用...
阅读全文
摘要:官方连接:http://help.adobe.com/en_US/flashmediaserver/configadmin/WS5b3ccc516d4fbf351e63e3d119f2925e64-8000.htmlFMS服务器将应用划分为四个层面:Server/Adaptor/Vhost/Appl...
阅读全文
摘要:毫无疑问,随着互联网、移动网络接入成本的降低,互联网正在日益深入地走入我们的生活,越来越成为人们获取信息的高效平台,ICP行业也顺势呈现出强劲的成长趋势,成为互联网迅猛发展形势下最大的受益者,也直接促成了从web1.0到web2.0以及社区、博客、视频等一系列互联网时代的更迭和运营模式的变动。 但...
阅读全文
摘要:采用该技术,能large-scale你的直播系统,结构如图所示:A.Live VideoB.Server 1 (New York City) C.Server 2 (Chicago) and Server 3 (Los Angeles)D.Users1.客户端代码:ns.publish("local...
阅读全文
摘要:在开始一个使用 FLASH MEDIA SERVER的项目开始之前,最好能够对你项目使用FLASH MEDIA SERVER 3的带宽需求进行计算.这样对你的项目最终的实现效果,会有一个稳定的结果;去评估您的 Flash Media Server 应用所使用的带宽, 您需要了解如下内容:您的应用并发...
阅读全文
摘要:默认FMS在安装的时候,会安装Apache2.2,并监听8134端口,代理http服务器;当如也可以用外部的服务器,此时建立站点,并指向目录:C:\Program Files\Adobe\Flash Media Server 3.5\webroot ,为避免与其它网站端口冲突,建议端口改为8080,...
阅读全文
摘要:在FlashCom中的Camera, Microphone, LocalConnection, NetConnection,NetStream和 SharedObject对象都提供了事件响应,onstatus事件的返回信息记录在信息对象中。为了能够响应这些事件,你必须创建一个方法来处理信息 对象,而...
阅读全文
摘要:FMS服务器端安装后,唯一需要注意的是设置端口,默认的访问端口是1935和80,如果服务器上安装了IIS提供 WEB服务,那么需要将80修改为其他端口如8080,否则,IIS将会无法工作。如果愿意,也可以修改IIS网站的端口,如果今后想修改端口,也可以在 安装目录下的conf/fms.ini中修...
阅读全文
摘要:一.前言安装完FMS4.5以后就有了apache2.2,由于在FMS安装目录里面,他是对外面已经安装的是没有影响的,默认情况向, FMS监听80端口接收traffic然后传递给Apache的8134端口(rootinstall/Apache2.2/conf/httpd.conf 文件中的 Liste...
阅读全文
摘要:1. RTMP协议介绍RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的私有协议。它有三种变种:1)工作在TCP之上的明文协议,使用端口1935;2)RTMPT封装在HTTP请求...
阅读全文
摘要:fms自身已经拥有了httpd,用来给客户端访问用,例如通过http的音频播放。众所周知,非专业的httpd自然有不专业之处,例如我遇到的情况就是经常http服务假死,或者在访问量庞大的时候会无缘无故down掉。于是尝试通过apache进行http服务,停掉fms的httpd。效果还不错,没有假死、...
阅读全文
摘要:一、启动LVS集群服务LVS负载均衡管理和使用有两种方式,一种是以ipvsadm命令行脚步与ldirectord监控方式,一种是以Piranha工具进行管理和使用。下面分别介绍。1、利用ipvsadm命令行脚步与ldirectord监控方式管理LVS在一切配置完毕之后,依次执行下面的操作启动LVS集...
阅读全文
摘要:LVS集群有DR、TUN、NAT三种配置模式,可以对www服务、FTP服务、MAIL服务等做负载均衡,下面通过搭建www服务的负载均衡实例,讲述基于DR模式的LVS集群配置。一、Director Server的配置在Director Server上配置LVS负载均衡集群,有两种方法:通过ipvsa...
阅读全文
摘要:一、 安装LVS软件1.安装前准备工作操作系统:统一采用Centos4.4版本。地址规划,如表1所示:表1更详细的信息如图2所示:图2 LVS DR模式安装部署结构图图2中的VIP指的是虚拟IP地址,还可以叫做LVS集群的服务IP,在DR、TUN模式中,数据包是直接返回给用户的,所以,在Direct...
阅读全文
摘要:一、 LVS简介LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org。现在LVS已经是 Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要...
阅读全文
摘要:一.基于RR-DNS的解决方法NCSA的可伸缩的WEB服务器系统就是最早基于RR-DNS(Round-Robin Domain Name System)的原型系统。它的结构和工作流程如下图所示:基于RR-DNS的可伸缩WEB服务器有一组WEB服务器,他们通过分布式文件系统AFS(Andrew Fil...
阅读全文
摘要:CRtmpServer分析与应用官方地址:http://www.rtmpd.com/CRtmpServer是一款不错的开源流媒体服务器,用c++语言编写,跨平台。官方介绍CRtmpServer不仅支持adobe rtmp协议,还支持其它常用的协议:To and from Flash (RTMP,RT...
阅读全文
摘要:收看软件不一样:CDN直播收看无需安装第三方收看软件,一般操作系统已带播放器软件;P2P直播收看需要安装厂家自己的播放器软件,每家P2P的软件不兼容,收看者要装多套软件才能收看不同内容。 收看人数不一样:CDN直播支持一个人-几千人收看都能保证收看质量,是电信级的 QoS质量保证;P2P在几...
阅读全文
摘要:分级视频编码技术实现一次性编码产生具有不同帧率、分辨率的视频压缩码流,然后根据不同网络带宽、不同的显示屏幕和终端解码能力选择需要传输的视频信息量,以此实现视频质量的自适应调整AVC 实际上是 H.264 协议的别名。但自从 H.264 协议中增加了 SVC 的部分之后,人们习惯将不包含 SVC 的 ...
阅读全文
摘要:视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。简单地说,I帧是关键帧,属于帧内压缩。就是和AVI的压缩是一样的。P是向前搜索的意思。B是双向搜索。他们都是基于I帧来压缩数据。I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧...
阅读全文
摘要:在obj-c中我们可以向一个实例发送消息,相当于c/c++ java中的方法调用,只不过在这儿是说发送消息,实例收到消息后会进行一些处理。比如我们想调用一个方法,便向这个实例发送一个消息,实例收到消息后,如果能respondsToSelector,那么就会调用相应的方法。如果不能respond一般情...
阅读全文
摘要:转自:http://wiki.sip2sip.info/projects/sip2sip/wiki/SipDeviceConfigurationSIP Device ConfigurationThere are thousands of SIP devices on the market, for ...
阅读全文
摘要:内存管理基本原则内存管理的依循下面的基本原则自己生成的对象,那么既是其持有者不是自己生成的对象,也可成为其持有者(一个对象可以被多个人持有)如果不想持有对象的时候,必须释放其所有权不能释放已不再持有所有权的对象不管ARC有没有效,该原则始终存在。所有权关键字从代码上看,有ARC的代码和没有ARC的代...
阅读全文
摘要:异常处理是管理非典型事件(例如未被识别的消息)的过程,此过程将会中断正常的程序执行。如果没有足够的错误处理,遇到非典型事件时,程序可能立刻抛出(或者引发)一种被称之为异常的东西,然后结束运行。异常的类型程序抛出异常的原因多种多样,可由硬件导致也可由软件引起。异常的例子很多,包括被零除、下溢和上异之类...
阅读全文
摘要:[0] Outline -- [1] 版本和平台 -- [2] 与Runtime System交互 -- [3] 方法的动态决议 -- [4]消息转发 -- [5]类型编码 -- [6]属性声明[1] 版本和平台Runtime System对于Objective-C来说就好比是它的操作系统,或者说是...
阅读全文
摘要:什么是Objective-C runtime?简单来说,Objective-C runtime是一个实现Objective-C语言的C库。对象可以用C语言中的结构体表示,而方法(methods)可以用C函数实现。事实上,他们差不多也是这么干了,另外再加上了一些额外的特性。这些结构体和函数被runti...
阅读全文
摘要:初学 Objective-C(以下简称ObjC) 的人很容易忽略一个 ObjC 特性 —— ObjC Runtime。这是因为这门语言很容易上手,几个小时就能学会怎么使用,所以程序员们往往会把时间都花在了解 Cocoa 框架以及调整自己的程序的表现上。然而 Runtime 应该是每一个 ObjC 都...
阅读全文
摘要:1.除非有必要,否则不要引用头文件,一般来说应该利用@class使用前向声明,并在实现中引用头文件;如果实在无法使用,比如要声明某个类遵循一项协议,这种情况下,尽量把这条声明移到分类中,如果不行的话,就把协议单独放到一个头文件中,然后再引入2.应该使用字面量语法来创建字符串、数值、数组、字典,这样做...
阅读全文
摘要:作用:NSNotificationCenter是专门供程序中不同类间的消息通信而设置的.注册通知:即要在什么地方接受消息[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(mytest:)name:@" myt...
阅读全文
摘要:-(BOOL) isKindOfClass:class-object 对象是不是class-object或其子类的实例-(BOOL) isMemberOfClass:class-object 对象是不是class-object的实例-(BOOL) comformsToProtocal:protoca...
阅读全文
摘要:#include"webrtc\voice_engine\include\voe_base.h"#include"webrtc\voice_engine\include\voe_hardware.h"#include"webrtc\voice_engine\include\voe_errors.h"VoiceEngine*pVoeEngine;VoEHardware*pVoeHw;VoEBase*pVoeBase;intmain(intargc,char**argv){ pVoeEngine=VoiceEngine::Create()
阅读全文
摘要:SIP协议的INVITE消息发起流程当通过sip协议发起一个会话时,需要通过invite消息实现该流程。而SIP协议是一个基于事务的协议,每一个sip会话的都是通过sip部件间的一系列消息来完成的。首先需要明确的重要概念就是事务。事务在SIP协议中,一个事务是指完成一次消息交互的整个流程。以INVI...
阅读全文
摘要:相关数据结构1.tsip_dialog_invite_t描述:一个invite_dialog代表了一个invite期间的所有的信令流程,因此,它首先是一个普遍的dialog的特殊化结构,在该结构的起始部分,有一个TSIP_DECLARE_DIALOG声明,该声明展开后是一个tsip_dilog_t ...
阅读全文
摘要:协议栈的默认传输结构对于一个刚启动的协议栈来说,它需要有一个传输层,支持若干的传输结点。每一个传输结点对应于一个端口,若采用TCP连接,一个传输结点就针对于一个点到点的连接,这个连接负责sip信令的可靠交换;若采用UDP进行sip信令的交换,则需要由应用程序维护一个定时器,以防数据包丢失的时候用于重...
阅读全文
摘要:协议栈启动的上层接口 对于Doubango中得sip协议栈,是通过SipStack类粘合上层代码与底层代码的,该类定义在SipStack.h中,实现在SipStack.cxx中。当构造好一个SipStack实例之后,对于底层而言,实际上是创建了一个tsip_stack_t 的实例,这个实例在SipS...
阅读全文
摘要:tsip_stack_handle_t 实例1.tsip_stack_handle_t的创建在底层,真正运转的协议栈结构式tsip_stack_handle_t的一个实例,它的创建时机为SipStack类在构造时,也就是说,当上层不管用何种方式触发一个SipStack的创建动作时。在上层,SipSt...
阅读全文
摘要:自顶向下与自底向上软件设计的两种方法不过于自顶向下与自底向上。对于自顶向下而言,先设计好用户接口,再往下延伸至各个功能块的具体实现。而对于自底向上而言,自然是有了设计好的各个功能代码块,再将这些功能代码块拼接成具体的用户接口,然而实际的软件实践中,这两种方法是同时展开的,因为无论单独实施哪一种,都是...
阅读全文
摘要:1、doubango官网:http://www.doubango.org/doubango常用项目国内镜像(放在淘宝的svn服务器),目前有4个项目:doubango, idoubs, imsdroid, telepresence。项目的svn地址如下格式http://code.taobao.org...
阅读全文
摘要:Google收购的GIPS公司的音频处理技术是很牛的,现在开源了,这么好的技术应该拿来用的,这里就简单的介绍一下怎样使用VoiceEngine,欢迎大家拍砖指导。WebRTC相关的VideoEngine和VoiceEngine的API详细说明文档:http://www.webrtc.org/system/app/pages/subPages?path=/reference/webrtc-internalsWebRTC的VideoEngine和VoiceEngine源码在:http://code.google.com/p/webrtc/source/browse/#svn%2Fbranchesi
阅读全文
摘要:1、VoiceEngine Codec数据结构 WebRTC中,用一个结构体struct CodecInst表示特定的音频编解码器对象:[cpp]view plaincopystructCodecInst{intpltype;//payloadtype负载类型charplname[32];//payloadname负载名称,32个字符表示intplfreq;//payloadfrequence负载频率intpacsize;//packetsize包大小intchannels;//声道intrate;//速率或自适应};参数详细说明:1、 pltype范围在1~126之间才是有效值; p...
阅读全文
摘要:1、WebRTC目的 WebRTC(Web Real-Time Communication)项目的最终目的主要是让Web开发者能够基于浏览器(Chrome\FireFox\...)轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件,Web开发者也无需关注多媒体的数字信号处理过程,只需编写简单的Javascript程序即可实现,W3C等组织正在制定Javascript 标准API,目前是WebRTC 1.0版本,Draft状态,网址;另外WebRTC还希望能够建立一个多互联网浏览器间健壮的实时通信的平台,形成开发者与浏览器厂商良好的生态环境。同时,Google也希望和致力于让W...
阅读全文
摘要:idoubs是IOS设备开发的第一款全功能并开放源码的3GPP IMS客户端,它同时专为IOS平台开发设计的voIP测试版客户端,以doubango为框架,能实现当前最先进的多媒体功能,主要功能有:语音、视频通话、短信聊天、通话记录等。1、配置服务端 客户端运行起来后需要进行配置,首先你需要一个vo...
阅读全文
摘要:一) sipdroid1)架构sip协议栈使用JAVA实现,音频Codec使用skype的silk(Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器)实现。NAT传输支持stun server.2)优缺点:NAT方面只支持STUN,无ICE框架,如需要完全实现P2P视频通话需要实现符合ICE标准的客户端,音频方面没看到AEC等技术,视频方面还不是太完善,目前只看到调用的是系统自带的MediaRecorder,并没有自己的第三方音视频编解码库。3)实际测试:基于sipdroid架构的话,我们要做的工作会比较多,(ICE支持,添加回音消除,Net
阅读全文
摘要:一.Foundation框架简介所谓的框架式由许多类/方法/函数/文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易,Mac下大约有90多个框架,而为所有的程序开发奠定基础的框架称为Foundation框架,他允许使用一些基本对象,包括:数字/字符串/集合/日期/内存/文件/存储/几何;Ap...
阅读全文
摘要:苹果与Adobe的关系由来已久。事实上,Adobe的创始人还在他们众所周知的小车库里时,我们就碰过面了。苹果是他们的第一个大客户。我们将他们的Postscript语言应用于当时最新的Laserwriter激光打印机。苹果曾经在Adobe投资,很多年来是Adobe的股东,拥有它20%的股权。两家公司曾经密切合作,开创了电脑桌面出版业,有过许多共同的美好时光。但是那段黄金时代一过,两家公司就分道扬镳了。苹果经历了濒死的体验,Adobe则凭借其Acrobat系列产品而打入企业市场。如今,两家公司只在创意产业为共同的顾客提供产品与服务——Adobe的Creative Suites产品的购买者中,约..
阅读全文
摘要:$lt、$lte、$gt、$gte和$ne$in、$nin、$or$mod、$not$exists条件句式内层文档的键,修改器是外层文档的键,一个键可以有多个条件,但是一个键不能对应多个更新修改器支持正则表达式,采用基于Perl(PCRE)库来匹配查询数组$all、$size、$slice内嵌文档针对其特定键值进行查询才是好做法,对于数组则采用$elemMatch利用JS查询$where游标用来返回find的执行结果,客户端可以对其结果进行处理得到想要的集合,实现的方法有hasNext、next、forEach,当调用find的时候,shell并不立即查询数据库,而是等待真正要求获得结果的时候
阅读全文
摘要:Google 多源码管理工具 gclient本文根据gclient帮助整理。google的chromium项目是用gclient来管理源码的checkout, update等。 gclient是google专门为这种多源项目编写的脚本,它可以将多个源码管理系统中的代码放在一起管理。甚至包括将git和svn代码放在一起。gclient的sync,update等命令很容易学习和使用,不再多说,重点说明下和gclient密切相关的两类文件.gclient和DEPS。.gclient文件是gclient的控制文件,该文件放在工作目录的最上层。".gclient"文件是一个Pytho
阅读全文
摘要:1BuildSystemwords from huangjun@baidu.com(leemars528)内部构建系统*必须*要求所有模块都使用这个构建系统。模块的依赖*不应该*通过额外的系统来管理。*应该*能够指定足够细致的粒度。就*应该*只依赖于需要生成接口所需要的最少内容。1.1GYPgyp(generate your project)是chromium的构建系统,地址在http://code.google.com/p/gyp/。关于GYP和CMake的对比在http://code.google.com/p/gyp/wiki/GypVsCMake。文档建设还是比较差的,并且个人使用一个很
阅读全文
摘要:什么是Ninja在Unix/Linux下通常使用Makefile来控制代码的编译,但是Makefile对于比较大的项目有时候会比较慢,看看上面那副漫画,代码在编译都变成了程序员放松的借口了。所以这个Google的程序员在开发Chrome的时候因为忍受不了Makefile的速度,自己重新开发出来一套新的控制编译的工具叫作Ninja,Ninja相对于Makefile这套工具更注重于编译速度。除了Chrome现在还有一些其他的比较大的项目也在开始使用Ninja,比如LLVM。我试用了一下感觉还是不错,比如编译Cmake时间大概是原来的1/4。Ninja试用C++实现,其支持的语法非常简单,作者在这里
阅读全文
摘要:Ninja是最近冒出来的一个 build system,它很像 make,然而效率更高,对大项目支持更好。当然我用 Ninja 和效率无关(我又没有那种有几百个中间目标的 C++ 项目要 build),纯粹是因为 mingw-builds 里的make.exe对 PATH 的识别有问题而已。Ninja 使用build.ninja文件来定义构建规则。和 Makefile 里的元编程不同,build.ninja几乎是完全静态的,动态生成依赖其他工具,如 gyp 或者 CMake。下面是我用来构建 typeof.net 的文件:forceFlags = rule generate_site ...
阅读全文
摘要:在使用Make工具编译LLVM是非常耗时的。往往需要三四个小时。但是使用goolge开源的ninja编译LLVM只需要10到20分钟。本文以llvm3.3为例,演示在linux上编译和安装过程。第一步 安装ninja和cmake1 获取并编译安装 ninja$ git clone git://github.com/martine/ninja.git$ cd ninja$ ./bootstrap.py$ sudo cp ninja /usr/local/bin/Q: warning: A compatible version of re2c (>= 0.11.3) was not foun
阅读全文
摘要:在fms4以前Adobe只允许在stratus中才能使用p2p功能。令人高兴的是,在最新发布的fms4中,p2p功能已经集成进来了,这将给实时视频类的应用带来更高的效率,adobe这次很给力!为了使用p2p,开发用的flex sdk至少要4.1以上(当然最高版本是代号为hero的4.5版本,可从adobe的官网下载),另外还需要fms4(同样可从adobe官网下载开发版本)。先上完整代码吧:1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
阅读全文

浙公网安备 33010602011771号