PetaLinux使用Gstreamer传输USB摄像头到DP显示屏
PetaLinux使用Gstreamer传输USB摄像头到DP显示屏开发板:Xilinx Zynq XCZU9EG虚拟机:Ubuntu18.04摄像头格式:jpeg显示屏接口:DisplayPort1.PetaLinux安装编译2.修改petalinux配置,添加关于Gstreamer的部分。在petalinux目录下,执行petalinux-config -c rootfs勾选以下项目:Conf
PetaLinux使用Gstreamer传输USB摄像头到DP显示屏
- 开发板:Xilinx Zynq XCZU9EG
- 虚拟机:Ubuntu18.04
- 摄像头格式:jpeg
- 显示屏接口:DisplayPort
2.修改petalinux配置,添加关于Gstreamer的部分。
在petalinux目录下,执行petalinux-config -c rootfs
勾选以下项目:
- Configuration->Filesystem Packages->multimedia->gstreamer-1.0
- Configuration->Filesystem Packages->misc->gstreamer-1.0-meta-base
- Configuration->Filesystem Packages->misc->packagegroup-petalinux-gstreamer
Save and Exit
3.在设备树文件project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi
添加:
/* display */
&xlnx_dpdma {
status = "okay";
};
&zynqmp_dpsub {
status = "okay";
};
4.重新编译petalinux,进入petalinux。
5.可能需要Xilinx 专用的DP线,插上显示器,执行modetest -D fd4a0000.zynqmp-display
进行测试,显示屏应该会显示图像。
6.插上USB摄像头,在petalinux执行gst-launch-1.0 -v v4l2src device=/dev/video0 ! image/jpeg, width=1920, height=1080 ! jpegparse ! jpegdec ! autovideoconvert ! kmssink bus-id=fd4a0000.zynqmp-display fullscreen-overlay=1 sync=false async=false
其中:
- device=/dev/video0 是USB摄像头
- !叹号表示数据的传递管道
- image/jpeg是USB摄像头的图片格式
- ! jpegparse ! jpegdec ! autovideoconvert 表示jpeg自动转换格式
- bus-id=fd4a0000为显示屏
- sync=false async=false为数据不同步,同步的话太卡了,CPU处理不过来,但是不同步十几分钟后会崩溃
如果遇到Gstreamer error: XDG_RUNTIME_DIR not set in the environment的问题,执行以下命令:
mkdir -pv ~/.cache/xdgr
export XDG_RUNTIME_DIR=$PATH:~/.cache/xdgr
XDG_RUNTIME_DIR=/run/user/1001
更多推荐
所有评论(0)