安装gstreamer开发环境
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为null,说明没安装mad插件,可以通过
安装gstreamer开发环境的更多相关文章
- 【转】一步一步教你在Ubuntu12.04搭建gstreamer开发环境
原文网址:http://blog.csdn.net/xsl1990/article/details/8333062 闲得蛋疼 无聊寂寞冷 随便写写弄弄 看到网上蛮多搭建gstreamer开 ...
- Linux安装LAMP开发环境及配置文件管理
Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...
- win使用MSYS2安装Qt开发环境
原文链接 MSYS2 下载地址: pacman的具体用法 有pacman的具体使用方法.我们首先对系统升级 我们首先对系统升级 pacman -Syu 就会检测整个系统可以升级的组件,并自动下载安装, ...
- Appium移动自动化测试(二)--安装Android开发环境
继续Appium环境的搭建. 第二节 安装Android开发环境 如果你的环境是MAC那么可以直接跳过这一节.就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试 ...
- Appium移动自动化测试(二)--安装Android开发环境(转)
Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节 ...
- 如何用docker安装laravel开发环境
如何用docker安装laravel开发环境 看laravel框架的官方文档安装部分时,发现需要安装特别多软件,估计还有许多复杂的配置,官方推荐使用Laravel Homestead虚拟机进行安装,但 ...
- [树莓派(raspberry pi)] 02、PI3安装openCV开发环境做图像识别(详细版)
前言 上一篇我们讲了在linux环境下给树莓派安装系统及入门各种资料 ,今天我们更进一步,尝试在PI3上安装openCV开发环境. 博主在做的过程中主要参考一个国外小哥的文章(见最后链接1),不过其教 ...
- 一键安装Android开发环境
一键安装Android开发环境 1 下载tadp-3.0r4-linux-x64.run 进入下面的地址下载: https://developer.nvidia.com/gameworksdownlo ...
- 阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境
阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境 优秀博文:https://www.linuxidc.com/Linux/2016-10/136327.htm https:/ ...
随机推荐
- The file “Info.plist” couldn’t be opened because there is no such file
修改了Info.plist的实际文件位置(项目和单元测试对应不同的Info.plist),报错 (null): could not read data from '/Users/xxxxx/Deskt ...
- 将图片转换为Base64字符串公共类抽取
public class ImageToBase64 { //图片转化成base64字符串 public static String GetImageStr(String path,int width ...
- git remote branch操作
将本地branch basic提交到remote的basic上: git push origin basic:basic 将remote的 basic branch更新到本地的 basic branc ...
- linux ubuntu下abaqus-6.14安装破解完全指南
本人亲测可用 目录 安装前准备 安装过程 机器配置 腾讯云服务器 ubuntu server 16.10 1.首先要在服务器上安装gui及相关依赖 sudo apt-get install ubunt ...
- jsp el 自定义方法 tld 说明
使用 el 的过程中,需要使用到后端代码处理逻辑,这个时候我们就需要自定义 方法. 如我们后端代码定义如下: package com.rhythmk.common; public class FncH ...
- Git学习笔记一--创建版本库、添加文件、提交文件等
Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛该怎么定义? 其实,很多人都不care谁写了Git,只在乎它是免费而且好用的!So do I! 下面开始我们的学习: 1.Git安装( ...
- vue - webpack.base.conf.js
描述:webapck基本配置文件. 为了给开发文件和打包文件(webpack.dev.conf.js|| webpack.prod.conf.js) 提供方便. 'use strict' // 路径 ...
- Android Tint着色与帧动画结合
需求 最近遇到一个需求: 要求根据后台接口给的色值 显示不同色值的帧动画(UI给了三张透明色的图) 正常的帧动画 是配置在xml里三张静态图片 然后加载一下就完事了现有的静态图片是透明的 还没有填充颜 ...
- 我的Go语言学习之旅二:入门初体验 Hello World
好吧,全部的程序猿们都已经习惯了.学习不论什么一门语言,我们都会以Hello World实例開始我们的学习,我也不例外.先来一个简单的样例 打开编辑器 (能够用记事本,我已经习惯 Notepad++了 ...
- hibernate 一对多关联
package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax.persistenc ...