首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
openwrt gstreamer实例学习笔记(六. gstreamer Pads及其功能)
】的更多相关文章
openwrt gstreamer实例学习笔记(六. gstreamer Pads及其功能)
一:概述 如我们在Elements一章中看到的那样,Pads是element对外的接口.数据流从一个element的source pad到另一个element的sink pad.pads的功能(capabilities)决定了一个element所能处理的媒体类型. 一个pad的类型由2个特性决定:它的数据导向(direction)以及它的时效性(availability).正如我们先前提到 的,Gstreamer定义了2种pads的数据导向:source pad以及sink pad.pads的数…
openwrt gstreamer实例学习笔记(三.深入了解gstreamer 的 Element)
在前面的部分,我们简要介绍过 GstElementFactory 可以用来创建一个element的实例,但是GstElementFactory不仅仅只能做这件事,GstElementFactory作为在 GStreamer 注册系统中的一个基本类型,它可以描述所有的插件(plugins)以及由GStreamer创建的element.这意味着GstElementFactory可以应用于一些自动element实例, 像自动插件(autopluggers); 或者创建一个可用element列表,像管道…
openwrt gstreamer实例学习笔记(一.初始化gstreamer)
GStreamer 是一个非常强大而且通用的流媒体应用程序框架. GStreamer所具备的很多优点来源于其框架的模块化: GStreamer能够无缝的合并新的插件. 但是, 由于追求模块化和高效率, 使得GStreamer在整个框架上变的复杂, 也同时因为复杂度的提高, 使得开发一个新的应用程序显得不是那么的简单. 由于工作需求,因此笔者开启了gstreamer构建音频播放器之路! 首先openwrt下面make menuconfig 要选择gstreamer必要的插件库,由于openwrt下…
openwrt gstreamer实例学习笔记(二.gstreamer 的 Element)
对程序员来说,GStreamer 中最重要的一个概念就是 GstElement 对象.该对象是构建一个媒体管道的基本块.所有上层(high-level)部件都源自GstElement对象.任何一个解码器编码器.分离器.视频/音频输出部件实际上都是一个 GstElement对象. 对程序员来说,element就像一个黑盒子.你element的一端输入数据,element对数据进行一些处理,然后数据从element的另一端输出.拿一个解码element来说,你输入一 些有特定编码的数据,elemen…
openwrt gstreamer实例学习笔记(七. gstreamer 缓冲区(Buffers)和事件(Events))
1)概述 管道的数据流由一组缓冲区和事件组成,缓冲区包括实际的管道数据,事件包括控制信息,如寻找信息和流的终止信号.所有这些数据流在运行的时候自动的流过管道. 2) 缓冲区(Buffers) 缓冲区包含了你创建的管道里的数据流.通常一个source element会创建一个新的缓冲区,同时element还将会把缓冲区的数据传递给下一个element.当使用GStreamer底层构造来创建一个媒体管道的时候,你不需要自己来处理缓冲区,element将会为你处理这些缓冲区. 一个缓冲区主要由以下一个…
openwrt gstreamer实例学习笔记(五. gstreamer BUS)
1)概述 BUS(总线) 是一个简单的系统,它采用自己的线程机制将一个管道线程的消息分发到一个应用程序当中.总线的优势是:当使用GStreamer的时候,应用程序不需要线程识别,即便GStreamer已经被加载了多个线程. 每一个管道默认包含一个总线,所以应用程序不需要再创建总线.应用程序只需要在总线上设置一个类似于对象的信号处理器的消息处理器.当主循环运行的时候,总线将会轮询这个消息处理器是否有新的消息,当消息被采集到后,总线将呼叫相应的回调函数来完成任务. 2)如何使用一个总线(Bus) 使…
openwrt gstreamer实例学习笔记(四. gstreamer Bins)
1)概述 Bins是一种容器element.你可以往Bins中添加element.由于Bins本身也是一种element,所以你可以像普通element一样 操作Bins.因此,先前关element的内容同样可以应用于Bins. Bins允许你将一组有链接的element组合成一个大的逻辑element.你不再需要对单个element进行操作,而仅仅操作Bins.当你在构建一个复杂的管道时,你会发现Bins的巨大优势,因为它允许你将复杂的管道分解成一些小块. Bins同样可以对包含在其中的ele…
Django开发笔记六
Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.登录功能完善 登录成功应该是重定向到首页,而不是转发,当前用户信息保存到session: class LoginView(View): def get(self, request): return render(request, "login.html", {}) def post(self, request): user_name = r…
gstreamer应用笔记
gstreamer官网 https://gstreamer.freedesktop.org/ 应用手册 https://gstreamer.freedesktop.org/documentation/index.html 一.getreamer安装(ubuntu) gstreamer0.10和gstreamer1.0两个版本容易混淆 sudo add-apt-repository ppa:mc3man/trusty-media sudo apt-get update sudo apt-get i…
[Openwrt 项目开发笔记]:MySQL配置(六)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在本人的项目中,运行在路由器上的服务器采用Nginx+MySQL+PHP 架构.通常较为常见的web框架为Lamp(Linux+Apache+Mysql+PHP),为何我们选择LNMP呢?我将在后续的几篇文章中给出答案. 首先我们来介绍如何在Openwrt上搭建MySQL数据库. 参考文章:(http://blog.csdn.net/yufei_…