毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

数字视频监控系统客户端设计+源代码+绪论 第5页

更新时间:2010-9-8:  来源:毕业论文
数字视频监控系统客户端设计+源代码+绪论 第5页
GStreamer使用一个类型系统来保障流经元件的数据格式是可识别的。当连接元件中的衬垫时,类型系统对于确保特定的参数有着非常重要的作用,这些参数对正连接的元件间的衬垫的格式匹配有着特定作用。元件间的每一个连接有一个指定的类型和可选的属性集。
GStreamer已经支持许多基本的媒体类型。下表是GStreamer中的缓冲区所使用的一些基本类型。表中包含了类型的名字("mime type")和对类型的描述,类型相关的属性,以及每个属性的意义。已定义类型列表一节中列出了所有支持的类型。论文网http://www.751com.cn
Mime 类型 描述 属性 属性类型 属性值 属性描述
audio/* 所有音频类型  rate 整型 大于0 数据的采样率,每秒的样本数(每个声道)。
  channels 整型 大于0 音频数据的声道数。
audio/x-raw-int 未结构化的及未压缩的原始整型音频数据.  endianness 整型 G_BIG_ENDIAN (1234) or G_LITTLE_ENDIAN (4321) 样本的字节序列。
  signed 布尔型 TRUE或FALSE 整型样本值是否带符号。 带符号的样本值用一个位来指示符号位(正或负)。不带符号的样本值总为正。
  width 整型 大于0 每个样本的最大位数。
  depth 整型 大于0 每个样本所使用的位数。
audio/mpeg 使用MPEG音频算法压缩过的音频数据。  mpegversion 整型 1, 2或4 压缩数据的MPEG-版本。值1表示MPEG-1, -2 和-2.5 layer 1, 2或3。值2和4表示MPEG-AAC 音频压缩算法。
  framed 布尔型 0或1 true值表示每个缓存只包含一帧。false 值表示缓存数和帧数并不是1:1。
  layer 整型 1, 2,或3 用来压缩数据的压缩策略层次。 (only if mpegversion=1).
  bitrate 整型 大于0 位率,每秒的位数。对于VBR (variable bitrate) MPEG 数据,这是个平均位率。
audio/x-vorbis Vorbis 音频数据       对这种类型的数据通常没有特定的属性。
表3-1 MIME 类型表4 客户端的实现4.1视频回放管线的实现
图4-1演示程序运行效果图
视频回放管线由Gstreamer的元件对像组成,共分为7个部分。分别是udworkslive,udworksdemux,queue,ffdec_h264,ffmpegcolorspace,videoscale,cluttersink。udworkslive负责网络协商和接收数据,udworksdemux负责多接受到的数据进行缓冲和解复合,queue的作用主要是避免管线被堵塞,ffdec_h264是ffmpeg的一个分包,通过调用ffmpeg对H.264码流进行解码,ffmpegcolorspace把解码后的每一视频帧进行从YUV到RGB的色彩空间转换,接着videoscale对每一视频帧进行缩放,最后由cluttersink复制把每一个视频帧贴图投影到OpenGL的3D空间中。其中queue,ffdec_h264,ffmpegcolorspace,videoscale是GStreamer已经实现的元件。cluttersink是clutter库里实现的元件。udworkslive和udworksdemux需要自行实现,因为与DVR产品的底层协议密切相关,故没有的现成的通用元件可以提供支持。
图4-2在终端里用命令行运行视频回放管线
udworklive和udworksdemux实现的是韩国UDworks公司的网络视频协议。
4.1.1 udworklive 元件的实现本文来自辣-文'论-文~网
udworkslive继承于Gstreamer的GstBaseSrc 元件,继承了基本source elemnt的所有功能。然后重载了start函数,stop函数和create函数。代码如下:
base_src_class->get_caps = gst_udworks_live_src_getcaps;
base_src_class->start = gst_udworks_live_src_start;
base_src_class->stop = gst_udworks_live_src_stop;
base_src_class->unlock = gst_udworks_live_src_unlock;
base_src_class->unlock_stop = gst_udworks_live_src_unlock_stop;
push_src_class->create = gst_udworks_live_src_create
start函数在管线的状态从NULL变化到READY的时候被调用,主要实现和远程设备的协商。首先客户端要向服务器端进行认证,客户端会向服务器的一个指定端口发起TCP

上一页  [1] [2] [3] [4] [5] [6] 下一页

数字视频监控系统客户端设计+源代码+绪论 第5页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。