本文转载自:硬码农二毛哥微信公众号
在zcu106开箱即用vcu示例中用到了USB摄像头,本节介绍如何对摄像头输出图像进行编解码。
1 测试摄像头
使用测试程序测试摄像头是否正常输出。将测试程序进行交叉编译,将生成的可执行文件复制到sd卡,运行测试程序后会保存一张yuv格式的图片。通过yuv播放器可以看到该图片是否显示正常。可通过如下指令安装交叉编译工具:
sudo apt-get installgcc-aarch64-linux-gnu –y
交叉编译时使用指令:arrch64 linux-gnu-gcc abc.c –o abc
2 测试以太网传输
摄像头->编码->传输->解码->显示通过网线将开发板与电脑连接电脑ip设置成192.168.0.2
开发板ip设置成192.168.0.1
电脑安装VLC播放器,新建文件test.sdp文件,输入如下内容。
v=0 c=IN IP4 192.168.0.2
m=video 50000 RTP/AVP 96
a=rtpmap:96 H264/90000
a=framerate=30
在开发板上命令vcu-demo-camera-encode-streamout.sh后,打开test.sdp文件,输出解码视频。
3 测试DP接口
摄像头->解码->显示摄像头输出h264格式文件,经过vcu解码后,通过DP口显示。
vcu-demo-camera-decode-display.sh -s 1920x1080
相关指令代码可在上图所示文件夹中。
4 总结
zcu106例程移植到自定义单板到这里就已经完成了,我会将七个小节中相关内容放到百度网盘,内容包括vivado工程、petalinux bsp文件、配方文件、文件编解码配置文件、摄像头测试文件、yuv播放器和VLC播放器,希望对大家有帮助。公众号回复1,下载以上文件。