ubuntu中安装gstreamer开发环境:

* 安装gstreamer基本库,工具,以及插件

sudo apt-get install libgstreamer0.-dev gstreamer-tools gstreamer0.-tools gstreamer0.-doc
sudo apt-get install gstreamer0.-plugins-base gstreamer0.-plugins-good gstreamer0.-plugins-ugly gstreamer0.-plugins-bad gstreamer0.-plugins-bad-multiverse

* 安装ffmpeg支持

sudo apt-get install gstreamer0.-ffmpeg

* 测试

gst-launch autovideosrc ! ffmpegcolorspace ! autovideosink

gst-launch v4l2src ! ffmpegcolorspace ! autovideosink

* 录制摄像头视频

以上内容转自 http://foyo99.zhuidaniu.com/blogs/724

1,设置环境变量

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/usr/local/lib

2,安装mad插件

下载libmad-0.15.1b.tar.gz
http://sourceforge.net/project/showfiles.php?group_id=12349

./configure --prefix=/usr/local/

make

make install

下载libid3tag-0.15.1b.tar.gz
http://sourceforge.net/project/showfiles.php?group_id=12349

./configure --prefix=/usr/local/

make

make install

下载gst-plugins-ugly-0.10.9.tar.bz2   2008.8.26
http://gstreamer.freedesktop.org/src/

./configure

make

make install

这样,在/usr/local/lib/gstreamer-0.10目录下就出现了

libgstmad.a libgstmad.la libgstmad.so

mad插件也就安装成功了!

检测mad插件是否安装上的命令

gst-inspect mad

会显示已安装的mad插件的详细信息

3,用gst-launch测试播放mp3

gst-launch filesrc location="beyond.mp3" ! mad ! audioconvert ! alsasink

可以听到音乐了。


4,用mp3_dec.c文件测试

----------------
#include <gst/gst.h>

int
main(int argc,char *argv[])
{
GstElement *pipeline,*filesrc,*decoder,*convert,*audiosink;

gst_init(&argc,&argv);

if(argc != 2){
   g_print("usage: %s <mp3 filename>\n",argv[0]);
   exit(-1);
}

pipeline=gst_pipeline_new("pipeline");

if(!pipeline)
{
   g_print("Maybe pipeline cann't be created!\n");
   exit(-1);
}

filesrc=gst_element_factory_make("filesrc","disk_source");

if(!filesrc)
{
   g_print("Maybe filesrc cann't be created!\n");
   exit(-1);
}
g_object_set(G_OBJECT(filesrc),"location",argv[1],NULL);

decoder=gst_element_factory_make("mad","decoder-audio");
if(!decoder)
{
   g_print("Maybe decoder cann't be created!\n");
   exit(-1);
}

convert = gst_element_factory_make("audioconvert", "a-convert");
if(! convert)
{
   g_print("Maybe convert cann't be created!\n");
   exit(-1);
}

audiosink=gst_element_factory_make("osssink","play_audio");
if(! audiosink)
{
   g_print("Maybe audiosink cann't be created!\n");
   exit(-1);
}

gst_bin_add_many(GST_BIN(pipeline),filesrc,decoder,convert,audiosink,NULL);

gst_element_link_many(filesrc,decoder,convert,audiosink,NULL);

gst_element_set_state(pipeline,GST_STATE_PLAYING);

while(gst_bin_iterate_recurse(GST_BIN(pipeline)));

gst_element_set_state(pipeline,GST_STATE_NULL);

gst_object_unref(GST_OBJECT(pipeline));

exit(0);
}
----------------

编译命令

gcc -Wall $(pkg-config --cflags --libs gstreamer-0.10)mp3_dec.c -o mp3_dec

生成可执行文件

mp3_dec

播放mp3

./mp3_dec beyond.mp3

就可以听到音乐了!

note:

如果遇到
Element = gst_element_factory_make("mad", "decoder");
Element为null,说明没安装mad插件,可以通过
gst-inspect mad
命令查看mad插件是否正常安装,如没有安装,在ubuntu下可以通过如下命令进行安装:
sudo apt-get install gstreamer0.10-plugins-ugly
 

安装gstreamer开发环境的更多相关文章

  1. 【转】一步一步教你在Ubuntu12.04搭建gstreamer开发环境

    原文网址:http://blog.csdn.net/xsl1990/article/details/8333062 闲得蛋疼    无聊寂寞冷    随便写写弄弄 看到网上蛮多搭建gstreamer开 ...

  2. Linux安装LAMP开发环境及配置文件管理

    Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...

  3. win使用MSYS2安装Qt开发环境

    原文链接 MSYS2 下载地址: pacman的具体用法 有pacman的具体使用方法.我们首先对系统升级 我们首先对系统升级 pacman -Syu 就会检测整个系统可以升级的组件,并自动下载安装, ...

  4. Appium移动自动化测试(二)--安装Android开发环境

    继续Appium环境的搭建. 第二节  安装Android开发环境 如果你的环境是MAC那么可以直接跳过这一节.就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试 ...

  5. Appium移动自动化测试(二)--安装Android开发环境(转)

    Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节   ...

  6. 如何用docker安装laravel开发环境

    如何用docker安装laravel开发环境 看laravel框架的官方文档安装部分时,发现需要安装特别多软件,估计还有许多复杂的配置,官方推荐使用Laravel Homestead虚拟机进行安装,但 ...

  7. [树莓派(raspberry pi)] 02、PI3安装openCV开发环境做图像识别(详细版)

    前言 上一篇我们讲了在linux环境下给树莓派安装系统及入门各种资料 ,今天我们更进一步,尝试在PI3上安装openCV开发环境. 博主在做的过程中主要参考一个国外小哥的文章(见最后链接1),不过其教 ...

  8. 一键安装Android开发环境

    一键安装Android开发环境 1 下载tadp-3.0r4-linux-x64.run 进入下面的地址下载: https://developer.nvidia.com/gameworksdownlo ...

  9. 阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境

    阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境  优秀博文:https://www.linuxidc.com/Linux/2016-10/136327.htm https:/ ...

随机推荐

  1. Android-25种开源炫酷动画框架

    前言 忙碌的工作终于可以停息一段时间了,最近突然有一个想法,就是自己写一个app,所以找了一些合适开源控件,这样更加省时,再此分享给大家,希望能对大家有帮助,此博文介绍的都是UI上面的框架,接下来会有 ...

  2. 深入C(关键字)

    C语言标准定义的32个关键字 关键字 意 义 auto 声明自动变量,缺省时编译器一般默认为auto int 声明整型变量 double 声明双精度变量 long 声明长整型变量 char 声明字符型 ...

  3. iOS: 设置App的国际化和本地化

    原文链接:http://www.cocoachina.com/appstore/20160310/15632.html 前言 App的名字设置方式有很多种,如果在App打包上线时不做修改,最终App的 ...

  4. iOS:创建单例对象的两种方式

    单例模式:创建单例对象的两种方式 方式一:iOS4版本之前      static SingleClassManager *singleManager = nil;      +(SingleClas ...

  5. [80Sec]深掘XSS漏洞场景之XSS Rootkit

    顶80SEC的牛. 深掘XSS漏洞场景之XSS Rootkit[完整修订版] EMail: rayh4c#80sec.com Site: http://www.80sec.com Date: 2011 ...

  6. Android(Fragment和Activity之间通信)

    Fragment的使用可以让我们的应用更灵活的适配各种型号的安卓设备,但是对于Fragment和Activity之间的通信,很多朋友应该比较陌生,下面我们就通过一个实例来看一看如何实现. 一.Acti ...

  7. [转] copy_to_user和copy_from_user两个函数的分析

    在内核的学习中会遇到很多挺有意思的函数,而且能沿着一个函数扯出来很多个相关的函数.copy_to_user和copy_from_user就是在进行驱动相关程序设计的时候,要经常遇到的两个函数.由于内核 ...

  8. RocketMQ 拉取消息-文件获取

    看完了上一篇的<RocketMQ 拉取消息-通信模块>,请求进入PullMessageProcessor中,接着 PullMessageProcessor.processRequest(f ...

  9. 转:关于腾讯bugly崩溃的android so符号表使用

    http://www.jikexueyuan.com/course/406_8.html

  10. 爪哇国新游记之七----使用ArrayList统计水果出现次数

    之前学习制作了DArray,了解ArrayList就容易了. /** * 用于存储水果名及数量 * */ public class Fruit{ private String name; public ...