GStreamer简单看看

主要是现在弄摄像头,要用到这东西。所以学学。

最权威主页:GStreamer: open source multimedia framework

大概看了下,好像命令也不难。

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! xvimagesink

GStreamer使用!作为管道的意思。

V4L2好像也能干同样的事,命令是:

v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=100

当然,还有一个FFmpeg也可以。

ffmpeg -f v4l2 -i /dev/video0 -vf "format=yuv420p" -f sdl "Video Player"

从功能上说,好像三个都可以,但是在终端GStreamer现在是越来越流行。我个人认为哈,V4L2工具肯定是太简单了,只有最基本的功能。GStreamer的核心是pipeline,这块很强,很适合现在对视频流进行连续处理。FFmpeg也很强,但是我猜能没那么强大的流处理能力。所以GStreamer现在愈发流行。

话不多说,先上图吧。来自:https://en.wikipedia.org/wiki/GStreamer

下面的sources,sinks,containers,decoder就是一个个的插件,应该一个插件就是一个so动态链接库。它自己吹的有超过150个插件。我在想可能它家的机制在商业上也有一定好处,比如说插件之间可以比较独立,而且可以闭源发大财,所以现在很多大厂都基于它在搞。

下图就是一个最简单Pipeline的例子:

从它家的主页来看,整个GS大概有以下4个部分。

Comprehensive Core Library:核心库,提供插件API框架,应该涉及到线程管理,任务调度,同步,调试系统等等。

Intelligent Plugin Architecture:插件框架。注册,加载等等。感觉有点像NDK的感觉。。。

Broad Coverage of Multimedia Technologies:基础插件,GS官方本身就提供很多基础的插件来用。

Extensive Development Tools:开发工具和文档,gst-launch,gst-inspect工具等。

涉及到开发的话,好像要用glib库里面的GObject,这个算一个小小的难点。不过它家的文档确实不错,言简意赅。空了我也跑几个。。。Basic tutorial 1: Hello world!

今晚只是简单看看,后面在详细写写吧。

参考:

Gstreamer基础讲解-CSDN博客

gstreamer v4l2预览双摄像头_v4l2 多个摄像头读取-CSDN博客

https://www.cnblogs.com/faithlocus/p/17981849

相关推荐

  1. gstreamer学习笔记

    2024-03-22 05:52:06       43 阅读
  2. GStreamer安装——Linux

    2024-03-22 05:52:06       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-22 05:52:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-22 05:52:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-22 05:52:06       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-22 05:52:06       20 阅读

热门阅读

  1. shell和linux的关系

    2024-03-22 05:52:06       17 阅读
  2. PostgresSQL中的死锁和锁等待

    2024-03-22 05:52:06       18 阅读
  3. 二分图试炼之棋盘覆盖

    2024-03-22 05:52:06       17 阅读
  4. 如何搭建数据中心安全架构?

    2024-03-22 05:52:06       19 阅读
  5. oracle pctfree&pctused介绍

    2024-03-22 05:52:06       18 阅读
  6. 工大智信智能听诊科技与健康

    2024-03-22 05:52:06       18 阅读
  7. List 的 Diff 功能

    2024-03-22 05:52:06       20 阅读
  8. Mysql——索引下推

    2024-03-22 05:52:06       20 阅读
  9. 如何利用ChatGPT写出高质量的学术论文

    2024-03-22 05:52:06       19 阅读
  10. RabbitMQ的安装

    2024-03-22 05:52:06       19 阅读
  11. 嵌入式学习-ARM

    2024-03-22 05:52:06       20 阅读