通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 程序设计 >> Delphi语言 >> 基础教程 >> 文章正文
用Delphi开发视频聊天软件
责任编辑:ncic   更新日期:2007-4-3

  一、引言

  我们知道视频聊天软件的关键技术在于采集视频,并实时传输给聊天软件在线的人。对于视频的采集,这里采用微软公司的关于数字视频的一个软件包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

  二、视频聊天软件的开发步骤

  2.1 创建捕捉窗口,采集视频

  在进行视频捕捉之前必需要先创建一个捕捉窗口,并应以此为基础进行所有的捕捉及设置操作。捕捉窗口可用AVICap窗口类的"CapCreateCaptureWindow"函数来创建,其窗口风格可设置为WSCHILD和WS_VISIBLE参数。

  有了捕捉窗口,我们就可以将视频流和音频流捕捉到一个AVI文件中;动态地同视频和音频输入器件连接或断开;用Overlay或Preview模式对输入的视频流进行实时显示,设置捕捉速率,显示控制视频源、视频格式及视频压缩的对话框,创建、保存或载入调色板,将图像和相关的调色板拷贝到剪贴板,将捕捉的单帧图像保存到BMP格式文件中。

  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程