中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 经验类
windows下局域网实时视频传输软件结构
作者:caiyi9000 时间:2001-10-17 10:21 出处:互联网 责编:chinaitpower
              摘要:windows下局域网实时视频传输软件结构

我去年做了一段时间局域网上的实时视频传输,如果是服务器对多用户进行实时的视频传输,以我的经验:
   1.服务器软件用多线程:
     (1)主线程:读出(看你的图象具体怎么上PC机了)一帧视频数据,送给拆分线程。
     (2)拆分线程:接到一帧视频,开始拆包、做帧标记、打序列号,送给发送线程。
     (3)发送线程:用RTP socket把封装好的数据包发给客户端。此socket是点对多点、单向
         有根方式的组播套接字,实际上是基于UDP派生的,但他用到了RTP和RTCP(实时传输
         协议和实时传输控制协议),如果你传输的不是实时数据,直接用UDP就行了。

   2.客户端软件结构一般用多线程,线程间用事件对象进行同步,而共享数据区用临界区对象进
行同步。
    (1)主线程:接收网络数据包的线程,优先级最高,可以尽量保证不丢数据,也采用RTP协
         议,用网络事件来触发。主线程接收到视频数据包后,将数据放入一个链表中,然后
         用事件对象触发组装线程。
    (2)组装线程:从链表中读出数据包,要进行帧确认、排序等工作,当把一帧图象的所有
        包都取到时,再调用组装模块(可以是一个函数),将这些数据包组装成完整的一个
        帧,然后送到解压线程。
    (3)若干解压播放线程。主要考虑到如果你客户端软件想同时播放多画面,比如说4画面图
         象,就要用4个解压播放线程。
    (4)至于图象存储,要看你的客户需要怎么存了,如果是手工存当然不需要单开线程,如果
        是规定定时存或在某个事件发生时自动存盘,就需要单开一个线程,由定时器到时消息
        或此事件发生来触发。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有