GStreamer资料整理(包括摄像头采集,视频保存,远程监控,流媒体RTP传输)

1,gstreamer开发手册,gstreamer官网(这些都不用说了吧)

 

2,gst-launch的用法,这也不用说了吧。(白菜,鸡蛋,西红柿,砖头,鼠标……..)

 

3,http://blog.chinaunix.net/u/6646/showart_164960.html

lqplayer--基于gstreamer和qt的linux下的简单播放器。

实现了基于QT+GST的一个播放器。我下载源码后编译出现了几个BUG,如下:

(1),源码编译不通过,media.cpp下有个地方大概是第54行,g_free(tag_list);,把这个地方注释掉,资源没有申请到还free,当然出错了。(此BUG花了我几十分钟的时间)

(2),界面上的按钮都不能使用,pthread_create(&tid, NULL, cb_run_loop, this);这句要注释掉,我们的主循环使用的是QT的主循环,这个就不必了吧,要不就进GST的死循环了。(这个小BUG花了我某个星期六的一个清晨)

在这里还要说一下快放和慢放的问题:

gint64 value = m_frontend->sliderTiming->value();

m_speed = m_speed+1;

 

gst_element_seek (m_pipeline, m_speed, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,

GST_SEEK_TYPE_SET, value * GST_MSECOND*1000 ,

GST_SEEK_TYPE_SET, GST_CLOCK_TIME_NONE);

 

当m_speed为负值时可实现倒放,但是不稳定,仅几秒钟就会出现GST_MESSAGE_EOS。

 

当m_speed为负值时,我这样实现

gst_element_seek (m_pipeline, m_speed, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,

GST_SEEK_TYPE_SET, GST_CLOCK_TIME_NONE ,

GST_SEEK_TYPE_SET, value * GST_MSECOND*1000);

无非就是调了个位置,效果好了许多,不妨试一下。(为啥呢,我也不知道,此BUG花了我三四天的时间)

 

4,http://www.pierrox.net/dvr/releases/dvr-3.99.4.tar.bz2

基于QT3的,实现了GST的采集编码,并保存为avi文件。总感觉这东西写的有些地方让人不爽,又说不出是哪里来。

 

5,http://blog.chinaunix.net/u3/94516/showart_2269637.html

GStreamer发送视频/音频流至服务器端并播放、保存。

Client实现了gstreamer视频文件的RTP发送,写个vlc的配置文件,使用vlc打开可以在网络上进行观看(vlc的使用和配置文件使用可以从网上搜一下,还是比较多的),效果还不错.源码实现时稍显繁琐。Decodebin的连接要注意一下。还有就是gstrtpbin的连接要仔细看一下,刚开始感觉有些麻烦,错误了好几次。后来才明了了。(此功能的源码实现花了我一整天的时间,早9-晚11)

Server端,试了,没成功,后来就没仔细看。

 

6,http://www.since1985i.com/tag/gstreamer

Gstreamer实现摄像头采集并显示。不过是命令行下的,相对上面RTP网络的例子来说,这个用源码实现可就是小case了吧。同样结合上面RTP传输的例子,也同样使用vlc来播放,就可以实现网络摄像头。(哇塞,网络摄像头耶!远程监控耶!摄像头采集花了我两个月的时间吧,当时还年轻,后来发现是摄像头的问题,当然,这个也算是BUG,总结经验就是十几块的摄像头是靠不住的)

 

总结:上面有了摄像头采集保存的例子,有利用QT+GST实现播放器的例子,有RTP传输的例子,这样就可以实现用QT做界面,Gstreamer做后台的集采集编码保存,还有本地视频回放,网络视频监控于一体的DVR软件了。嗯,功能还挺全的。有意思吧~~

 

结束语:向以上几位哥们儿致敬。刚开始做民工,有你们的分享我很庆幸。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wzwxiaozheng/archive/2010/12/26/6099397.aspx

时间: 2024-10-24 19:30:33

GStreamer资料整理(包括摄像头采集,视频保存,远程监控,流媒体RTP传输)的相关文章

QT界面通过USB摄像头采集视频出现卡顿

问题描述 QT界面通过USB摄像头采集视频出现卡顿 硬件环境:A8开发板,屏幕S70,USB摄像头500W像素 软件 :Qt界面 问题描述:V4L2构架,界面显示是用定时器刷界面获得的图片,采集的图像尺寸是640x480就会出现卡顿,界面鼠标都会卡,采集320X240正常,帧率5 20 30 都设置了,没有改善卡顿问题,因此想问问题在哪里怎么修改?

c++-opencv 摄像头读取视频保存

问题描述 opencv 摄像头读取视频保存 namedWindow("E1",cv::WINDOW_AUTOSIZE); namedWindow("E2",cv::WINDOW_AUTOSIZE); VideoCapture capture(0); Size size((int)capture.get(CV_CAP_PROP_FRAME_WIDTH ),(int)capture.get(CV_CAP_PROP_FRAME_HEIGHT )); VideoWriter

web启动摄像头-java实现web端启动摄像头录制视频并保存

问题描述 java实现web端启动摄像头录制视频并保存 java实现web端启动摄像头录制视频并保存,再网页端点击按钮开始录制点击完成停止录制,并将这段视频上传

摄像头 添加文字-如何给摄像头采集的视频在编码时添加上文字?

问题描述 如何给摄像头采集的视频在编码时添加上文字? 请问,如何给摄像头采集的视频在编码时添加上文字?麻烦有知道的大侠能给解决一下.请问,如何给摄像头采集的视频在编码时添加上文字?麻烦有知道的大侠能给解决一下.请问,如何给摄像头采集的视频在编码时添加上文字?麻烦有知道的大侠能给解决一下.

《Sony Vegas Pro 12标准教程》——2.2 使用Vegas采集视频

2.2 使用Vegas采集视频 首先,我们启动Vegas Pro 12. 如图2-3所示,单击采集视频,将会弹出Vegas的采集程序设置对话框. 在图2-4所示的对话框中我们可以看到,Vegas提供了两种不同的采集方式,分别对应不同的采集.首先,我们来看一下DV采集. 2.2.1 DV采集 在图2-4中选择DV单选框,然后单击确定按钮,将会弹出Vegas自身提供的DV视频采集程序Sony Video Capture 6.0.如图2-5所示. 在这个程序中我们可以设置任何需要的参数,来实现从摄像机

JSON资料整理

原文:JSON资料整理 PS:JSON基础知识整理,大神可移步 目录 1.什么是json 2.json语法规则 3.json基础结构 4.json基础示例 5.JSON和XML比较 6. .NET操作JSON          原始方式          通用方式          内置方式          契约方式   通过序列化将.net对象转换为JSON字符串 使用LINQ to JSON定制JSON数据 处理客户端提交的JSON数据   1.什么是JSON   JSON(JavaScr

android camera-Android 摄像头,数据保存

问题描述 Android 摄像头,数据保存 请问:用Android camera采集视频,怎么得到每帧中心点像素值,保存到int数组中,并最终写入到SD卡中的一个txt文档中?之前的程序写入到txt文档中开始总是莫名多出一个0,现在还是原来的程序,都不能够写入到txt文档中了,很是郁闷,不知道什么原因导致的.各位大神,有做过类似的么?先谢谢了 解决方案 写入TXT文档,只是一个简单的过程.关键在于你获取每帧中心点像素的实现! Android 摄像头,你的原始每帧的图像是什么格式?如果是 BMP,

SQLServer优化资料整理[转]

SQLServer优化资料整理 50种方法优化SQL Server数据库查询(有N多错别字) http://database.51cto.com/art/200612/35820.htm 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最

摄像头采集的图像翻转

故障现象: CC或站端经常会接到用户咨询,在使用随机摄像头进行视频聊天或者其他一些视频应用时会出现采集的图像显示异常的情况,如图. 正常图像 水平方向翻转图像 垂直方向翻转图像 原因分析: 造成此类问题的原因总结一下主要有四种情况 1.摄像头驱动安装错误: 目前出货的机器,多数情况下同一个机型可能会采用多个厂商的摄像头设备,官网提供的驱动是将所有驱动打包,所以不排除用户会自行安装错误的情况. 2.非正规零售或者LENOVO OEM系统导致驱动加载错误: 特别是针对一些免驱性的摄像头设备,如果客户