2014年视频聊天室开发经验分享

针对很多网友对于视频聊天室软件如何实现这一块不懂,今天我们杭州雅顾视频聊天室服务商就来为大家详细的谈谈我们视频聊天室开发的理解:
我们的流水线
1.采集: win下用vfw的api可以采集到usb摄像头的原始数据(RGB或者YUV的),如果是特别的摄像头,肯定会自带sdk,同样能得到这种数据。
2.编码压缩:视频一般都压缩一下,不然太大了,网络部好传。现在多用H.264,可以找开源库x264完成视频编码。如果摄像头能直接出来这种数据
那这步就省了。视频编码一般要I420的数据,可以用ffmpeg里的swscale转换一下颜色空间,它还可以拉伸图像,改变分辨率,效率不错
3.网络传输:这部分无非实现tcp、udp传输的功能,把视频数据能发出去及可收回来。如果想做的通用一些,可以用视频会议常用的一个协议SIP,找一个开源库,如resiprocate(庞大的工程)
4.视频解码:数据收到后需要解码才能显示,H.264解码多用ffmpeg
5.显示:win api可以用BitBlt或者DrawDibDraw实现,需要BGR的数据,可能要用ffmpeg的swscale转换一下颜色空
间。也可以考虑用D3D(以前用DDraw)实现,一般可以直接显示I420或者YV12的数据,想跨平台可以考虑用opengl。

在windows 平台上directshow技术依然是最强大的,虽然从vista开始microsoft 推出media foundation,但是media foundation依然还达不到directshow是高度。
directshow 老版本在DxSDK中,后面独立出来,再后来directshow被放到windows SDK,所以开发directshow应
用,你必须安装这两个SDK中的一个(两个都是免费的)。streams.h是放在“\DXSDK\Samples\C++\DirectShow
\BaseClasses”目录下,你的工程需要包含此头文件目录。
对于视频功能的实现你可以参照directshow sample code—amcap的实现,与BaseClasses在同一目录。
首先是枚举PC上的视频设备,然后将视频设备绑定source filter,接下来选择合适的filter构建 filter graph。这样你就实现视频功能了。

时间: 2024-07-30 01:16:45

2014年视频聊天室开发经验分享的相关文章

史上最全的手机聊天室开发经验分享上

先注明一下什么是手机聊天室,手机也就是立即通信的意思,简单的来说就是类似QQ一类的聊天室软件.而手机聊天室即是运用语音音频来接替保守文字交 换的形式停止沟通交换,眼前市场上的手机聊天室依据聊天的形式又多少种没有同的形式,一种是立即发言犹如电话通讯一样的聊天室软件,内中比拟存正在专人的 硬件有UCTalk,YY语音等,该类语音硬件以PC阳台为主,此外一种则是保守行灌音以后发送方式与保守文字IM的方式略有类似之处的聊天形式,比拟存 正在专人性的硬件有微信,陌陌等,该类的语音硬件大多涌现正在挪动端,P

使用WebRTC搭建前端视频聊天室——数据通道篇

转自 使用WebRTC搭建前端视频聊天室——数据通道篇 在两个浏览器中,为聊天.游戏.或是文件传输等需求发送信息是十分复杂的.通常情况下,我们需要建立一台服务器来转发数据,当然规模比较大的情况下,会扩展成多个数据中心.这种情况下很容易出现很高的延迟,同时难以保证数据的私密性. 这些问题可以通过WebRTC提供的RTCDataChannel API来解决,他能直接在点对点之间传输数据.这篇文章将介绍如何创建并使用数据通道,并提供了一些网络上常见的用例 为了充分理解这篇文章,你可能需要去了解一些RT

WebRTC实现网页版多人视频聊天室

因为产品中要加入网页中网络会议的功能,这几天都在倒腾 WebRTC,现在分享下工作成果. 话说 WebRTC Real Time Communication 简称 RTC,是谷歌若干年前收购的一项技术,后来把这项技术应用到浏览器中并开源出来,而且搞了一套标准提交给W3C,称为WebRTC,官方地址是:http://www.webrtc.org/.WebRTC要求浏览器内置实时传输音视频的功能,并提供一致的API供JS使用.目前实现这套标准的浏览器有:Chrome.FireFox.Opera.微软

3分钟实现网页版多人文本、视频聊天室 (含完整源码)

基于SimpleWebRTC快速实现网页版的多人文本.视频聊天室. 1 实现方法 复制下面的代码,保存为一个html文件 <!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://simplewebrtc.com/latest.js"

使用WebRTC搭建前端视频聊天室——信令篇

博客原文地址 建议看这篇之前先看一下使用WebRTC搭建前端视频聊天室——入门篇 如果需要搭建实例的话可以参照SkyRTC-demo:github地址 其中使用了两个库:SkyRTC(github地址)和SkyRTC-client(github地址) 这两个库和demo都是我写的,如果有bug或是错误欢迎指出,我会尽力更正 前面的话 这篇文章讲述了WebRTC中所涉及的信令交换以及聊天室中的信令交换,主要内容来自WebRTC in the real world: STUN, TURN and s

使用WebRTC搭建前端视频聊天室——入门篇

http://segmentfault.com/a/1190000000436544 什么是WebRTC? 众所周知,浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转.比如现在有两个客户端,甲和乙,他们俩想要通信,首先需要甲和服务器.乙和服务器之间建立信道.甲给乙发送消息时,甲先将消息发送到服务器上,服务器对甲的消息进行中转,发送到乙处,反过来也是一样.这样甲与乙之间的一次消息要通过两段信道,通信的效率同时受制于这两段信道的带宽.同时这样的信道并不适合数据流的传输,如何建立浏

视频聊天室行业的兴起促进了现代人的创业热情

视频聊天室作为国内近几年流行开来的一个朝阳行业,已经被越来越多的年轻人所去接受,因为现在社会工作生活压力大,很多80.90后已经被众多的繁琐事务搞得疲惫不堪,没什么时间去找什么娱乐活动,可以说身心已经在崩溃的边缘,那么这个时候这个视频聊天室行业的兴起很大程度上解决了这个问题,说到这里杭州雅顾小编必须告诉大家一个事情: 聊天室行业刚刚兴起的时候被很多无良奸商做成色情行业的性质,牟取暴利,所以很多人对这个行业嗤之以鼻,认为这完全是挂着羊头卖狗肉的行为,国家应该严厉制止,但是随着9158的强势上市,新

视频聊天室可以用php制作吗?

首先,告诉你单纯用php制作视频聊天室是实现不了的,需要配合其他技术手段一起操作,例如和FLASH配合,使用FLASH获取语音(FLASH可以获取访问端的设备,例如摄像头). PHP运行在服务器端,是无法直接获取客户端的硬件的使用权限的!单独实现的话,此路不通. 其次,如果你熟悉网络协议和C的话,建议自己做一个客户端和服务端实现这些操作,CS模式开发如果想用BS的话,那就只有建议你配合falsh或者说flax进行了当然JS也少不了的. 综合考虑,应该需要将php和flash紧密配合才有可能制作出

高清视频会议 视频聊天室源码下载

高清视频会议.视频聊天室源码简介: "SDK即时通讯平台"是一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准.AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐在音视频编码.多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量.宽适应性.分布式.模块化的网络音视频互动平台 成熟产品可提供全套系统示例源代码(包服务端,客户端)下载地址http://download.csdn.net/detail/little_rui/7969285,同时有完善的开发文档指南,且