前言:计划用摄像头,麦克风采集视频,音频,然后编码保存在电脑中,最后解码播放,形成一个自环过程。以此记录学习历程。
第一步,搭建开发环境
在Ubuntu自带的软件中心安装Synaptic Package Manager(中文新立得),利用这个软件安装
libgstreamer0.10-0
libgstreamer0.10-dev
libgstreamer0.10-0-dbg
备注1:(Ubuntu系统中已经有gstreamer其他基本工具软件,无需安装,当需要具体功能得时候再安装其他插件。)
备注2:(当需要查询一些命令,比如
gst-launch --help
提示没有安装gstreamer0.10-tools,需要重新安装。)
至此,开发环境搭建完成。
第二步,测试搭建是否成功
测试代码:
#include <gst/gst.h>
int main (int argc,char *argv[])
{
const gchar *nano_str;
guint major, minor, micro, nano;
gst_init (&argc, &argv);
gst_version (&major, &minor, µ, &nano);
if (nano == 1)
nano_str = "(CVS)";
else if (nano == 2)
nano_str = "(Prerelease)";
else
nano_str = "";
printf ("This program is linked against GStreamer %d.%d.%d %s\n",
major, minor, micro, nano_str);
return 0;
}
编译运行:
gcc -Wall hello.c -o hello $(pkg-config --cflags --libs gstreamer-0.10)
./hello
运行结果:
注意,很多地方把$()这个写在前面,会出问题。
This program is linked against GStreamer 0.10.36
至此说明环境搭建成功。
第三步:简单利用Gstreamer开启摄像头(也可以用来测试开发环境是否搭建成功)
安装ffmpeg支持(插件):
gstreamer0.10-ffmpeg
测试:
gst-launch autovideosrc ! ffmpegcolorspace ! autovideosink
gst-launch v4l2src ! ffmpegcolorspace ! autovideosink
上面任意一条命令都可以开启笔记本自带摄像头功能。
参考1:http://blog.csdn.net/zhujinghao_09/article/details/8456770
参考2:http://www.cnblogs.com/phinecos/archive/2009/06/06/1497792.html