博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows下局域网实时视频传输软件结构 (转)
阅读量:2504 次
发布时间:2019-05-11

本文共 802 字,大约阅读时间需要 2 分钟。

windows下局域网实时视频传输软件结构 (转)[@more@]

我去年做了一段时间上的实时视频传输,如果是对多进行实时的视频传输,以我的:

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

  2.客户端软件结构一般用多线程,线程间用事件进行同步,而共享数据区用临界区对象进

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-1007833/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10748419/viewspace-1007833/

你可能感兴趣的文章
统计抽样
查看>>
链表(2)
查看>>
实验四
查看>>
P1341 无序字母对(欧拉回路)
查看>>
UOJ #349. 【WC2018】即时战略
查看>>
15天玩转redis —— 第十篇 对快照模式的深入分析
查看>>
理解MapReduce计算构架
查看>>
【BZOJ 3473】 字符串 (后缀数组+RMQ+二分 | 广义SAM)
查看>>
jQuery渐隐渐出的文字提示
查看>>
异常记录处理
查看>>
如何定位到append的当前位置,不用拉滚动条scrollIntoView方法
查看>>
我的第一篇Window Live Writer日志
查看>>
MySQL编码、Spring配置中编码、Struts中文问题
查看>>
Controller中使用过滤器
查看>>
Anaconda+django写出第一个web app(八)
查看>>
模拟 HDOJ 5099 Comparison of Android versions
查看>>
关于http的post传送文件
查看>>
eclipse 快速导入所有需要的包
查看>>
枚举类
查看>>
关于ES6新特性
查看>>