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

简介: 1,gstreamer开发手册,gstreamer官网(这些都不用说了吧) 2,gst-launch的用法,这也不用说了吧。

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

目录
相关文章
|
Linux 数据安全/隐私保护 Windows
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
2727 0
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
|
7月前
|
存储 前端开发 Android开发
GB28181设备接入侧录像查询和录像下载技术探究之实时录像
我们在对接GB28181设备接入侧的时候,除了常规实时音视频按需上传外,还有个重要的功能,就是本地实时录像,录像后的数据,在执法记录仪等前端设备留底,然后,到工作站拷贝到专门的平台。
135 1
|
3月前
|
数据采集 编解码 图形学
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
104 0
|
流计算
海康录像机RTSP回放流的格式
海康录像机RTSP回放流的格式
581 0
|
7月前
|
编解码 监控 网络协议
Android平台GB28181设备接入侧如何实现按需打开视音频采集传输
Android平台GB28181设备接入侧如何实现按需打开视音频采集传输
121 2
|
7月前
|
开发工具 Android开发 开发者
Android平台RTMP推流或轻量级RTSP服务(摄像头或同屏)编码前数据接入类型总结
很多开发者在做Android平台RTMP推流或轻量级RTSP服务(摄像头或同屏)时,总感觉接口不够用,以大牛直播SDK为例 (Github) 我们来总结下,我们常规需要支持的编码前音视频数据有哪些类型:
|
7月前
|
数据采集 编解码 开发工具
Android平台屏幕/摄像头或外部数据采集及RTMP推送接口设计描述
好多开发者提到,为什么大牛直播SDK的Android平台RTMP推送接口怎么这么多?不像一些开源或者商业RTMP推送一样,就几个接口,简单明了。
|
9月前
|
存储 编解码 缓存
海康摄像头开发笔记(一):连接防爆摄像头、配置摄像头网段、设置rtsp码流、播放rtsp流、获取rtsp流、调优rtsp流播放延迟以及录像存储
Hik防爆摄像头录像,因为防爆摄像头会有对应的APP软件,与普通的网络摄像头和球机不一样,默认认为它不可以通过web网页配置,所以弄了个来实测确认。经测试实际上也是可以通过web网页配置(与网络摄像头基本是一致的,在码流方面可能会有些不一样),然后提取rtsp流的,界面与球机无异,只是没有球机的云台控制功能,但是界面上也是有的。
海康摄像头开发笔记(一):连接防爆摄像头、配置摄像头网段、设置rtsp码流、播放rtsp流、获取rtsp流、调优rtsp流播放延迟以及录像存储
|
存储 编解码 算法
树莓派 之 USB摄像头 局域网内视频流实时传输( MJPG-Streamer)
树莓派 之 USB摄像头 局域网内视频流实时传输( MJPG-Streamer)
1031 0
树莓派 之 USB摄像头 局域网内视频流实时传输( MJPG-Streamer)
|
存储 SQL 数据库
从海康摄像机上读取RTSP视频流并存储当前帧到本地
从海康摄像机上读取RTSP视频流并存储当前帧到本地
2112 0