随笔二、OV5695摄像头测试

ops/2024/10/18 12:23:15/

摘要:泰山派开发板SDK使用了GStreamer媒体框架作为音视频的编解码器,支持硬件编解码。开发板提供MIPI_CSI摄像头接口连接摄像头。

1. 摄像头信息

开发板MIPI-CPI接口是30pin、4lane;测试用的OV5696是2lane,像素500万,分辨率3296x2512;用30p的FPC连接开发板与摄像头

2. GStreamer源码及编译

GStreamer的源码在SDK目录

<SDK>/buildroot/package/gstreamer1/

Rockchip MPP插件源码在

<SDK>/external/gstreamer-rockchip

本次测试基于Buildroot系统,GStreamer1相关的宏默认已经开启,在这个文件里

<SDK>/buildroot/configs/rockchip/video_gst.config

BR2_PACKAGE_ROCKCHIP_MPP=y
BR2_PACKAGE_ROCKCHIP_MPP_ALLOCATOR_DRM=y
BR2_PACKAGE_GSTREAMER1_ROCKCHIP=y
BR2_PACKAGE_ROCKCHIP_RGA=y
BR2_PACKAGE_GSTREAMER1=y
BR2_PACKAGE_GST1_PLUGINS_BASE_INSTALL_TOOLS=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT=y
BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC=y
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOPARSERS=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_DEINTERLACE=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_GDKPIXBUF=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA=y
BR2_PACKAGE_GST1_PLUGINS_BAD=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVBSUBOVERLAY=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DVDSPU=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_JPEGFORMAT=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_KMS=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGDEMUX=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEG2ENC=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
BR2_PACKAGE_GST1_PLUGINS_UGLY=y
BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_ASFDEMUX=y
BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDLPCMDEC=y
BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDSUB=y
BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC=y

按照开发板使用说明执行SDK编译和镜像烧入即可

3. 测试命令

  • gst-launch-1.0

Gstreamer启动器,用于快速构建pipeline

# 使用videotestsrc生成一段视频,并使用xvimagesink显示
gst-launch-1.0 videotestsrc ! xvimagesink
root@RK356X:/# gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! kmssink

参数解析:

  1. v4l2src元素用于从视频设备/dev/video0中获取视频数据
  2. video/x-raw指定视频数据的原始格式,这里使用NV12格式,它是一种常见的YUV格式
  3. width=1920和height=1080,设置视频的宽度和高度为1920x1080像素
  4. framerate=30/1,设置视频的帧率为30帧每秒
  5. kmssink元素用于将视频显示到DRM设备上
  • gst-play-1.0

Gstreamer播放器,用于播放各种流媒体

# 播放test.mp4,并通过xvimagesink显示
gst-play-1.0 test.mp4 --videosink=xvimagesink
# 常用命令选项
--flags # bit0:视频,bit1:音频,bit2:字幕,如--flags=1表示只播放视频
--videosink # 指定videosink
--audiosink # 指定audiosink
--use-playbin3 # 使用playbin3,否则使用playbin2
  • gst-inspect-1.0

查找器,用于列出所有插件或某一插件的具体信息

# 不带任何参数,列出所有插件
gst-inspect-1.0
# 列出xvimagesink插件的所有信息
gst-inspect-1.0 xvimagesink

参考:Rockchip Gstreamer用户指南


http://www.ppmy.cn/ops/94364.html

相关文章

Qt——多线程

一、QThread类 如果要设计多线程程序&#xff0c;一般是从QThread继承定义一个线程类&#xff0c;并重新定义QThread的虚函数 run() &#xff0c;在函数 run() 里处理线程的事件循环。 应用程序的线程称为主线程&#xff0c;创建的其他线程称为工作线程。主线程的 start() 函数…

数据操作语言(DML)

SQL常用语句--超实用&#xff01;&#xff01;&#xff01; 数据操作&#xff1a; 1.插入数据(数据需要一一对应) INSERT INTO employees (employee_id,name,age,department_id) VALUES(1,John Doe,30,5); 2.更新数据 UPDATE employees SET name Jane Doe WHERE employee_i…

【图论】并查集(Union-find Sets)

文章目录 前言一、并查集(Union-find Sets)基本概念基本操作步骤 二、并查集的操作步骤1. 初始化 init2. 查询 find、合并 union&#xff08;未进行路径压缩&#xff09;3. 查询 find、合并 union&#xff08;路径压缩&#xff09; 三、Kruskal 算法中 环 的判断并查集的使用 总…

leetcode线段树(2940. 找到 Alice 和 Bob 可以相遇的建筑)

前言 经过前期的基础训练以及部分实战练习&#xff0c;粗略掌握了各种题型的解题思路。现阶段开始专项练习。 描述 给你一个下标从 0 开始的正整数数组 heights &#xff0c;其中 heights[i] 表示第 i 栋建筑的高度。 如果一个人在建筑 i &#xff0c;且存在 i < j 的建筑…

链表(哈希表,有序表)环形链表确定节点的方式

UnOrderedMap UnSortedMap --> C 哈希表&#xff08;无序组织&#xff09; 哈希表如果只有key 没有 value 是HashSet 哈希表如果有key 有 value 是HashMap 哈希表在使用的过程中所有的增删改查都是常数时间&#xff08;比较大&#xff09; 如果存放的是基础类型&#xf…

【Python机器学习】回归——示例:预测乐高玩具套装的价格

用回归法预测乐高套装价格的基本步骤&#xff1a; 1、收集数据&#xff1a;用Google Shopping的API收集到的数据 2、准备数据&#xff1a;从返回的JSON数据中抽取价格 3、分析算法&#xff1a;可视化并观察数据 4、训练算法&#xff1a;构建不同的模型&#xff0c;采用逐步线性…

书生.浦江大模型实战训练营——(三)Git基本操作与分支管理

最近在学习书生.浦江大模型实战训练营&#xff0c;所有课程都免费&#xff0c;以关卡的形式学习&#xff0c;也比较有意思&#xff0c;提供免费的算力实战&#xff0c;真的很不错&#xff08;无广&#xff09;&#xff01;欢迎大家一起学习&#xff0c;打开LLM探索大门&#xf…

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. 问题解决

问题描述 原来我的服务器docker服务运行正常&#xff0c;但在某次尝试用时, 根据系统的错误提示执行了snap install docker指令之后&#xff0c; 再执行docker ps命令则提示Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running…