用 Delphi 开发视频聊天软件
视频聊天, Delphi, 软件, 开发
摘要:目前网上视频聊天软件、视频会议软件、可视 IP 电话软件随处可见,你是否想自
己做一个玩玩?其实这类软件无非是视频加上网络而建成的。如果熟悉视频捕捉和网络传
输技术,根本就难不倒你。微软为软件开发人员提供了一个专门用于视频捕捉的 VFW
SDK(Video for Windows SDK),用它实现视频捕捉很简单,至于网络传输
嘛,Delphi 更是提供了 N 多种网络组件,随你用了。本文详细介绍了如何利用 Delphi 中
开发视频聊天软件,同时给出了两个程序示例。
关键词:Delphi VFW 视频 视频会议 视频聊天 Video for Windows
一、引言
我们知道视频聊天软件的关键技术在于采集视频,并实时传输给聊天软件在线的人。
对于视频的采集,这里采用微软公司的关于数字视频的一个软件包 VFW(Video for
Windows)。相信很多人对它都很熟习,VFW 能使应用程序通过数字化设备从传统的模
拟视频源得到数字化的视频剪辑,VFW 的一个关键思想是播放时不需要专用硬件。为了解
决数字视频数据量大的问题,需要对数据进行压缩,而 VFW 引进了 AVI 的文件标准。该
标准未规定如何对视频进行捕捉、压缩及播放,仅规定视频和音频该如何存储在硬盘上及
在 AVI 文件中交替存储视频帧和与之相匹配的音频数据。通过 VFW,开发人员通过发送
消息或设置属性来捕捉、播放和编辑视频剪辑。当用户在安装 VFW 时,安装程序会自动
地安装配置视频所需要的组件,如设备驱动程序、视频压缩程序等。VFW 主要由 6 个模块
组成。VFW 功能模块:
AVICAP.DLL 包含执行视频捕捉的函数,它给 AVI 文件的 I/O 处理和视频、音频设备
驱动程序提供一个高级接口
MSVIDEO.DLL 包含一套特殊的 DrawDib 函数,用来处理屏幕上的视频操作
MCIAVI.DRV 包括对 VFW 的 MCI 命令解释器的驱动程序
AVIFILE.DLL 包含由标准多媒体 I/O(mmio)函数提供的更高的命令,用来访
问.AVI 文件
ICM 压缩管理器,用于管理的视频压缩/解压缩的编译码器(Codec)
ACM 音频压缩管理器,提供与 ICM 相似的服务,适用于波形音频
对于视频的传输,我们使用 UDP 来传,因为 UDP 传输速度快,TCP 是面向连接的,
建立连接时双方需经过三次握手,数据传输可靠,FTP、telnet 等就是基于 TCP 的,UDP
是面向非连接的,发出信息不需对方确认,但这样速度比 TCP 快,但有可能丢失数据,象
SMTP、tftp 等就是基于 UDP 的。另外 UDP 还支持广播,UDP 广播两种,一种是
directed broadcast,比如你的网段是 192.168.0.X,你就往 192.168.0.255 发就可以
了。另一种是 limited broadcast,广播地址是 255.255.255.255
评论8