树莓派常见问题
一、安装系统(EMMC)
1、详细操作步骤详见 微雪官网
2.注意事项
(1)EMMC版本不支持SD卡安装系统
(2)在使用rpi时一定不要连接树莓派。等rpi在电脑端安装完成后再连接!
(3)如遇到rpi一直卡在loading 界面请换台戴电脑尝试,最好是intel处理器
二、使用VNC局域网远程控制树莓派
在进行如下操作时请将树莓派连接显示器
(一)、开启VNC
1、首先登录树莓派系统,在命令终端输入sudo raspi-config
2、在Interface Options选项中打开ssh和vnc在(连接网口或配置wifi)
(二)、远程连接VNC
1、电脑端下载 xshell
2、利用xshell连接树莓派
(1)首先登录路由器管理界面获取树莓派ip地址,或者在现实届界面的右上角可以查看
(2)打开xshell
(3)新建连接输入你创建的主机名称和密码
(4)在命令行中输入vncserver得到端口(正常为1)
(三)、配置VNC
1、下载 VNCView
2、链接树莓派,输入账号密码
3、可能会遇到灰屏解决方法: VNC灰屏(建议直接配置文件,使用nano编辑器)
4、重启sudo reboot即可解决问题
注意:每次连接需要先打开xshell后输入vncserver后打开vncview(也可以设置VNC自启动但可能会导致开机延迟)
三、树莓派基于ffmpeg和nginx实现内网推流
(一)、安装nginx和ffmpeg
sudo apt-get install ffmpeg
sudo apt-get insall nginx
sudo apt-get install nginx-module-rtmp //安装rtmp模块
(二)、配置文件nginx.conf
1.运行下面命令
sudo nano /etc/nginx/nginx.conf
2.此时会打开nginx,使用ctrl+O进入编写,在event和http之间添加rtmp模块
//nginx默认端口是1935 也可以根据实际需求更改,但是后面访问网页和拉流时要注意添加端口如ip:xxxx
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
3.启动nginx
输入命令
sudo service nginx restart
4.检验是否成功运行nginx
在浏览器中输入树莓派ip地址,若成功可见下图界面
(三)、利用ffmpeg实现推流
在命令行运行如下代码
ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 -c:v libx264 -preset ultrafast -b:v 500k -f flv rtmp://<your-server-address>/live/stream
ffmpeg: 是 FFmpeg 命令行工具的启动命令。
-f video4linux2: 指定输入格式为 video4linux2,用于处理摄像头输入。
-input_format mjpeg: 指定输入的视频格式为 MJPEG(可根据实际修改)。
-i /dev/video0: 指定输入文件为 /dev/video0,这是摄像头设备的默认位置。
-c:v libx264: 指定视频编码器为 libx264,用于将视频进行 H.264 编码。
-preset ultrafast: 设置编码器的预设为 ultrafast,这是编码速度最快的选项,但可能会牺牲一些视频质量。
-b:v 500k: 设置视频的比特率为 500k(500 兆比特每秒),控制视频质量和文件大小。
-f flv: 指定输出格式为 FLV,用于 RTMP 流。
rtmp:///live/stream: 指定 RTMP 服务器地址和流名称,您需要将 替换为实际的 RTMP 服务器地址,/live/stream 是流的名称。(注意与后面拉流相一致)
//查看摄像头是哪一个,可以先不插后插对比找到,默认是video0
sudo apt-get install v4l-utils
v4l2-ctl --list-devices
//查看摄像头支持的格式
sudo apt-get install v4l-utils
v4l2-ctl --list-formats-ext -d /dev/video0
(四)、可能遇到的问题
1.问题描述:卸载重装后/etc/nginx/目录下无nginx.conf文件或erformance web server and a reverse proxy server.
dpkg: 处理软件包 nginx (–configure)时出错:
已安装 nginx 软件包 post-installation 脚本 子进程返回错误状态 1
在处理时有错误发生: 解决办法
2.遇到连接不上如下图
1、检查nginx.conf中rtmp是否正确插入(这个是最常见的,有点人会插入在http内部!)
2. 开启防火墙端口,根据自己的防火墙运行命令以允许
//例如ufw
sudo ufw allow 1935
(五)、利用vlc实现拉流
1.打开VlC–媒体–打开网络串流(拉流地址与前面保持一致,若更改端口记得加上,如192.168.0.114:8000)
视频的延迟非常高。大概在5秒左右,不适合做网络直播,仅适合粗略检查情况
可以考虑用硬件解码以加快解码速度降低延迟,见: MPP