树莓派4B 64位系统使用笔记

树莓派4b默认安装的是32位系统,用的完全没有问题,因为给装的是初学者镜像。
但是对于配备了8GB内存的版本来说,显然不合适。
于是自己按照官方的说明烧录了64位系统,使用方法什么的都没有差别。
只是很多命令行的命令不能用了,其中就有调用摄像头的命令。

下面是用到的一些问题和解决方法

1.源的问题

国内只有清华的源支持64位的版本,所以改成清华的源吧,百度上到处都是。
配的还不是raspy的源,配的是debian的源

2.摄像头命令不能用

raspistill -o new.jpg报错(参考https://www.cnblogs.com/dongxiaodong/p/9814119.html)

Errors:
mmal: mmal_port_event_send: event lost on port 1,0 (buffer header callback not defined)
mmal: mmal_port_event_send: event lost on port 1,0 (buffer header callback not defined)

错误详情见:https://www.raspberrypi.org/forums/viewtopic.php?p=1729920

这很显然是64位的还没支持raspistill命令,更别说录制视频的了。包括xdg一系列的命令。甚至改完清华源升级之后很多rasp的命令也没了。
从上面的论坛中突然又个灵感摄像头就是输出到/dev/video0而已,那用ffmpeg读取/dev/video0不就行了。
参考:https://blog.csdn.net/win_lin/article/details/50523098
解决方法:
安装ffmpeg:

#安装ffmpeg
sudo apt-get install ffmpeg
#1. 摄像头截图
ffmpeg -i /dev/video0 -r 1 -t 4 -q:v 2 -f image2 image-%d.jpeg
#-r 每隔1s截取一张图
#-t 一共截4s
#2.摄像头推流
ffmpeg -f v4l2 -i /dev/video0 \
    -c libx264 -profile:v main -preset:v fast \
    -b:v 300k -s 640x480 -r 25 \
    -an \
    -f mpegts -y "udp://192.168.0.3:12344"

#从pc上用vlc打开链接"udp://192.168.0.3:12344"

3.把hdmi拔掉之后用VNC不能远程桌面了

提示:“cannot currently show the desktop”
解决方法:
设置分辨率:

sudo raspi-config 
#依次选择2 Display Option-> 01 Resolution ->DMT Mode 16
#然后保存退出重启就行了
上一篇:uni-app 微信小程序 上传图片 文件 uni.uploadFile() 、 uni.chooseImage()


下一篇:uniapp之上传图片组件封装(包含预览,删除,上传)事件