流媒体:GStreamer
文章平均质量分 94
北雨南萍
长期专注于实时音视频通信技术、音视频处理技术,包括基于webrtc的音视频通信解决方案,基于ffmpeg的媒体处理解决方案。
展开
-
GStreamer应用开发手册学习笔记之二
第3章. 基础概念介绍本章将介绍GStreamer的基本概念。理解这些概念对于你后续的学习非常重要,因为后续深入的讲解我们都假定你已经完全理解了这些概念。3.1. 元件(Elements)元件(element)是GStreamer中最重要的概念。你可以通过创建一系列的元件(Elements),并把它们连接起来,从而让数据流在这个被连接的各个元件(Elements)之间传...原创 2022-08-06 11:02:22 · 1014 阅读 · 0 评论 -
GStreamer基础教程11——调试工具
目标 有时我们的应用并没有按照我们的预期来工作,并且在总线上获得的错误信息也没有足够的内容。这时我们该怎么办呢?幸运的时,GStreamer自身提供了大量的调试信息,通常这些信息会给出一些线索,指向出错的地方。本教程主要讲述: 如何在GStreamer里面获得更多地调试信息 如何把你自己的调试信息加入GStreamer的调试记录转载 2016-05-25 16:40:29 · 917 阅读 · 0 评论 -
GStreamer基础教程10——GStreamer工具
目标 GStreamer提供了一系列方便使用的工具。这篇教程里不牵涉任何代码,但还是会讲一些有用的内容: 如何在命令行下建立一个pipeline——完全不使用C 如何找出一个element的Capabilities 如何发现一个媒体文件的内部结构介绍 这些工具就位于SDK的bin目录下。你转载 2016-05-25 16:39:06 · 1716 阅读 · 0 评论 -
GStreamer基础教程09——收集媒体信息
目标 有时你需要快速的了解一个文件(或URI)包含的媒体格式或者看看是否支持这种格式。当然你可以创建一个pipeline,设置运行,观察总线上的消息,但GStreamer提供了一个工具可以帮你做这些。本教程主要讲述: 如何获得一个URI上的信息 如何确定一个URI是可以播放的介绍 GstDiscover是一转载 2016-05-25 16:37:11 · 935 阅读 · 0 评论 -
GStreamer基础教程08——pipeline的快捷访问
目标GStreamer建立的pipeline不需要完全关闭。有多种方法可以让数据在任何时候送到pipeline中或者从pipeline中取出。本教程会展示: 如何把外部数据送到pipeline中 如何把数据从pipeline中取出 如何操作这些数据介绍有几种方法可以让应用通过pipeline和数据流交互转载 2016-05-25 16:33:48 · 1232 阅读 · 0 评论 -
GStreamer基础教程07——多线程和Pad的有效性
目标GStreamer会自动处理多线程这部分,但在有些情况下,你需要手动对线程做解耦。本教程会教你怎样才能做到这一点,另外也展示了Pad的有效性。主要内容包括: 如何针对部分的pipeline建立一个新的线程 什么是Pad的有效性 如何复制流介绍多线程GStreamer是一个支持多线程的框转载 2016-05-25 15:49:27 · 1484 阅读 · 0 评论 -
GStreamer播放教程06——可视化音频
目标 GStreamer有一系列把音频转换成视频的element。他们可以用于科学的目的或者增加音乐播放器的趣味性。本教程展示: 如何允许音频的可视化 如何选择可视化element介绍在playbin2里面运行音频可视化是非常容易的。当遇到一个只有音频的流时,只需要正确地设置playbin2的一些标志就行了。转载 2016-05-25 15:24:17 · 816 阅读 · 0 评论 -
GStreamer基础教程05——集成GUI工具
目标本教程展示了如何在GStreamer集成一个GUI(比如:GTK+)。最基本的原则是GStreamer处理多媒体的播放而GUI处理和用户的交互。 在这个教程里面,我们可以学到: 如何告诉GStreamer输出视频到一个window 如何持续的刷新GUI 在GStreamer多线程时如何保持UI的更新转载 2016-05-25 15:16:16 · 2159 阅读 · 3 评论 -
GStreamer基础教程04——时间管理
目标本教程主要讲述一些和时间相关的内容。主要包括: 1. 如何问pipeline查询到流的总时间和当前播放的时间 2. 如何在流内部实现跳转功能介绍GstQuery是向一个element或者pad询问一些信息的机制。在这个例子中我们会问pipeline是否支持跳转功能(实时流是不支持跳转功能的),如果支持跳转功能,转载 2016-05-25 15:03:52 · 1238 阅读 · 0 评论 -
GStreamer基础教程03——动态pipeline
原文链接:http://blog.csdn.net/sakulafly/article/details/20936067本教程介绍pipeline的一种新的创建方式——在运行中创建,而不是在运行前一次性的创建结束。介绍在这篇教程里的pipeline并非在运行前就全部创建结束的。放松一下,这样做没有任何问题。如果我们不进行更深入的处理,那么数据在到达pipeline的转载 2016-05-25 14:45:16 · 2034 阅读 · 0 评论 -
GStreamer基础教程02——GStreamer概念
原文链接:http://blog.csdn.net/sakulafly/article/details/20862459上一个教程演示了如何自动生成一个pipeline。这次我们打算用一个个element来手动搭建一个pipeline。我们这个教程会演示:1. 什么是GStreamer的element以及如何建立一个element2. 如何在element转载 2016-05-25 13:58:56 · 953 阅读 · 0 评论 -
GStreamer基础教程01——Hello World
原文链接:http://blog.csdn.net/sakulafly/article/details/19398257目标 对于一个软件库来说,没有比在屏幕上打印出Hello World更近直观的第一印象了。因为我们是在和一个多媒体的framework打交道,所以我们准备播放一段视频来代替Hello World。不要被下面的代码吓唬住了——真正起作用的也就转载 2016-05-25 13:52:08 · 1231 阅读 · 0 评论 -
GStreamer调试 参数与函数的使用
原文出处: http://blog.sina.com.cn/s/blog_5cf930300100ia75.html 一、GStreamer的五个打印调试信息的函数: GST_LOG () ==>>5 GST_DEBUG () ==>>4 GST_INFO () ==>转载 2016-01-07 16:59:15 · 1701 阅读 · 0 评论 -
Ubuntu下使用GStreamer开发简单的mp3播放器
一、GStreamer安装$ sudo apt-get install libgstreamer0.10-dev gstreamer-tools gstreamer0.10-tools gstreamer0.10-doc$ sudo apt-get install gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer转载 2015-10-14 16:25:22 · 2711 阅读 · 0 评论 -
Ubuntu下搭建gstreamer开发环境
1, 开发库安装Ubuntu已经安装了gstreamer库,因此只需要再安装几个开发库即可:libstreamer0.10-0libstreamer0.10-devlibstreamer0.10-0-dbg# sudo apt-get install libstreamer0.10-0 libgstreamer0.10-dev libstreamer0.10-0-dbg转载 2015-10-14 16:23:50 · 4981 阅读 · 0 评论 -
用 GStreamer 简化 Linux 多媒体开发
GStreamer 是 GNOME 桌面环境下用来构建流媒体应用的编程框架(framework),其目标是要简化音/视频应用程序的开发,目前已经能够被用来处理像 MP3、Ogg、MPEG1、MPEG2、AVI、Quicktime 等多种格式的多媒体数据。一、基本概念GStreamer 作为 GNOME 桌面环境推荐的流媒体应用框架,采用了基于插件(plugin)和管转载 2015-10-13 18:17:35 · 1298 阅读 · 0 评论 -
GStreamer应用开发手册学习笔记之一
Gstreamer应用开发手册I. 介绍GStreamer 是一个非常强大而且通用的流媒体应用程序框架。 GStreamer所具备的很多优点来源于其框架的模块化: GStreamer能够无缝的合并新的插件。 但是, 由于追求模块化和高效率, 使得GStreamer在整个框架上变的复杂, 也同时因为复杂度的提高, 使得开发一个新的应用程序显得不是那么的简单。这个指南试图帮原创 2015-07-12 09:05:38 · 3131 阅读 · 0 评论 -
GStreamer应用开发手册学习笔记之二
第3章. 基础概念介绍本章将介绍GStreamer的基本概念。理解这些概念对于你后续的学习非常重要,因为后续深入的讲解我们都假定你已经完全理解了这些概念。3.1. 元件(Elements)元件(element)是GStreamer中最重要的概念。你可以通过创建一系列的元件(Elements),并把它们连接起来,从而让数据流在这个被连接的各个元件(Elements)之间传原创 2015-07-13 11:07:54 · 6023 阅读 · 0 评论