随笔二、OV5695摄像头测试

摘要:泰山派开发板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用户指南

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值