目标       Pad的Capabilities是一个GStreamer element的基础,因为framework大部分时间是自动处理的,所以我们几乎感觉不到它的存在.本教程比较偏向原理,介绍了:       什么是Pad Capabilities       如何获得这个东西       什么时候应该去获得这个东西       为什么你需要了解他们 介绍 Pads       Pads允许信息进入或者离开一个element--就像曾经展示过得一样.这个Capabilities(或者简单地…
程序猿学英语就上视觉英语网 Android程序开发0基础教程(一)   平台简单介绍   令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操作系统,内核为Linux. 作为开发人员,我们所关心的是这个平台的架构以及所支持的开发语言.以下是这个平台的架构模型:     这个平台有下面功能:   + Application framework: 可重用的和可替换的组件部分,在这个层面上,全部的软件都是平等的. + Dalvik virtul…
目标 GStreamer会自动处理多线程这部分,但在有些情况下,你需要手动对线程做解耦.本教程会教你怎样才能做到这一点,另外也展示了Pad的有效性.主要内容包括: 如何针对部分的pipeline建立一个新的线程 什么是Pad的有效性 如何复制流 介绍 多线程 GStreamer是一个支持多线程的框架.这就说明,如果有必要它会在内部自动创建/销毁线程.比如:在应用线程中把流解出来.而且,plugin在自身也可以任意的创建线程,比如一个视频解码器为了充分利用4核CPU的能力,可以创建4个线程. 这里…
摘要 在常见的媒体文件中,通常包含一些数据(例如:歌手,专辑,编码类型等),用于描述媒体文件.通常称这些数据为元数据(Metadata:data that provides information about other data).我们可以通过这些元数据对媒体进行归类,同时可以在播放的过程中通过界面显示.本文将介绍GStreamer是如何快速获取元数据. GStreamer元数据 GStream将元数据分为了两类: 流信息(Stream-info):用于描述流的属性.例如:编码类型,分辨率,采…
在我们github看到了一个不错的第三方库时,可能我们想把他git clone到本地,我们需要复制他的SSH URL,如下图: 复制完地址之后,我们需要打开终端,然后输入命令: git clone + SSH URL,拿上边的为例,我们需要输入 :       git  clone git@github.com:Zhangmangyuan/PullingRefreshTableView.git 输入完成之后回车,会看到下图的情况: 从图上最后一句英文:Please make sure you h…
配置,是应用程序很重要的组成部分,常常用于提供信息,像第三方应用登录钥匙.上传格式与大小限制等等. ASP.NET Core提供一系列配置提供程序读取配置文件或配置项信息. ASP.NET Core项目启动时默认加载的配置有: 命令行参数 环境变量 appsettings.json.appsettings.Environment.json.appsettings.Production.json等 [示例代码下载] 常用的配置提供程序 ASP.NET Core常用的配置Provider有: Com…
目标 本教程给出了一系列开发中常用的element.它们包括大杂烩般的eleemnt(比如playbin2)以及一些调试时很有用的element. 简单来说,下面用gst-launch这个工具给出一个个具体例子(命令行),你可以用-v参数可以看到Pad得Caps是如何协商的. Bins 这些是Bin element,它们在内部包含其他的element,已经组成了内部的pipeline,但在外部,我们还是把它们当成一个element. Playbin2 这个element在整个系列的教程里面广泛的…
目标 GStreamer提供了一系列方便使用的工具.这篇教程里不牵涉任何代码,但还是会讲一些有用的内容: 如何在命令行下建立一个pipeline--完全不使用C 如何找出一个element的Capabilities 如何发现一个媒体文件的内部结构 介绍 这些工具就位于SDK的bin目录下.你需要把这个目录加入PATH变量,或者把当前目前切换到GStreamer SDK的bin目录. 打开一个终端界面,把当前目录切换到GStreamer SDK的bin目录,然后准备跟着我们操作吧. 为了防止多个版…
目标 GStreamer建立的pipeline不需要完全关闭.有多种方法可以让数据在任何时候送到pipeline中或者从pipeline中取出.本教程会展示: 如何把外部数据送到pipeline中 如何把数据从pipeline中取出 如何操作这些数据 介绍 有几种方法可以让应用通过pipeline和数据流交互.本教程讲述了最简单的一种,因为使用了专门为这个而创建的element. 专门让应用可以往pipeline里面传入数据的element时appsrc,而appsink就正好相反,让应用可以从…
摘要 GStreamer提供了不同的命令行工具用于快速的查看信息以及验证Pipeline的是否能够正确运行,在平时的开发过程中,我们也优先使用GStreamer的命令行工具验证,再将Pipeline集成到应用中.本文将介绍gst-inspect-1.0,gst-discoverer-1.0,gst-launch-1.0命令行工具的使用. gst-inspect-1.0 此命令有3种工作模式,实际中我们常用第一种和第三种方式: 一.不带任何参数.这样会列出当前系统中支持的所有Element,这些E…