gstreamer培训资料

上传人:suns****4568 文档编号:117496453 上传时间:2019-12-05 格式:PDF 页数:26 大小:787.37KB
返回 下载 相关 举报
gstreamer培训资料_第1页
第1页 / 共26页
gstreamer培训资料_第2页
第2页 / 共26页
gstreamer培训资料_第3页
第3页 / 共26页
gstreamer培训资料_第4页
第4页 / 共26页
gstreamer培训资料_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《gstreamer培训资料》由会员分享,可在线阅读,更多相关《gstreamer培训资料(26页珍藏版)》请在金锄头文库上搜索。

1、GstreamerGstreamerGstreamerGstreamer 配置及使用配置及使用配置及使用配置及使用配置及使用配置及使用配置及使用配置及使用 研究发展部 2010-6-241506116797 GstreamerGstreamerGstreamerGstreamer 是什么是什么是什么是什么 GstreamerGstreamerGstreamerGstreamer的组成结构的组成结构的组成结构的组成结构 GstreamerGstreamerGstreamerGstreamer的通信机制的通信机制的通信机制的通信机制 GstreamerGstreamerGstreamerGstre

2、amer怎样配置安装怎样配置安装怎样配置安装怎样配置安装 GstreamerGstreamerGstreamerGstreamer怎样配置安装怎样配置安装怎样配置安装怎样配置安装 怎么使用怎么使用怎么使用怎么使用GstreamerGstreamerGstreamerGstreamer 怎么编写怎么编写怎么编写怎么编写GstreamerGstreamerGstreamerGstreamer插件插件插件插件 2010-6-242506116797 GstreamerGstreamerGstreamerGstreamer 是什么是什么是什么是什么 Gstreamer : 是linux上的开源的(Mu

3、lti-media Framework) 多媒体应甠框架 实现语言: C语言 面向对象: Glib 基本设计思想: 来自于俄勒冈(Oregon)研究生学院有关视频管道的创意, 同时也借鉴了 DirectShow的设计思想, 使得在同一框架下编写任意类型的流媒体应甠程序成为 Glib工具集Glib浅析 GObject对象系统 DirectShow的设计思想, 使得在同一框架下编写任意类型的流媒体应甠程序成为 了可能 。在编写处理音频、视频或者两者皆有的应甠程序时, 变得非常简单。同 时GStreamer并不受限于音频和视频处理, 它能够处理任意类型的数据流。 最显著的用途:1. 构建音视频播放器

4、 2. 编辑音视频文件 3. 音视频格式转换 4. 流媒体服务 2010-6-243506116797 版本发布历史: 0.0.1 10thJune 1999 0.3.0 12thDec 2001 0.4.0 5thJuly 2002 0.6.0 1stFeb 2003 0.8.0 16thMarch 2004 0.10.0 - 5thDec 2005 GstreamerGstreamerGstreamerGstreamer 是什么是什么是什么是什么 最新版本: gstreamer-0.10.29 27-Apr-2010 当前使甠: gstreamer-0.10.28 08-Mar-2010

5、下载地址:http:/gstreamer.freedesktop.org/src/ 网站:http:/gstreamer.freedesktop.org/ 2010-6-244506116797 Gstreamer ToolsGstreamer Applications gst-inspect gst-launch gst-editor Media Player VoIP 等等 2010-6-2419 *_init() 初始化实例: 1. 类似C+中的构造函数,对包括Pads在内的内部变量或虚函数进 行初始化。 *_set_property() *_get_property() *_set_c

6、aps() *_chain() *_set_property(): 设置属性的虚函数 *_get_property(): 获取属性的虚函数 *_set_caps():设置某Pad的Caps的虚函数 *_chain(); filter 中处理数据的核心函数(虚函数) 506116797 *_init(GstMyFilter * filter) gst_pad_set_event_function(filter-sinkpad, callback_my_filter_event); GstreamerGstreamerGstreamerGstreamer插件的编写插件的编写插件的编写插件的编写 2

7、010-6-2420 Event 处理函数 static gboolean callback_my_filter_event(GstPad *pad, GstEvent *event) 506116797 GstreamerGstreamerGstreamerGstreamer插件的编写插件的编写插件的编写插件的编写 /* properties */ enum ARG_0, ARG_SILENT /* FILLME */ ; static void gst_my_filter_class_init(GstMyFilterClass *klass) 增加属性 2010-6-2421 gst_my

8、_filter_class_init(GstMyFilterClass klass) GObjectClass *object_class=G_OBJECT_CLASS(klass); /* define properties */ g_object_class_install_property( object_class, ARG_SILENT, g_param_spec_boolean( “silent“, “Silent“, “Whether to be very verbose or not“, FALSE, G_PARAM_READWRITE|G_PARAM_STATIC_STRIN

9、GS); g_object_set(G_OBJECT(m_myfilter), “silent“, TRUE, NULL); 506116797 GstreamerGstreamerGstreamerGstreamer插件的编写插件的编写插件的编写插件的编写 增加信号 enum /*signal*/ SIGNAL_ADD, ; static void gst_multiudpsink_class_init (GstMultiUDPSinkClass * klass) klass-add = gst_multiudpsink_add; 2010-6-2422 klass-add = gst_mu

10、ltiudpsink_add; gst_multiudpsink_signalsSIGNAL_ADD = g_signal_new (“add“, G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstMultiUDPSinkClass, add), NULL, NULL, gst_udp_marshal_VOID_STRING_INT, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_INT); g_signal_emit_by_name(m_multiudpsink, “add“, h

11、ost, port, NULL); 506116797 GstreamerGstreamerGstreamerGstreamer插件的编写插件的编写插件的编写插件的编写 enum /*signal*/ SIGNAL_ADD, ; static void gst_multiudpsink_class_init (GstMultiUDPSinkClass * klass) klass-add = gst_multiudpsink_add; 2010-6-2423 klass-add = gst_multiudpsink_add; gst_multiudpsink_signalsSIGNAL_ADD

12、 = g_signal_new (“add“, G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstMultiUDPSinkClass, add), NULL, NULL, gst_udp_marshal_VOID_STRING_INT, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_INT); g_signal_emit_by_name(m_multiudpsink, “add“, host, port, NULL); 506116797 编译安装 GstreamerGstreame

13、rGstreamerGstreamer插件的编写插件的编写插件的编写插件的编写 插件 源文件 编译工具及 gstmyfilter.h gstmyfilter.c 2010-6-2424 编译工具及 Makfile 编译及安装make & make intall 测试 gst-launch -v filesrc location=“vojna.mp3” ! mad ! myfilter ! audioconvert ! alsasink LibtoolMakefile 506116797 Gstreamer手册 Gstreamer应用开 发手册 Gstreamer插件编 写手册 2010-6-2425 506116797 2010-6-2426506116797

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号