基于Linux的视频传输系统(完整方案)
基于ARM-Linux的视频采集及无线通信系统——源程序
基于ARM-Linux的视频采集及无线通信系统——源代码#ifndef QT_V4L_H#define QT_V4L_H#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <ctype.h>#include <error.h>#include <time.h>#include <assert.h>#include <fcntl.h>#include <pthread.h>#include <sys/param.h>#include <sys/ioctl.h>#include <sys/types.h>#include <sys/socket.h>#include <arpa/inet.h>#include <sys/mman.h>#include <linux/videodev.h>#include <QtGui>#include <QtNetwork>#include <QUdpSocket>#include <QtCore/QVariant>#include <QtGui/QAction>#include <QtGui/QApplication>#include <QtGui/QButtonGroup>#include <QtGui/QPushButton>#include <QtGui/QWidget>#include <QtGui/QDialog>#include <QCloseEvent>#include <QTimerEvent>#include <QLabel>#include <QMainWindow>#include <QImage>#include <QPixmap>class QCheckBox;class QGridLayout;class QHBoxLayout;class QLabel;class QMovie;class QSlider;class QToolButton;#define DEBUG_PRINT#define MAX_WIDTH 176 //320#define MAX_HEIGHT 144 //240#define DEFAULT_DEVICE "/dev/video0"#define BUFLEN 255typedef struct v4l_struct{int fd;/* 包含摄像头设备的基本信息(设备名称、支持的最大最小分辨率、信号源信息等) ,分别对应着结构体中成员变量name[32], maxwidth,maxheight,minwidth, minheight, channels(信号源个数),type等。
基于嵌入式Linux的网络视频监控系统的设计
(.c o l f no maina dCo 1S h o I fr t n mmu iainE gn eig No t iest f ia T iu n0 0 5 ; S h o f o o nc t n i e rn , rhUnv ri o Ch n , ay a 3 0 12.c o l o y o
I fr t nEn ie rn , no mai gn e ig CUG, u a 3 0 4 o W h n4 0 7 )
Abs r c : i p p ri to u e e i n a d i l me t t n o tVi e u v i a c y t m s n Emb d e t a t Th s a e n r d c s a d sg n mp e n a i fNe d o S r e l n e S se Ba e o o l edd
D e i o e Vi e sgn f N t d o Sur e la e Sy t m a e n v il nc s e B s o Em b d e n e d d Li ux
Gao Feng ,Yu ngyi Ya Ho ng , ng Yan ,Zha Yi g ng ng‘
频 监 控 系 统 , 以实 现 视 频 数 据 的采 集 、 用 压缩 与 网络 传 输 。 该
像头视 频数据的。 4 是L n x V 1 i u 中关于视频设备的内核驱动 , 所 以它为针对视频设备的应用程序编程提供一系列接口函数。 基 于V 1 S 视频数据采集 , 4 的U B 先要获得相关采集设备的信息和 图 像信息, 并对采集窗口、 颜色模式、 帧状态初始化, 然后才能进
设 计 如 图1 示: 所
初始 化采集 窗 口颜 色、模 式 、帧状态 V L ga i t1 4  ̄ rb ni (
基于嵌入式Linux的无线视频传输终端设计
接 口 l l接 口
未来的无线视频终端将融合 数字通信 、 数字音/ 视频接 收 和因特 网接人等技术 。
2 硬 件 平 台设 计[2 】 _
嵌 入式 无 线 视 频 传 输 系 统 包 括 发 送 端 和 接 收 端 两 部 分 。发 送 端 主 要 完 成 视 频 的采 集 、 缩 和 发 送 等 功 能 , 压 而 接 收 端 主要 完 成 视 频 的 接 收 、 压 缩 和 显 示 等 功 能 。 解 发 送 端 的 硬 件 结 构 如 图 l所 示 。 主 要 包 括 C U P (3 2 1 )Fah R M 和 S R M 、 设 接 口等 。 其 中 , ¥ C 4 0 ,ls O D A 外 采 用 专 为 手 持 设 备 和 一 般 应 用 设 计 的 A M9系 列 R S R IC 处 理 器 ¥ C 4 0 作 为 系 统 的 C U, 用 Fah R M 和 3 2 1X P l 0 s S R M 构 成 系 统 的存 储 空 间 ,l h R M 作 为 程 序 存 储 D A Fa O s 器 ,D A 作 为 系 统 的 内存 。 设 接 口部 分 包 括 R 一 3 SR M 外 S22
【 关键词 】无线多媒体 ;无线视 频传输终端 ;嵌 入式 Ln x iu
【 中图 分 类 号 】T 9 98 N 1. 【 献标 识 码 】B 文
De i n a sg nd m plm e t to i e e s Vi o Tr s iso Te m i alBa e o I e n a i n of W r ls de an m s i n r n s d n Em be de nu d d Li x
基于嵌入式Linux的视频监控系统的设计
平 台将 摄 像 头采 集 来 的视 频 信 号 ,经 过 网络 传 输给 服 务 器, 完成 对 考 试现 场 的 网络 视 频 监控 任 务 。 详 细介 绍 了嵌 入 式 平 台上 US B
设 备 的驱 动 开发 以及嵌 入 式 Ln x下应 用 程序 的 设 计 。 iu
关 键 词 : iu 视 频 监 控 : B 摄 像 头 Ln x: US
f SN 1 0 — 0 4 Si ky cc tn l j n.
h t : w w.n s e .n t / w d z. t p/ n e Te: 8 — 51 5 9 9 3 5 9 9 4 l 6 5 6 0 6 6 0 6 + —
中图分 类 号 : P 9 T 33
文献 标 识码 : A
文 章编 号 :0 9 3 4 (0 83 — 7 8 0 1 0 — 0 4 2 0 )4 1 8 — 2
De i n o d o S r el n e S se Ba e n Emb d e i u sg fVi e u v i a c y t m s d o l ed dLn x
prs n e n deal ee td i ti s K e r :Li x; i e u el n e y wo ds nu v d o s r ia c ;U S c m e a l B a r
1引 言
近 年来 。 随着 电子信 息 技 术 和计 算 机 网络 技 术 的发 展 , 国监 控 系 统 建 设在 技 术 水 平 和 实 际应 用 等 方 面 都 取得 了长 足 的进 步 , 我
在社 会 众 多领 域 得 到 了广 泛 的应 用 。 为 提 高 国家 教育 考 试 的管 理 效 能 , 国家 教 育 考 试 的安 全 运 行 以 充分 的技 术 保 证 , 育 部 考试 中心 提 出建 立 “ 家 教育 考 试 网 给 教 国
Linux终端命令的文件传输方法
Linux终端命令的文件传输方法Linux终端命令提供了多种文件传输方法,方便用户在终端中进行文件传输和共享。
本文将介绍几种常用的Linux终端命令的文件传输方法,包括scp、rsync和sftp。
1. scp命令scp(Secure Copy)是一种基于SSH协议的文件传输工具,用于在不同的主机之间进行文件拷贝。
它支持将本地文件拷贝到远程主机,也可以从远程主机拷贝文件到本地。
使用scp命令进行文件传输的基本语法如下:```scp [选项] [源文件] [目标文件]```其中,选项可以指定加密算法、端口号等参数,源文件指定要传输的文件路径,目标文件指定传输后的目标路径。
示例:将本地文件`example.txt`拷贝到远程主机`user@remote:/path/to/destination/`:```scp example.txt user@remote:/path/to/destination/将远程主机`user@remote:/path/to/source/example.txt`拷贝到本地当前目录:```scp user@remote:/path/to/source/example.txt .```2. rsync命令rsync是一个快速、多功能的文件复制和同步工具,它通过差异化算法来进行增量更新,有效减少数据传输量。
rsync可以在本地主机之间进行文件传输,也可以在本地和远程主机之间进行文件传输。
使用rsync命令进行文件传输的基本语法如下:```rsync [选项] [源文件/目录] [目标文件/目录]```其中,选项可以指定连接方式、忽略文件等参数,源文件/目录指定要传输的文件或目录路径,目标文件/目录指定传输后的目标路径。
示例:将本地目录`/path/to/source/`下的所有文件同步到远程主机`user@remote:/path/to/destination/`:rsync -avz /path/to/source/ user@remote:/path/to/destination/```从远程主机`user@remote:/path/to/source/`同步所有文件到本地目录`/path/to/destination/`:```rsync -avz user@remote:/path/to/source/ /path/to/destination/```3. sftp命令sftp(Secure File Transfer Protocol)是基于SSH协议的一种安全文件传输协议,用于在本地和远程主机之间进行文件传输。
基于嵌人式Linux的网络视频点播系统设计
随着计算 机和 芯片技术 的快速 发展 , 携式 电子终 便
端设 备 已经普 及人们 的生活 , 其嵌入 式产 品 已渗入各 个
户端数 、 片实际地址 的转换 等功能 。播 放器终端 则运 影 行 在嵌入式操 作系统 中, 用 Q 采 T图形界 面 , 用来显 示服
务器上 的影片列 表 、 片信息 , 得各影 片的实际地 址 , 影 取
功能 。 嵌入 式硬 件部 分 主要 包括 微处理 器模 块 、 音频 播
放模 块 、 视频播 放模块和 网络通 信传 输模块 4 个模块 , 并
集成触摸屏/ 键盘输 入 、 S U B主控 、 C I 总线接 口、 A 时 2 J G、 T
媒 体在 网络上播 放时 , 客户端 必须把多 媒体文 档全部下
Z U Xajn HO inu ,YA G H iog N udn
( eat n fEl t ncE gne n, , n e i,G agh u 5 03 ,C ia Dp r to e r i n ier g n U i rt u n zo 1 62 hn ) me co i v sy
m lpe ci tt mias y uig Qo i to i cin tr ias h lyr t ia r eeo e n eind n l ut l l n e nl i e r .B s t a ol n l t em nl,te pae e n l ae dv l d ad d s e .ad as n p e m r s p g o
l d a dn t r eb n ewok Wi
l 赛带网络
文章 编号 :0 2 89 (0 )6 o 6 一 4 10 — 6 2 2 1 1 一 0 4 o 1
基于嵌入式Linux的Ad-Hoc网络视频传输研究
不 断增加 以及 终端 技 术 的 不 断发 展 , 别 是 嵌 入式 技 特 术 的发展 , dH c网 络 的应 用 范 围也 越 来 越 广 , 偏 A —o 在 远地 区通 信 、 难拯 救 、 灾 临时 商务会 议 等 民用场合 也得
d d L n x o e ai g s se wi u h e d fa c s o n s Th r l s ewo k c r iv ri n lz d i e i u p r t y tm t tt e n e s o c e sp i t. e wiee s n t r a d dr e sa ay e n n ho d p h f rt e pu p s ft e ta s a tn fwie e s n t r a d i t n x OS n rl s o fg ai n e t o h r o e o h r n pln i g o r ls e wo k c r n o Li u ,a d wiee s c n ur t i o
基 于嵌入 式 Ln x的 A . o iu dH c网络 视 频传输研 究
・ 3・ 8
网络 视 频 传 输 研 究
陈玉坤 ,李 波
70 2 ) 1 19 ( :Z. 大学 电子信 息学院 , 西 t 业 L 陕西 西安
摘要 : 对 目前 多 数 无 线 网 络 通 信 依 赖 于 接 入 点 ( P, cesp it 的 现 状 , 用 A M 处 理 器 针 A a cs o ) n 采 R 9
to sa e ta s l n e n o t e e o l r r n p a td i t h mbe d d y tm o ma e t e wie e s ewo k c r wo k n n t e d e s se t k h r ls n t r a d r i g i h Ad Ho — c
基于嵌入式Linux的以太网视频高速传输研究
Ke Y wor : 5 0 e e d d s se ;hg p e h r e r n miso ds W 3 0; mb d e y tms ih s e d Et e n tta s s in
近几 年来 , 随着 互联 网技 术 的广 泛普 及 , 联 网总 互
线技术被应用于现代工业的各个领域 。在所有的有线 网中, 以太 网技术以其可靠、 网方便 、 组 传输速度快 、 性 价 比高等 优点 得到 大量 的应用 。通 过 以太 网可 以很 方 便地将嵌入式系统接入 Itnt实现远程监测 和远程 nr , ee 维护。但是在 目 前采用以太 网的嵌入式系统中, 其网 络传输速率较低( 一般为 1M ) 因此 , B, 提高嵌入式系
收 稿 日期 :0 l 5一 4 2 1 —o o
统的网络传输速率成为迫切 的需要。 本 研究 的 目标是完 成 将 A M 系统 中接 收 到 的编 R 码视频 数 据 通 过 以 太 网接 口传 输 至 D P系 统 , 后 S 然 D P系 统将编 码数 据进行 解码 , 生成 原始 的 R B格 S 并 G 式 的数据 流 , 随后将 R B数 据 流 返 回 至 A M 系 统进 G R 行显示 的 过 程 。 因 此 笔 者 设 计 了一 种 基 于 ¥ C 40 3 24 和 Lnx操作 系统 的高 速 以太 网传输 系统 。该 系 统采 i u 用 W5 0 片作 为嵌入 式 系统 的 网络 接 口 , 30芯 以达 到 高 速传 输 的 目的。
基于S3C2440-Linux的视频传输系统设计
中图分类号 :T 36 1 P 1. 8
文献标识码 :A
文章编号 :10 — 59( 02 卜0 4— 2 0 7 99 2 1 )0 11 0
De i n o d o Tr n m iso y tm s d o 3 4 0 Li u sg f Vi e a s s i n S se Ba e n S C2 4 一 n x
( )A M L n x 境搭 建 二 R — iu 环 本 为 1n x2 63. 。下 载好 内核 iu 一 ..0 9 后 , 改 内核 中 Mk f l 文件 , 修 a ei e 使之 适应 ¥C 40需要 。然 后在 3 24 终 端 环 境 下 重 新 配 置 内 核 , 本 系 统 中 配 置 内 核 采 用 m k ae m n cn i 。配 置好 内核 后重 新编 译 内核 即可 。 eu of g ( )视 频采 集模 块 三 本 部分 的实现主要用 到一个协 议 ,叫作 vdofrlnx简称 ie o iu VL 4 ,现在发 展到 VL ,是 lnx影像 系统与嵌入 式影像 的基础 , 42 iu 是 lnx en l里 支持影像 设备 的一 组 A I它 方便 的为驱动层和 iu re K P, 用户 层提供接 口函数 , 以便我们 可 以调用 就可 以操 作相应 的硬件 。 L nx系统 中,视频设备被 当做一 个设备文件 来看待 ,设备文 iu 件存 放在/ e 目录 下,我这个 视频设备 查询获得 为 : d vv do dv / e/ ie O (R 板下 为 /e/ ie 1。 AM dv vdo )操作这个 设备其实和 写字符 驱动 函数 很相 似 ,但 不一样 ,因为采集 视频过程要 遵循这个 协议 , 采 集视 频流 程大 致为 :打 开视频 设 备 ,设置视 频 设备属 性 以 及 采集 方式 、视 频数据 处 理 ,关 闭视 频 设备 。具体 操作 如下 : 1用非 阻塞 模式 打开 摄像 头设备 .
基于嵌入式Linux的网络视频监控系统
基 于嵌 入 式 Ln x的 网络 视 频 监 控 系统 iu
・ 5・ 5
基 于 嵌 入 式 Lnx的 网络 视 频 监 控 系统 iu
赵 方鹏 , 建 华 ,赵 杨 忠 ,刘 文 涛
7 07 ) 10 2 ( 西北 工业 大学 自动化学院 , 陕西 西安
系统的工作原理 是利 用嵌 入式 Ln x和 A M 控制 器建 立 iu R
We b服务器 , 通过服务器接收来 自浏览器 的指令并 采集 U B摄 S
像 头的视频 图像 , 并通过 网络 向浏览器传输 视频 , 而达到远 程 从
视 频 监 控 的 目的 。 12 系统 硬 件 结 构 .
T e s s m u l sa W e e v rwh c a a t r ie in lf m S ii lc me a a d ta s o tt e sg a o c in ho g h y t b i b s r e ih C c p u e v d o sg a r e d n o U B d gt a r r n p r h i lt l tt r u h a n n e
台上 的应 用程 序 的 移植 。
关 键 词 : 入 式 Ln )视 频 采 集 ; 嵌 iu ; ( 可视 化 ; 网络视 频 监 控 中 图分 类 号 : P9 T 3 文 献标 识 码 : B 文 章 编 号 :O 0— 89 2 o )5— 0 5— 3 10 8 2 (0 7 0 0 5 0
( col fA t t n N r w s r o tc ncl nvri , ia 10 2 C ia S ho o u mao , o h et nPl eh i i sy X’ n70 7 , hn ) o i t e y aU e t
基于嵌入式Linux的实时视频服务器的设计
第28卷第4期增刊2007年4月仪器仪表学报Chinese Journal of Scientific Instr umentVol 128No 14Apr 12007基于嵌入式L inux 的实时视频服务器的设计曾凡钢,戴曙光,穆平安(上海理工大学光学与电子信息学院 上海 200093)摘 要:本文介绍了一种网络实时视频服务器的设计和实现方法。
它基于嵌入式Linux 操作系统,采用目前最新的H.264视频编码技术和R TP/R TCP 传输协议,支持视频实时采集、编码、传输。
实验表明,系统实时监测性能良好,图像解码清晰、稳定,具有很强的实用性和广阔的发展前景。
关键词:视频服务器;H.264;R TP/R TC P ;图像压缩N e w design o f real 2time video ser ver ba sed on embedded L inuxZeng Fa ngang ,Dai Shuguang ,Mu Pi ng πan(College of O ptica l a nd Electronics I nf or mation Engi nee ring ,U ni versit y of S ha nghai f orScience and Technology ,S ha nghai 200093,Chi na )Abstract :Thi s paper int roduces a new de si gn of real 2t ime video server ,which supporti ng vi deo capt uring ,en 2coding and t ransporti ng.The server i s ba sed on embedded Li nux ,and compressi ng t he vi deo by H.264enco 2di ng t echnology 2t he newest st andard published by ITU 2T 2a nd R TP/R TCP t ransporti ng protocol.The Expe ri 2ment result s show t hat t he high qualit y of compression and stabilization of t ransporti ng.K ey w or ds :vi deo server ;H.264;R TP/R TCP ;video comp re ssio n1 引 言视频监控系统是日常生产生活中的重要辅助设备,应用十分广泛。
基于ARM11—Linux的视频采集传输系统的研究
中 图 分 类 号 :T P 3 9 3 文 献 标 识 码 :A 文 章 编 号 :1 6 7 4 — 7 7 2 0 ( 2 0 1 3 ) 0 8 — 0 0 9 1 — 0 4
Ab s t r a c t :T h i s p a p e r s t u d i e s a k i n d o f ARM l 1 b a s e d o n t h e v i d e o a c q u i s i t i o n w i r e l e s s t r a n s mi s s i o n s y s t e m, a n d i t r e a l i z e s
应 用 函数 等 完 成摄 像 头的 采 集 ; 在 传 输 系统 方 面 , 采 用 传 输 速 度 较 快 的 WI F I — Ad — Ho c模 式 ( 端 对 端 传 输) , 依靠 T C P / I P协 议 的 传 输 方 式 使 采 集 端 与 家 庭 网 关 之 间 建 立 连 接 , 成 功 实现 家 庭 网 关 对 各 个 分 散
( Me c h a n i c a l a n d E l e c t r i c a l E n g i n e e r i n g C o l l e g e ,N o r t h C h i n a U n i v e r s i t y o f T e c h n o l o g y , B e i j i n g 1 0 0 1 4 4, C h i n a )
f r o m t h e ma i n f a mi l y t o e a c h d i s p e r s i o n e f f e c t i v e mo n i t o r i n g r o o m g a t e wa y t h r o u g h t h e c a me r a .T h e s y s t e m c h o o s e s ARM 1 1 k e r n e l ¥ 3 C 6 41 0 a s a s y s t e m p r o c e s s o r a n d CMO S c a me r a OV9 6 5 0 a s a c q u i s i t i o n e n d.I t b u i l d s L i n u x s o f t w a r e s y s t e m i n t h e i n d e p e n d e n t d e s i g n h a r d w a r e p l a t or f m wi t h s y s t e m i n t e r n a l V 4 L 2 p r o v i d e d d a t a s t r u c t u r e a n d a p p l i c a t i o n f u n c t i o n i n o r d e r t o c o mp l e t e c a me r a
基于嵌入式Linux的多路视频监控系统的设计
播放监控图像. 系统的总体设计
图像采集
J E d t P G— aa
Com p e s rs RIP| CP
网络传输
Jv A p t l aa p l & e
摄
I提取数据
内 Aie _l 排视频帧 嵌网页 X I _重 炙 cv t 播放器I 1丢失I _ 复
收稿 日期 :20.62. 0 60 5 宁 波 大学学报 ( 工版 )网址 :ht:3bn u d 理 t / x . . uc p/ be n 基金项 目:国家 自然科学 基 金 ( 07 06) 6 529 ;宁波 市博 士基金 ( 0 5 6 00 . 2 0A 103) 作者 简介 :李 霏 ( 92一 ) ,辽 宁瓦 房店人 ,在 读硕 士研 究生 ,主要 研究方 向 :语 音信 号处理 . — i fxt2 @s a o 18 ,男 Ema:ol 3 i m l B nc
中图分 类 号 :T 3 2 P 0
文献标识 码 :A
.
视频监控系统是安全防范系统的重要组成部
扰, 可大幅度提高图像品质和稳定性 ; 使数字化存
储成为可能 , 经过压缩的视频数据可存储在磁盘阵 列中或保存在光盘中, 查询十分简便 陕捷 ; 基于嵌 入式技术 , 系统硬件和操作 系统捆绑较为紧密 , 功 能专一 ,因此性能上更稳定 ,且便于安装 、 维护 , 易于实现系统的模块化设计,便于管理.
维普资讯
l2 5
宁波大学学报 ( 理工版 )
2 0 07
对用户进行身份认证 ; 采集图像 ; 对图像数据进行 JE 图像压缩和MJE 图像编码 ;采用流媒体协 PG PG
议R P 将数据打包发送到客户端或数据转储服务 T, 器 ;通过R C 协议进行差错控制 、拥塞控制 ,并 TP 调整发包速率.客户端主要功能 : 对服务器进行信 息反馈 ; 将接收到的数据包解码 ; 通过网页内嵌的 J a p l ̄ a . pt vA e
基于嵌入式Linux的视频采集与传输系统研究
¥ C 40采 用 1 乐供 电 , 高 主 频 可 达 2 3M z适 合 32 1 . V电 8 最 0 H ,
面向高性价比 、 低功耗的应用场合。 系统使Ⅲ 的是 中星微公司的 U B摄像头 ,其主芯片为中星 S 微 Z 0 0 b 通过连接到平 台 U B主口来实现图像采集。该摄像 C 33 , S 头的C O M S同像传感 器为 M 0 6 。尽管 C S罔像传感 器在成 130 MO
测试结果。
关 键 词 : 入 式 Ln x 视 频 采 集 与 传 输 系统 ;o k tV d o Ln x 嵌 iu ; sc e ; i 4 iu e
中 图分 类号 :P l. T 3 1 5
文献 标 识 码 : A
随 着 通 信 技 术 和计 算 机 技 术 的 发 展 , 视 会 议 、 视 电 话 、 电 可 远 程 监 控 、 能 交 通 、 能小 区等 以信 息 采 集 、 理 、 输 为 核 心 智 智 处 传
网 口下载 到 目标平 台上 运 行 , 过主 机 终 端 打 印调 试 信 息 。文件 通
系统 存储 了系 统 配 置 文 件 、 备 驱 动 程 序 和 开 发 的 应 J 程 序 等 。 设 【 } j
其中 , S U B摄像头 的驱动和图像 的以太网传输是重点 。
21 视 频 设 备 驱 动模 块 .
¥ C 40处 理 器 , 32 1 它是 基于 A M90 R 2T内 核 的 1 位 /2 R S 6 3 位 IC结 构 。这款 芯 片集 成 了 以下 部件 : MMU、外 部 存储 器控 制 器 、 A D N N F A H控 制 器 、C LS L D控制 器 、 S U B主 口以 及 U R 从 A T通道 等 。
基于Linux的无线视频传输系统设计与实现
入 式视 频 系统设 备 经领域 。 还
关键 词 : 线 多媒 体 ; 无 无线视 频传 输 系统 ; 嵌入 式 Ln x 无线局 域 网 iu ;
De i n a d I plm e a i n o ie e s Vi o Tr ns iso sg n m e nt to f W r l s de a m s i n Sy t m s d o se Ba e n Em be de nu d d Li x 口 CHE o - n , NG i o , HENG J — u Z N Y u r g YA o Ha- C b u h a , HEN Gu -u G oh i
摘 要 : 用 A M9 ¥ C 4 0 处理 器 为硬 件 平 台 , 选 R (3 2 1 ) 嵌入 式 Ln x操作 系统 为软 件平 台, 用 WL N为传 iu 采 A 输 方式 , 计 并 实现 了一 个无 线视频 传输 系统 。提 出一 个无 线视 频 系统 的总框 架 , 绍 系统硬件 平 台和 设 介
《 中国有线电视)00 0 ) 2 1 (9
C N DI , AB E T HI A GI I C L V I AL
⑥
文章 编 号 :0 7— 0 2 2 1 )9—14 0 10 7 2 (0 0 0 0 7— 5
・与 ・ 开 应 发用
中图 分 类 号  ̄P 7 T33
Linux基于Live555从网络摄像机获取rstp实时264视频流并转发
Linux基于Live555从网络摄像机获取rstp实时264视频流并转发1、编译生成库从官网上下载,下载地址:/liveMedia/public/,选择live555-latest.tar.gz下载解压:tar xzf live555-latest.tar.gz修改权限: chmod +777 live -R修改交叉编译工具:cp config.armlinux cp config.armvi config.armCROSS_COMPILE?= arm-buildroot-linux-uclibcgnueabi-生成Makefile : ./genMakefiles armmake生成mediaServer /live555MediaServer使用H.264文件测试:live555MediaServer test.264获取IP 错误一直为127.0.1.1 或0.0.0.0而机器IP 为127.0.0.1 & 192.168.55.3内核不支持端口复用需要注释掉groupsock/GroupsockHelper.cpp SO_REUSEPORT2、添加获取实时帧类参考:https:///leixiaohua1020/p/3902151.html创建rtsp server创建对话static ServerMediaSession* createNewSMS(UsageEnvironment& env,char const* fileName, FILE* /*fid*/) ServerMediaSession* sms = NULL;sms->addSubsession(H264LiveVideoServerMediaSubsession::createNew(env, fileName, reuseSource));获取videoFramedSource*H264LiveVideoServerMediaSubsession::createNewStreamSource (unsigned /*clientSessionId*/, unsigned& estBitrate)H264LiveVideoSource* liveSource = H264LiveVideoSource::createNew(envir(), fChanID);if (liveSource == NULL) return NULL;// Create a framer for the Video Elementary Stream:return H264VideoStreamFramer::createNew(envir(), liveSource);获取帧H264LiveVideoSource::doGetNextFrame()编译通过nfs运行VLC 播放代码下载地址:/download/xwu122930/10156693。
基于ARM和Linux的网络视频采集传输方案的设计和实现
基于ARM和Linux的网络视频采集传输方案的设计和实现刘宇;车进【摘要】针对现有的视频采集设备占用较多空间,而且需要使用专用资源的情况,设计了一个基于嵌入式的网络视频采集传输方案.该方案采用ARM11为核心处理器,嵌入式Linux为软件平台,搭建嵌入式平台.将视频服务器MJPG-streamer移植到该嵌入式平台,实现图像的采集、压缩和传输,使用者可在Web浏览器中观察到远端的实时视频画面.实验结果表明,该方法能够很好地采集、处理和发送视频,实现远程观察实时的视频画面,且设备占用空间较小.【期刊名称】《宁夏工程技术》【年(卷),期】2014(013)001【总页数】4页(P30-32,36)【关键词】嵌入式系统;Linux;MJPG-streamer;视频图像采集【作者】刘宇;车进【作者单位】宁夏大学物理电气信息学院,宁夏银川 750021;宁夏大学物理电气信息学院,宁夏银川 750021【正文语种】中文【中图分类】TN919.8;TP368.1在日常生活中,视频采集的应用场合很多,诸如门禁、安防、远程视频会议等.现有的视频采集设备,模块较多,在使用中要占用很多空间.因此,本文提出了一种基于B/S结构的嵌入式Linux的网络视频采集传输方案,该方案取代了以前占用空间较多的视频采集设备,而将图像采集、图像的压缩和编码以及网络传输集成到一个体积小、占用资源少的嵌入式系统中,通过远端的浏览器观察视频画面.1 总体设计本方案采用飞凌嵌入式公司出品的ARM11开发板TE6410作为硬件平台,Linux 操作系统作为软件平台,通过USB摄像头采集图像,然后利用MJPG-streamer 视频流服务器及其相关插件获取、处理图像[1],并通过网络发送到用户平台,用户可以通过浏览器查看视频.方案整体结构见图1.图1 方案整体结构图2 方案硬件设计本方案主要采用ARM11开发板TE6410、USB摄像头和一台计算机.TE6410开发板搭载了三星公司出品的s3c6410核心板,主频高达533MHz,配有256 MB的DDR内存和4GB的NAND FLASH.TE6410开发板有3个串口,一个LCD扩展口,一个100 M网口.它标配的USB Host插口和USB Slave插口均为2.0标准,采用8位拨码开关选择不同的启动方式.外部扩展端口包括一个SD卡槽,一个Wi-Fi扩展接口,以及摄像头接口和J-TAG接口等.USB摄像头采用罗技公司的C270网络摄像头.采用一台运行Ubuntu12.10操作系统的计算机作为用户平台.方案硬件结构见图2.图2 方案硬件结构图3 方案软件设计本方案软件设计主要包括U-Boot,Linux内核,rootfs.yaffs2,MJPG-streamer 软件的修改和移植[2].方案软件框图见图3.U-Boot是在操作系统运行之前运行的一段小程序,用来完成硬件设备的初始化,从而将系统软硬件环境带到合适状态,为最终调用操作系统做好准备.编译好的U-Boot可以在TE6410开发板附带的光盘里找到.Linux内核采用3.0.1版本,该版本的内核包含USB摄像头的驱动和V4L2驱动框架[3].当内核烧写到开发板中,插上USB摄像头便自动识别.本方案采用rootfs.yaffs2作为TE6410的文件系统.rootfs.yaffs2是一个专门为NAND FLASH存储器设计的嵌入式文件系统,适用于大容量的存储设备,而且它是开源软件,所以采用rootfs.yaffs2作为文件系统[4].MJPG-streamer是一个开源项目,通过支持Linux-UVC的网络摄像头采集JPEG 图像,并且将采集到的图像流式传输成为M-JPEG视频流,通过网络传输给浏览器.它是一个可移植的Linux-UVC流媒体应用.之前,国外的嵌入式爱好者将MJPG-streamer项目移植到了Mini2440平台,并设立了一个名为mjpg-streamer-mini2440的开源项目.基于TE6410开发板,笔者在mjpg-streamer-mini2440开源项目的基础上进行拓展,使之能够移植到TE6410开发板上正常使用.图3 方案软件框图3.1 交叉开发环境的搭建TE6410开发板采用U-Boot作为引导程序、嵌入式Linux系统镜像(版本号为3.0.1)和rootfs.yaffs2文件系统.将这3个文件从开发板附带的光盘里复制到SD 卡中,SD卡插入开发板的SD卡槽,开发板设置为SD卡启动模式,启动开发板一键安装嵌入式Linux系统.交叉开发环境需要Linux桌面系统,选用Ubuntu12.10.首先在计算机安装VMware8.0虚拟机,在虚拟机中安装Ubuntu12.10;再在Uubuntu12.10中安装交叉编译工具链Arm-Linux-Gcc-4.3.2;之后使用VMware8.0自带的VMware-Tools实现虚拟机和主机的文件共享;最后将虚拟机设置为桥接方式使之能够上网,并将虚拟机和开发板设为同一网段后使用ping命令将虚拟机和开发板连通.3.2 MJPG-streamer移植过程将MJPG-streamer视频流服务器移植到TE6410开发板上运行,从而实现图像采集和网络传输,具体移植过程如下:(1)下载mjpg-streamer-mini2440项目源代码:mjpg-streamer-mini2440-read only,并放在ubuntu的一个文件夹中(比如/mnt/webcamera文件夹). (2)进入 webcamera文件夹中,用 VI编辑start_uvc_yuv.sh 的内容[5]:执行以下命令进行编译链接并打包[6]:在当前目录下会生成mjpg-streamermini2440-bin.tar.gz.经过以上步骤,已将参数配置成适合TE6410开发板和USB摄像头的环境,将它复制到SD卡中.(4)在TE6410开发板上安装MJPG-streamer.将SD卡插入开发板的SD卡槽里,在开发板的终端输入以下命令安装MJPG-streamer:3.3 M-JPEG压缩算法研究与实现M-JPEG视频编码格式,把运动的视频序列当作连续的静止图像来处理,该压缩方式单独完整地压缩每一帧,在编辑的过程中可随机存储每一帧,可进行精确到帧的编辑.其主要特点是基本不考虑视频流中不同帧之间的变化,只单独对某一帧进行压缩.M-JPEG单帧压缩算法为JPEG算法,即把一幅图像分成8×8的方阵之后进行离散余弦变换(DCT).离散余弦变换是将光强数据转换成频率数据,从而得知强度变化情况.因为人类视觉系统对图像的低频成分比对高频成分有更高的敏感度,因此如果对图像的高频成分进行量化,再还原成光强数据,尽管与原图像有些差异,但人眼难以分辨[7].JPEG压缩是有损压缩,损失的部分是人类视觉不容易觉察到的高频成分,节省大量需要处理的数据信息.以下就是JPEG所使用的二维DCT公式式中:f(i,j)为像素值,F(u,v)为变换系数,u,v为系数下标.在压缩时,将原始图像分成很多个8×8像素的图像数据块.之后,通过零均值化,将每个字节的值从0~255转为-128~+127,并以此作为离散余弦正变换FDCT(Forward DCT)的输入.FDCT将每个数据块的值换为64个DCT系数,第1个系数称为直流系数,而其余63个系数则称为交流系数.在解压缩时,经逆向IDCT(Inverse DCT)将64个DCT系数还原为8×8像素的数据块,然后组成完整图像[8].4 方案测试USB摄像头插入开发板的USB Host端口,开发板上电.首先,在超级终端下进入TE6410开发板,使用ping命令将虚拟机和开发板连通.之后,启动开发板上的服务器端.此时,MJPG-streamer启动,并且其输入组件通过USB摄像头采集JPEG 格式的图像,保存到内存中;网络服务器输出组件能够从内存中获取JPEG格式的图像,并将图像流式传输成为M-JPEG视频流,通过网络服务器发送给计算机.在虚拟机的Web浏览器中输入开发板IP地址发出访问请求,服务器收到访问请求后与客户端建立连接并将视频数据发送到客户端监听端口,用户可以在虚拟机的Web浏览器中观察到实时的视频画面.测试在Ubuntu12.10操作系统下完成,采集原始图像的格式为YUYV,分辨率为640×480,转换成JPEG格式图片的压缩率为0.8∶1.在此测试环境中,视频画面清晰、流畅,实时性好.本方案的测试对照结果见图4,图4a是开发板的液晶屏上显示的YUYV格式图像,图4b是用户平台的Web浏览器中显示的JPEG格式图像.图4 方案的测试对照结果5 结语本方案使用支持Linux-UVC的USB摄像头采集图像,采用飞凌公司出品的ARM11开发板TE6410和嵌入式Linux操作系统处理图像,通过移植MJPG-streamer视频流服务器,实现基于网络的视频采集传输.本方案是一种结构紧凑、占用空间很小的网络视频采集传输方案,不仅USB摄像头非常容易获得,而且充分利用现有的网络资源,不必使用额外的设备或资源.本嵌入式视频采集传输方案将在视频会议、交通监控等方面有很好的应用前景.参考文献:【相关文献】[1]杨宏,张志文.基于Web的嵌入式远程监控系统的研究与实现[J].计算机与数字工程,2012(10):70-72.[2]冯兴乐,王建建,张哲,等.基于嵌入式Linux的无线图像传输在车联网的应用[J].电视技术,2012(21):156-159.[3]于艳萍,朱晓智,王中训.基于ARM9和USB摄像头的网络视频采集系统设计[J].现代电子技术,2011(24):49-51.[4]陈毅辉,王存堂,钱帅杰,等.模糊智能控制在卷绕系统中的应用[J].机械设计与制造,2006(7):146-148.[5]庄严,王骁,汤建敏.嵌入式C/C++系统工程师实训教程[M].北京:清华大学出版社,2011.[6]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2009.[7]祝宁,叶念渝.JPEG图像文件格式的分析及应用[J].电脑与信息技术,1999(3):21-24.[8]许刚,廖斌,李承毅.JPEG图像文件格式分析[J].计算机系统应用,1998(10):37-39.。
Linux远程文件传输脚本使用Shell脚本实现Linux系统间的远程文件传输和同步
Linux远程文件传输脚本使用Shell脚本实现Linux系统间的远程文件传输和同步在Linux系统中,远程文件传输和同步是日常工作中经常需要处理的任务之一。
为了提高效率和减少人工操作的错误,可以编写一个Shell脚本来实现远程文件传输和同步的功能。
本文将介绍如何使用Shell脚本来实现Linux系统间的远程文件传输和同步。
一、需求分析在开始编写Shell脚本之前,首先需要确定远程文件传输和同步的具体需求。
例如,传输的文件类型、传输的方向(从本地到远程还是反之)、传输的目标主机地址等。
根据具体需求,可以编写相应的Shell脚本。
二、编写脚本1. SSH在Linux系统中,远程连接一般使用SSH(Secure Shell,安全外壳协议)协议。
通过SSH协议,可以建立起与远程主机的安全连接,并进行文件传输和同步的操作。
2. 建立连接首先,需要在脚本中使用SSH命令建立与远程主机的连接。
通过指定远程主机的IP地址、用户名和密码,可以使用SSH命令建立连接并进行认证。
3. 文件传输和同步通过在脚本中使用SCP(Secure Copy,安全拷贝)命令,可以进行文件的传输和同步操作。
使用SCP命令可以将本地文件复制到远程主机,或者将远程主机上的文件复制到本地。
4. 脚本实现示例下面是一个使用Shell脚本实现远程文件传输和同步的示例:```shell#!/bin/bash# 设置远程主机的IP地址、用户名和密码REMOTE_HOST="192.168.0.100"USERNAME="user"PASSWORD="password"# 要传输的文件LOCAL_FILE="/path/to/local/file"REMOTE_DIR="/path/to/remote/dir"# 建立SSH连接sshpass -p $PASSWORD ssh $USERNAME@$REMOTE_HOST# 将本地文件传输到远程主机sshpass -p $PASSWORD scp $LOCAL_FILE$USERNAME@$REMOTE_HOST:$REMOTE_DIR# 将远程主机上的文件复制到本地sshpass -p $PASSWORD scp$USERNAME@$REMOTE_HOST:$REMOTE_DIR/* /path/to/local/folder ```该脚本首先使用SSH命令建立与远程主机的连接,并进行认证。
嵌入式Linux系统下的视频服务器的设计
Ab t a t To a hive c os — a f m e o e v d o t a m ison a i e o t i g nd r t e ha s nv r nm e t, sr c : c e r s pltor r m t i e r ns s i nd v d o m niorn u e h r h e io n an
s r a i e ubl hi .Thi e ie s c e suly t a s a e e v ox a p a e v on t m be de y t m ,i hee te m ng w b p i ng s s d v c u c s f l r n plt s s r f nd s c s r o e d ds se n t nd s r e - i e i e fnih d. Cle r s r r a ie e ltm e y r m ot i o m o t i nd r t e w o k t r ug e v rsde d sgn ar i s e intb ow e e l s r a —i l e z e vde niorng u e he n t r h o h
0 引
言
随着 多 媒 体 技 术 的 发 展 和 网 络 带 宽 的 增 加 , 统 的 视 传 频 监 控 模 式 逐 渐 不 能 满 足 市 场 的 需 要 , 别 在 一 些 特 殊 的 特 工 业 现 场 , 统 的 设 备 无 法 架 设 而 且 不 能 适 应 恶 劣 的 环 传
摘
要 :为 了实 现 跨 平 台 的 远 程 视 频 传 输 和 恶 劣 环 境 下 的 视 频监 控 , 计 一 种 嵌 入 式 Ln x系统 下 的 视 频 服 务 器 , 设 iu 实
基于嵌入式Linux视频监控传输系统的设计与实现
基于嵌入式Linux视频监控传输系统的设计与实现摘要:达芬奇技术是一款集成了 dsp 处理器、arm处理器、软件、工具以及技术支持的综合型解决方案系列,非常适用于开发各种优化的数字视频终端设备。
本文介绍了一种基于达芬奇技术的数字视频监控传输系统设计方案。
本文详细阐述了该系统的总体架构、硬件构成以及视频传输系统软件实现。
关键词:达芬奇技术数字视频 tms320dm6467 tvp5158中图分类号:tp274.2 文献标识码:a 文章编号:1007-9416(2013)01-0145-02随着网络、通信和微电子技术的快速发展和人民物质生活水平的提高,视频监控以其直观、方便和内容丰富等特点,日益受到人们的重视。
视频监控系统是安全防范系统的组成部分,是一种防范能力较强的综合系统,因其直观、方便、信息内容丰富的特点而被广泛应用于金融、电力、交通和公安消防等领域。
在众多视频监控产品中,以嵌入式数字视频服务器为核心的无线视频监控系统最具发展潜力,它具有布控区域广阔、可扩展能力强、易于组成复杂的监控网络、性能稳定可靠等特点,得到越来越多的研究和应用。
1 系统概述整个视频监控系统从功能可划分为三个部分:视频监控服务器、中心平台、视频监控客户端。
视频监控服务器或叫监控前端(pu),是系统的信息采集端,实现视频信息、音频信息、数据信息及告警信息的采集功能以及音视频录像的存储功能,具有语音信息和数据信息的双向传送功能。
视频监控客户端或叫监控中心界面(cu),是系统的客户应用端,实现视频信息、音频信息、数据信息及告警信息对用户的呈现。
根据客户端类型的不同,部分cu还具备对系统的设备管理、用户管理等功能[1]。
中心平台是系统的中心管理服务器,负责业务流程的控制和策略管理[2],包括视频分发/转发服务器(vtdu)、网络录像存储服务器(nru),sip信令处理解析服务器、sip服务器和数据库管理系统。
系统的整体框架如图1所示:2 系统硬件开发平台系统pu端采用基于davinci技术的tms320dm6467作为核心处理器,它是ti公司专门针对数字视频服务器dvs应用而推出的高性能数字媒体处理器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1原创性声明----------------------------------------------------3 2 摘要----------------------------------------------------------4 3系统方案------------------------------------------------------43.1功能与指标----------------------------------------------43.2方案选择与论证------------------------------------------4系统组成框图--------------------------------------------4硬件平台介----------------------------------------------4视频采集方案的选择--------------------------------------4视频编码方案的选择--------------------------------------5视频传输方案的选择--------------------------------------6显示方案选择--------------------------------------------63.4系统软件实现--------------------------------------------63.4.1服务器--------------------------------------------6(1)视频采集模块-------------------------------------6(2)视频压缩模块------------------------------------10(3)网络传输发送模块---------------------------------133.4.2客户端--------------------------------------------19(1)网络传输接收模块--------------------------------19(2)视频解码模块------------------------------------19(3)视频显示模块------------------------------------22 四系统测试----------------------------------------------------25 附录:源代码参考书目2006年英特尔杯大学生电子设计竞赛嵌入式系统专题邀请赛参赛作品原创性声明本人郑重声明:所呈交的参赛作品报告,是本人和队友独立进行研究工作所取得的成果。
除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果,不侵犯任何第三方的知识产权或其他权利。
本人完全意识到本声明的法律结果由本人承担。
参赛队员签名:日期:年月日2 摘要本系统在LINUX平台下实现了视频的采集、压缩、传输及组播,图象清晰,实时性较好。
本设计采用USB摄像头结合LINUX下自带的驱动模块VIDEO4LINUX实现视频采集。
在XVID视频编解码平台下实现视频的压缩和解压。
视频传输采用专门为流媒体传输设计的RTP协议,达到了较高的实时性。
ABSTRACTOn the basis of Linux platform, this system realizes the videodata's collection, compression and network transmission. The videodata's collection is realized through USB camera and Video4Linux. The videodata's coding and decoding is realized under the Xvid platform. And the network transmission is realized by Rtp protocal which is designed for streammedia. All of these make hign real-time performance.关键词:视频 RTP XVID SDL3 系统方案3.1实现功能与指标本系统可用于足球赛场向场内或场外观众提供更逼真的更精彩的比赛画面,使场内观众可以零距离的观看射门等精彩画面。
用户可用笔记本电脑由局域网连接服务器,运行客户端软件即可欣赏近距离的比赛画面。
服务器由USB摄像头采集数字视频信息,经过MPEG4视频编码,然后通过JRTP网络传输协议向连接到服务器的客户端传输视频信息,实现视频的实时组播。
采集到的YUV图像大约为100KB压缩后每帧图像大小平均为5KB,在局域网环境下延迟小于0.5秒,视频清晰无失真。
鉴于服务器的主频限制,组播最大连接数为5,可同时向5个用户提供视频信息。
3.2方案选择与论证系统组成框图:USB摄像头基于GENE8310的服务器10网络远程登录主机硬件平台介绍:GENE-8310是AAEON提供的第三代无风扇解决方案,在低功耗情况下可以获取更高的性能表现,主要表现在:卓越性能与可控的功耗,多种显示模式,可扩展性,GENE8310主频为500M 可以做视频采集处理与传输的服务器。
视频采集方案的选择:LINUX有自带的摄像头驱动模块Video4Linux. Video4Linux为针对视频设备的应用程序编程提供一系列的接口函数,对于USB摄像头,其驱动程序中需要提供基本的I/O操作接口函数如open close的实现以及内存影射功能和对I/O操作的控制接口函数ioctl等。
LINUX下视频采集如下所示视频应用程序Video4Linux2设备驱动程序视频采集设备视频编解码方案的选择Xvid作为第二代MPEG-4编码具有多方面的优点,XVID是DIVX开发小组因不满DIVX被封闭而在其基础上开发的源码开放的视频编码解码平台。
对于第二代的MPEG4视频编码内核来说。
XVID的各种特点都有代表性和先进意义。
1.它支持多种编码模式:除了最原始的单重估定码流压缩(1-pass CBR)之外,XVID提供了包括:单重质量模式动态码流压缩单重量化(Quantization)模式动态码流压缩、和包括外部控制和内部控制的两种双重(2-pass)动态码流压缩模式。
2.在量化方式上Xvid不仅提供了标准的MPEG量化方式,还特地提供了更适合低码流压缩的.h 263量化方式。
3.除了量化方式迭择,Xvid还提供了强大的对压缩过程中的量化幅度的范围控制。
用户可以选定压缩时允许使用的量化幅度范围。
例如设定一个量化的上限,就可以避免可能出现的画质大幅下降的情况。
4.在运动侦测(Motion Search)和曲线平衡分配(Curve)方面,XVID对画面帧进行运动侦测以及对全片段的运动侦测结果进行分析后,重新以曲线平衡分配每一帧的量化幅度,以做到:需要高码流的运动画面可以分配更多空间、更高的码流、更低的量化幅度来保持画面的细节;而对于不包含太多运动信息的静态画面,则消减分配预算。
这种把好钢用在刀刃上的做法,是Xvid作为第二代MPEG-4编码的核心内容。
5.Xvid提供了多极运动侦测精度,包括半像素插值的技术以16x16像素的微区块为单元标示上运动矢量:以及4分运动矢量(inter4v motionvectors)的方式,以8x8的像素区块为单元更细致的纪录运动向量以供二重分析。
6.动态关键帧距是另一个Xvid所具有的,在空间和画面之间获得最大平衡的技术。
我们知道在视频压缩中不是每一帧都记录着全部的画面信息,事实上只有关键帧记录着完整的画面信息,而后续的P帧(P-Frame)仅仅是纪录下与之前一帧的差值。
如果关键帧之间的画面变化很大,则会浪费宝贵的空间在P-Frame上;而加入把变化很大的那一帧记录在关键帧里,那么由于后续的帧不再有更大的变化,就可以节省P帧所需的空间。
因此,根据画面镜头切换和运动幅度来变换关键帧的位置,对于视频压缩下的画面质量提高,就有着事半功倍的效果。
鉴于XVID以上种种优点,我们采用XVID实现视频的编解码。
视频传输方案的选择视频传输可以选择TCP与UDP,TCP是一个面向连接协议,传输信息前需要建立连接,系统资源开销大,但可靠性较高。
UDP是一个无连接协议,传输数据之前源端和终端不需要建立连接,资源开销小,实时性较高。
实时传输协议(Real-time Transport Protocol,RTP)是在Internet上处理多媒体数据流的一种网络协议,利用它能够在一对一(Unicast,单播)或者一对多(Multicast,多播)的网络环境中实现传流媒体数据的实时传输。
RTP通常使用UDP来进行多媒体数据的传输,具有UDP传输的优点。
鉴于可靠性考虑,在本系统中,信息传输之前服务器和客户端用TCP建立连接。
然后服务器通过RTP向客户端发送视频信息,这样就达到了可靠性和实时性的平衡。
显示方案选择SDL(Simple DirectMedia Layer)是一个跨平台的多媒体游戏支持库。
其中包含了对图形、声音、线程等等的支持,目前可以运行在许多平台上,其中包括 X Window、X Window with DGA、Linux FrameBuffer 控制台等等。
因为 SDL 专门为游戏和多媒体应用而设计开发,所以它对图形的支持非常优秀,尤其是高级图形能力,比如 Alpha 混和、透明处理、YUV 覆盖、Gamma 校正等等。
而且在 SDL 环境中能够非常方便地加载支持 OpenGL 的 Mesa 库,从而提供对二维和三维图形的支持。
本系统客户端接受到的视频解压后为YUV格式,考虑到SDL在YUV覆盖方面的优势,我们选择SDL实现视频信息接收接压后的显示。
3.3系统软件实现3.3.1服务器服务器实现了采集数据然后压缩后进行实时传输,用了三个线程分别实现了视频的采集压缩(线程1),通过TCP协议建立连接(线程2),压缩后视频流的传输(线程3)。
服务器应用程序运行后,服务器即创建线程1进行视频采集,线程2处于阻塞状态。
一旦有客户端建立连接,则线程2获得客户端IP信息。
以此IP信息为参数建立线程3,线程3通过JRTP协议向客户端传递视频流。
此后客户端继续处于阻塞状态,直到有新的客户端连接。
服务器端的重要的模块包括视频采集模块,视频压缩模块,和网络传输发送模块。