您的位置:首页 > 其它

PC远程多媒体通信 (Notes)

2006-05-05 18:11 330 查看
--------------------------------------------------------
 PC远程音视频通信概述:
--------------------------------------------------------
1. PC a -> PC b 视频通信 :
(1) a 的摄像头按帧将信号按RGB或者YUV格式放入你指定的缓冲区(或者系统指定).
(2) a 的客户端通过DirectX读取缓冲区中数据.
(3) a 的客户端将RGB/YUV给相应的Codec处理, 有两点注意:
    1). RGB/YUV是原始数据, 或对原始数据的提取, 不含压缩. 比如YUV可能是4:2:1的格式. 因为存在一些比例关系, 所以不是所有的Codec都能够处理任意的RGB/YUV数据. 这里要根据Codec的规格来选取.
    2). 将数据交给Codec处理, 需要给其"很多"参数, 比如帧的大小, 4:2:1 等信息.
(4) Codec (MP3, MP4, H.263 等等) 可能是一帧帧处理, 这样Codec将RGB/YUV的一帧, 变换为压缩后的一帧.
    注意: Codec就是压缩和解压的算法.
(5) Codec将一帧或多帧交给RTP/RTCP组成传输的一帧/包, 传给对方.
      如果是存成本地文件, 就将所有的Codec编好的帧放一块儿, 再加上一些头, 就成为本地文件了.

----------------------------------------------------------
理论一点的:
----------------------------------------------------------
1. 视频编码主流方法:
"变换/预测"
变换, 如小波变换.
预测, 指预测空间相邻或时间相邻的图象.
2. 指定视频编解码的主要机构:
ISO/IEC   MPEG
ITU-T       VCEG

----------------------------------------------------------
实际项目经验
----------------------------------------------------------
1. Mbus :
有一些大型的音视频系统, 采用Mbus作为进程间通信的方法. 完成进程间的通信, 比如一个Client本地进程间, Client和Server进程间, 以及Client和Client进程间.
Mbus就是一个消息中间件.可以看成一个平面层, 所有的进程, 都在之上.
这样, Mbus里传递的消息就有固定的格式, 听说有的软件, 将H.323的信令等都封装到Mbus消息里传送.
只有Media传输直接采用RTP/RTCP, 文件传送直接采用UDP/TCP.
2. 声卡/显卡 和 编解码器之间相互影响:
不知道为何
3. 混音的作用:
最大的作用, 就是节省带宽: 多路信号, 每路16kb/s, 混合后,  带宽为16kb/s, 而不是16xNkb/s.
4. 项目中的鸡肋:
H.323体系是一个完整的视音频会议解决方案, 包括信令, 编解码, 安全, RTP/RTCP, 安全, 认证等多种协议.
而基于以上的应用, 如IM, 电子白板, 网页共享, 文件共享, 桌面共享等, 做起来像是鸡肋的感觉.因为技术含量不太高, 很多人又在做, 并且很多不用集成进去, 直接用现成的软件即可.
5. 手机上用的多是H.263
H.264质量好, 但是编解码复杂, 造成对系统和信道带宽的要求. 所以手机多用H.263
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息