GStreamer - 基本介绍什么是Gstreamer?Media ApplicationsCore FrameworkPluginsGstreamer基础概念ElementPadBin和PipelineGstreamer数据消息交互BusBuffersEventsMessagesQueriesgstreamer tools引用 原文作者:John.Leng 什么是Gstreamer?Gst
前言本文是GStreamer学习笔记,也可以看成是对原文的意译。这些教程描述了理解其余教程所需的GStreamer主题。GStreamer教程:基础教程 : GStreamer 介绍基础教程 1: Hello world!基础教程 2: GStreamer 概念基础教程 3: 动态管道基础教程 4: 时间管理基础教程 5: GUI工具包集成基础教程 6: 媒体格式和pad功能基础教程 7: 多线程
转载
2023-10-20 21:57:30
197阅读
摘要在面对一个新的软件库时,第一步通常实现一个“hello world”程序,来了解库的用法。对于GStreamer,我们可以实现一个极简的播放器,来了解GStreamer的使用。 环境配置为了快速掌握Gstreamer相关的知识,我们优先选择Ubuntu作为我们的开发环境,其他平台的开发会在后续文章单独介绍。如果还没有Ubuntu虚拟机,可以在OSBoxes中直接下载Ubuntu 18
转载
2023-10-31 16:30:46
325阅读
目标 GStreamer提供了一系列方便使用的工具。这篇教程里不牵涉任何代码,但还是会讲一些有用的内容: 如何在命令行下建立一个pipeline——完全不使用C 如何找出一个...
转载
2017-02-17 22:43:00
323阅读
转载自vinming.github.io在音视频领域接触最多实现的方案通常是通过ffmpeg(PC和sever端居多)或者硬件厂家的的SDK实现特定硬件的编解码功能(机顶盒,电视等嵌入式设备)。这里我们介绍一个在国内不太常用的解决方案—-gstreamer媒体库,GStreamer官方说明gstreamer跟ffmpeg一样,也是一个媒体框架,可以实现采集,编码,解码,渲染,滤镜等一条龙的媒体解决
转载
2024-02-23 13:17:27
65阅读
上一个教程演示了如何自动生成一个pipeline。这次我们打算用一个个element来手动搭建一个pipeline。我们这个教程会演示:1. 什么是GStreamer的element以及如何建立一个ele...
转载
2017-02-17 22:32:00
242阅读
本来应该先写最具有代表性的Java的GC的,但是目前我正在看Python的源代码,而且Python和Java的GC,有着很多相似点,所以就用这个顺序了,Python的GC章节,我打算更多地着眼于实现和我的疑问,Java的GC章节,更多放在使用上。GC in Python Python是走多种GC技术路线相结合的路线的,我以为有可取之处。首先Python采用了原始的Ref Counting技术【1】
目标 直接播放Internet上的文件而不在本地保存就被称为流播放。我们在前面教程里已经这样做过了,使用了://的URL。本教程展示的是在播放流的时候需要记住的几个点,特别是: ...
转载
2017-02-18 14:42:00
186阅读
目标 亮度,对比度,色度和饱和度都是常见的视频调节参数,也是GStreamer里面设置色彩平衡的参数。本教程将展示: 如何发现可用的色彩平衡通道 如何改变它们介绍 ...
转载
2017-02-17 22:21:00
194阅读
目标 这篇教程和上一篇非常相似,但不是切换音频流,而是字幕了。这次我们会展示: 如何选择选择字幕流 如何引入外部的字幕 如何客制化字幕使用的字体介绍 我们...
转载
2017-02-17 22:16:00
324阅读
目标 Clutter是一个开源的库,用来创建快速、可移植和动态的GUI。GStreamer可以通过cluttersink这个element把clutter集成进来,允许视频像纹理一样使用。本教程...
转载
2017-02-18 14:44:00
42阅读
目标 Clutter是一个开源的库,用来创建快速、可移植和动态的GUI。GStreamer可以通过cluttersink这个element把clutter集成进来,允许视频像纹理一样使用。本教程...
转载
2017-02-18 14:44:00
57阅读
目标 快进,倒放和慢放是trick模式的共同技巧,它们有一个共同点就是它们都修改了播放的速度。本教程会展示如何来获得这些效果和如何进行逐帧的跳跃。主要内容是: 如何来变换播放的速度,变...
转载
2017-02-18 14:43:00
549阅读
目标 对于一个软件库来说,没有比在屏幕上打印出Hello World更近直观的第一印象了。因为我们是在和一个多媒体的framework打交道,所以我们准备播放一段视频来代替Hello World。不要被下面的代码吓唬住了——真正起作用的也就四行而已。剩下的都是资源管理的代码,C语
转载
2017-02-17 22:30:00
108阅读
本教程介绍pipeline的一种新的创建方式——在运行中创建,而不是在运行前一次性的创建结束。介绍 在这篇教程里的pipeline并非在运行前就全部创建结束的。放松一下,这样做没有任何问题。如果...
转载
2017-02-17 22:34:00
373阅读
OpenCV提供了两种图片变换的方式:仿射变换和透视变换,两者的区别很容易区分,前者是将矩形的图片变成平行四边形后者是将图片变成梯形这两种变换虽然都有各自的应用场景,但在实际的图片变换中由于透视效应的存在,后者的使用更加普遍,本文为大家详解OpenCV透视变换的透视变换原理及实例展示。 简介透视变换(Perspective Transformation)是将成像投影到一个新的视平面(Viewin
转载
2024-03-07 09:33:24
64阅读
目标 本教程主要讲述一些和时间相关的内容。主要包括: 1. 如何问pipeline查询到流的总时间和当前播放的时间 2. 如何在流内部实现跳转功能介绍 GstQuery是向一个element或者pad询问一些信息的机制。在这个例子中我们会问pipelin
转载
2017-02-17 22:35:00
252阅读
2评论
目标 有时你需要快速的了解一个文件(或URI)包含的媒体格式或者看看是否支持这种格式。当然你可以创建一个pipeline,设置运行,观察总线上的消息,但GStreamer提供了一个工具可以帮你做...
转载
2017-02-17 22:42:00
122阅读
目标 本教程给出了一系列开发中常用的element。它们包括大杂烩般的eleemnt(比如playbin2)以及一些调试时很有用的element。 简单来说,下面用gst-launch...
转载
2017-02-18 14:43:00
298阅读
2评论
目标 GStreamer有一系列把音频转换成视频的element。他们可以用于科学的目的或者增加音乐播放器的趣味性。本教程展示: 如何允许音频的可视化 如何选择可视化elem...
转载
2017-02-17 22:22:00
231阅读