文章目录
- 前言
- 一、怎样使用 gstreamer 生成 pattern 数据
- 1. 将 videotestsrc 生成的 pattern 数据送显
- 2. 将 videotestsrc 生成的 pattern 数据保存为图片(文件)
- 二、gstreamer 如何对图片进行格式转换
- 三、gstreamer 如何对图片进行缩放
- 四、gstreamer 如何对图片进行裁剪
- 总结
前言
本文主要介绍如何使用 gstreamer 对图片进行格式转换,以及获取 pattern 图片相关的命令
软硬件环境:
硬件:PC
软件:ubuntu22.04 gstreamer 1.20.3
一、怎样使用 gstreamer 生成 pattern 数据
gstreamer 是通过 videotestsrc 这个插件来产生 pattern 数据的,产生的 pattern 数据送到下一级处理,可以是送显,也可以保存为本地文件。
在 ubuntu 下执行 gst-inspect-1.0 videotestsrc 命令可以查看 videotestsrc 这个插件的相关属性及参数,打印如下所示
lkh@ubuntu:~/lkh2024/opengles_test$ gst-inspect-1.0 videotestsrc
Factory Details:Rank none (0)Long-name Video test sourceKlass Source/VideoDescription Creates a test video streamAuthor David A. Schleef <ds@schleef.org>Plugin Details:Name videotestsrcDescription Creates a test video streamFilename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvideotestsrc.soVersion 1.20.1License LGPLSource module gst-plugins-baseSource release date 2022-03-14Binary package GStreamer Base Plugins (Ubuntu)Origin URL https://launchpad.net/distros/ubuntu/+source/gst-plugins-base1.0GObject+----GInitiallyUnowned+----GstObject+----GstElement+----GstBaseSrc+----GstPushSrc+----GstVideoTestSrcPad Templates:SRC template: 'src'Availability: AlwaysCapabilities:video/x-rawformat: { (string)ABGR64_LE, (string)BGRA64_LE, (string)AYUV64, (string)ARGB64_LE, (string)ARGB64, (string)RGBA64_LE, (string)ABGR64_BE, (string)BGRA64_BE, (string)ARGB64_BE, (string)RGBA64_BE, (string)GBRA_12LE, (string)GBRA_12BE, (string)Y412_LE, (string)Y412_BE, (string)A444_10LE, (string)GBRA_10LE, (string)A444_10BE, (string)GBRA_10BE, (string)A422_10LE, (string)A422_10BE, (string)A420_10LE, (string)A420_10BE, (string)RGB10A2_LE, (string)BGR10A2_LE, (string)Y410, (string)GBRA, (string)ABGR, (string)VUYA, (string)BGRA, (string)AYUV, (string)ARGB, (string)RGBA, (string)A420, (string)AV12, (string)Y444_16LE, (string)Y444_16BE, (string)v216, (string)P016_LE, (string)P016_BE, (string)Y444_12LE, (string)GBR_12LE, (string)Y444_12BE, (string)GBR_12BE, (string)I422_12LE, (string)I422_12BE, (string)Y212_LE, (string)Y212_BE, (string)I420_12LE, (string)I420_12BE, (string)P012_LE, (string)P012_BE, (string)Y444_10LE, (string)GBR_10LE, (string)Y444_10BE, (string)GBR_10BE, (string)r210, (string)I422_10LE, (string)I422_10BE, (string)NV16_10LE32, (string)Y210, (string)v210, (string)UYVP, (string)I420_10LE, (string)I420_10BE, (string)P010_10LE, (string)NV12_10LE32, (string)NV12_10LE40, (string)P010_10BE, (string)Y444, (string)RGBP, (string)GBR, (string)BGRP, (string)NV24,