首页 > 其他分享 >gstreamer教程(4)——构建应用之gstreamer的初始化

gstreamer教程(4)——构建应用之gstreamer的初始化

时间:2024-08-28 10:38:06浏览次数:13  
标签:初始化 教程 GStreamer nano gstreamer plugins gstreamer1.0

学习内容:

  通过构建应用学习,我们将讨论 GStreamer 的基本概念和最常用的对象,例如element、pad和buffer。我们将使用这些对象的可视化表示形式,以便我们可以可视化您稍后将学习构建的更复杂的pipeline。您将初步了解 GStreamer API,它应该足以构建基本应用程序。在本部分的后面部分,您还将学习如何构建基本的命令行应用程序。

  这部分将介绍 GStreamer 底层的 API 和概念。一旦要构建应用程序,您可能希望使用更高级的 API。这些内容将在本手册的后面讨论。

测试环境:

  系统:ubuntu 18.04

  安装:gstreamer,命令如下

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

初始化 GStreamer:

  在编写 GStreamer 应用程序时,您只需包含 gst/gst.h 即可访问库函数。除此之外,您还需要初始化 GStreamer 库。

简单初始化:

   在使用 GStreamer 之前,必须从主应用程序调用 gst_init。此调用将执行库的必要初始化,并解析特定于 GStreamer 的命令行选项。

  一个最基本的初始化gstreamer的代码,如下所示:basic-example-1.c

#include <stdio.h>
#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, &micro, &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 basic-example-1.c -o basic-example-1 `pkg-config --cflags --libs gstreamer-1.0`

  运行结果:

 

标签:初始化,教程,GStreamer,nano,gstreamer,plugins,gstreamer1.0
From: https://www.cnblogs.com/a4234613/p/18384114

相关文章