gstreamer——最简应用使用实例

文章目录

  • 前言
  • 一、gstreamer pipeline的建立
    • 1.命令行模式建立pipeline
    • 2. 通过编写代码来建立pipeline
      • 1. 调用gst_parse_launch()函数来自动建立pipeline
      • 2. 手动建立pipeline
  • 二、代码实例
    • 1. 自动建立pipeline(gst_parse_launch())
    • 2. 手动建立pipeline
  • 总结
  • 参考资料


前言

软硬件环境
软件:ubuntu18.04
硬件:PC(笔记本带摄像头)

本文主要介绍如何通过代码来调用gstreamer相关的插件,这里不讨论命令行模式(gst-launch-1.0),将通过一个最简单的应用实例来进行描述如何通过代码来使用gstreamer插件


一、gstreamer pipeline的建立

使用gstreamer的核心就是建立pipeline,pipeline既可以通过命令行来建立,也可以通过编写代码来建立

1.命令行模式建立pipeline

通过命令行模式(gst-launch-1.0 v4l2src ! videoconvert ! waylandsink), 就建立了如下图所示的pipeline,其中source 和 v4l2src对应,filter和videoconvert对应,sink和waylandsink对应,所谓的pipeline就是建立从source element到sink element的数据链路(filter element不是必须的,可以不需要)
gstreamer——最简应用使用实例_第1张图片
执行 gst-launch-1.0 v4l2src ! videoconvert ! waylandsink命令后,结果如下图,就可以看到笔记本摄像头拍摄的画面显示在wayland窗口里了(前提条件是笔记本摄像头正常连接,并且weston已经运行了)
gstreamer——最简应用使用实例_第2张图片

2. 通过编写代码来建立pipeline

通过通过编写代码来建立pipeline分为以下两种方式

1. 调用gst_parse_launch()函数来自动建立pipeline

如下图所示,调用gst_parse_launch()函数其实质就和命令行模式是一样的,优点是代码操作简单
gstreamer——最简应用使用实例_第3张图片

2. 手动建立pipeline

通过调用gst_pipeline_new(), gst_element_factory_make(), gst_bin_add_many(),
gst_element_link_many()等接口来手动建立pipeline,优点是代码可

你可能感兴趣的:(gstreamer)