为什么说实时视频是填坑呢,请把本文读完就知道了。经过几天的折腾可以显示桌面了,这里有个“坑”需要注意。这款硬件使用的是DP显示接口,这个接口没有HDMI的显示核心,如果想使用DP转HDMI必须使用“主动式转换线”。普通的线不能转换时序,只能转换电平。这个让我损失了一条线的钱。这次我使用的是网线和串口终端同时打开。这里还有个“坑”需要注意,就是每次上网都要手动配置domain name server 的地址,否则是上不了互联网的。
echo “nameserver 8.8.8.8” > /etc/resolve.conf
有了桌面可以使用USB摄像头测试video_classify了,但是非常遗憾,不能!具体的原因还在寻找中。
本次使用的测试器材!看这里
这是我依据图片购买的“实验材料”,把测试过程简单的记录一下。
首先,按照《EdgeBoard支持的摄像头选型表》的指导,我的摄像头是罗技摄像头C270这款,自带H.264的硬编码功能。在以往的各种测试中表现的比较好,兼容性很不错。linux系统的USB开发库一般使用V4L2,系统的板子中有驱动,使用v4l2-ctl可以查看摄像头的参数,说明USB摄像头可以使用。
linux的视频库常用的有两套,gstreamer和ffmpeg,这两个系统都是自带的,我首先选择gstreamer进行测试,但是gst-launch-1.0这个工具怎么也无法显示只好放弃,那么就只有使用ffmpeg了。系统自带的ffmpeg版本version 4.0.2。首先
startx
启动桌面
ffmplay -i dev/video0
可以看到桌面的效果了。调整角度——开始测试,这里吐槽一下:”这个显示视频的延时真是慢!大概有一秒钟了“,我都坐到座位上了,才播放走过摄像机的画面,这个延时我真是受不了。看资料说板子的cpu上有H.264/H.265的编/解码器,按理说不应该有明显的延时,而且感觉比网络流的延时还大。
还有一张
开始测试
cd /home/root/workspace/PaddleLiteSample/classification/build
./video_classify ../configs/resnet50/drink.json
屏幕上什么都没有!,屏幕上什么都没有!,屏幕上什么都没有!
程序看上去执行了,摄像头C270的录像灯已经打开了。我开始用可乐试,没有任何反应,后来换成怡宝也是一样,都不行,我又把距离调了调也不行。这我折腾了好一会,最后也没有做成实验,就在我想放弃的时候出现了神奇的现象,这个就是我说的”坑“
当时我想把显示器换到台式机上时,就把显示器给关了,又突然想到看看还有什么图没截屏时,就使用startx命令把桌面显示出来,这时显示器已经关了,按照流程我就照常执行测试,可是这时屏幕出现测试数据,奇怪的是我已经把测试的饮料给拿走了。这时我观察到摄像头的灯也是亮着的,那么这些测试数据是哪里来的呢?而且数据的更新还非常的快。
真是奇怪数据是哪里来的呢?