一、安装配置环境
在ubunwu终端中运行以下命令安装库(基于官网教程)
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
唯一需要的其他“开发环境”是gcc编译器和文本编辑器。为了编译需要 GStreamer 并使用 GStreamer 核心库的代码,在编译的时候需要在末尾加上以下字符串。
pkg-config --cflags --libs gstreamer-1.0
如果使用其它 GStreamer 库,则必须在上述字符串中的 gstreamer-1.0 之后添加其他包(例如,视频库的 gstreamer-video-1.0)
测试
虚拟机ubuntu建议使用共享文件夹,不然哪天像我ubuntu崩了东西就没光了。
ubuntu内置了一些代码编辑器,像nano和gredit,直接在终端里输入名字就能打开。
下面测试一段代码看看是否安装成功:
#include <gst/gst.h>
int
main (int argc, char *argv[])
{
GstElement *pipeline;
GstBus *bus;
GstMessage *msg;
/* Initialize GStreamer */
gst_init (&argc, &argv);
/* Build the pipeline */
pipeline =
gst_parse_launch
("playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm",
NULL);
/* Start playing */
gst_element_set_state (pipeline, GST_STATE_PLAYING);
/* Wait until error or EOS */
bus = gst_element_get_bus (pipeline);
msg =
gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
/* Free resources */
if (msg != NULL)
gst_message_unref (msg);
gst_object_unref (bus);
gst_element_set_state (pipeline, GST_STATE_NULL);
gst_object_unref (pipeline);
return 0;
}
在.c文件目录下使用终端进行编译和执行编译后文件
gcc basic-tutorial-1.c -o basic-tutorial-1 `pkg-config --cflags --libs gstreamer-1.0`
再来看看后面几个参数的意思:
pkg-config
1、用第三方库,就少不了要使用到第三方的头文件和库文件。我们在编译、链接的时候,必须要指定这些头文件和库文件的位置。对于一个比较大第三方库,其头文件和库文件的数量是比较多的。如果我们一个个手动地写,那将是相当麻烦的。pkg-config能够把这些头文件和库文件的位置指出来,给编译器使用。
2.选项 --cflags 它是用来指定程序在编译时所需要头文件所在的目录,选项 --libs则是指定程序在链接时所需要的动态链接库的目录。
然后就会弹出一个窗口播放视频。接下去就可以开始gstreamer的学习了。