1.格式化sd card
SD Formatter 对其进行格式化方便后续操作
2.下载官网的系统镜像并写入sdcard
Win32 Disk Imager
3.插入设备上电直接运行
编辑系统模块文件
sudo nano /etc/modules
在这个文件的最后添加一行
bcm2835-v4l2
保存。建议配置好之后重启一下树莓派。然后测试摄像头是否正常工作。
vcgencmd get_camera
更换源阿里镜像主页:http://mirrors.aliyun.com/
编辑 /etc/apt/sources.list 文件。这里推荐用 nano 命令编辑。命令如下:
pi@raspberrypi:~ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份为 sources.list.bak pi@raspberrypi:~ sudo nano /etc/apt/sources.list #编辑sources.list 文件
进入编辑界面,删除原有的内容或者用#注释掉原来的源,添加下方的源内容。
源如下:
deb http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
然后使用 Ctrl+O 回车后保存文件,Ctrl+X 退出编辑器。
然后执行
pi@raspberrypi:~ sudo apt-get update #更新系统软件 pi@raspberrypi:~ sudo apt-get upgrade
中文支持及中文输入法
sudo apt-get install -y ttf-wqy-zenhei
sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin
bus输入法是一个基于Python开发的全新输入法框架,支持多种语言。
安装命令:sudo apt-get install ibus ibus-pinyin
安装vim
sudo apt-get install -y vim
会报错
sudo apt-get remove vim-common
sudo apt-get install -y vim
cd ~
vim .vimrc
pi@raspberrypi ~ $ vim .vimrc
写入如下配置文件即可
set number
syntax on
set tabstop=4
4安装xrdp方便远程连接
sudo raspi-config
#设置开启摄像头vnc ssh等相关配置
sudo apt-get install tightvncserver
#必须先安装tightvncserver!!!
sudo apt-get install xrdp
sudo ufw allow 3389
sudo service ufw restart
sudo service xrdp restart
树莓派安装mplayer
sudo apt-get install smplayer -y
sudo apt-get remove libdvdnav4 -y
sudo apt-get install mplayer -y
#运行下面命令即可观看摄像头
sudo mplayer tv://
#屏幕截图,保存在当前目录命令pwd可以知道自己所在位置
raspistill -o image.jpg
-v:调试信息查看
-w:图像宽度
-h:图像高度
-rot:图像旋转角度,只支持 0、90、180、270 度(这里说明一下,测试发现其他角度的输入都会被转换到这四个角度之上)
-o:图像输出地址,例如image.jpg,如果文件名为“-”,将输出发送至标准输出设备
-t:获取图像前等待时间,默认为5000,即5秒
-tl:多久执行一次图像抓取
执行下面的指令:
raspistill -o image%d.jpg -rot 180 -w 1024 -h 768 -t 20000 -tl 5000 -v
注:这里解释一下图片的采集数量和-t参数以及-tl参数的相关关系:N_Picture = -t(获取图像前等待时间)/-tl(多久执行一次抓取时间) + 1。所以有20000/5000+1 = 5张图片
使用raspivid指令来生成.h246的文件
raspivid -o mykeychain.h264 -t 10000 -w 1280 -h 720
这样就会在当前文件夹下面生成mykeychain.h264的文件:如果你想改变拍摄时长,只要通过 “-t” 选项来设置你想要的长度就行了(单位是毫秒)。
如果你想改变图像的分辨率,使用 “-w” 和 “-h” 选项将分辨率降为 1280×720等等。
Screen(让树莓派永不失联)
利用SSH(Serare Shell,安全外壳协议)来远程控制树莓派应该是我们最常用的 操作树莓派的方式,但在用SSH连接时,我们常常会遇到连接突然断开的问题。连 接一旦断开,原米我们进行的操作也就中断了,若再使用,就得从头再来了。相信你肯定因为电脑待机而中断树莓派的任务而苦恼过。
Screen来让树莓派永不失联的方法。此方法下,就算连接断开了,当我们重新连接后依旧进行原来的操作,而不需要从头再来。
// 直接安装Screen
sudo apt-get install -y screen
// 开启一个后台view(后台的终端,不会因为断开连接而终止)
screen -S 终端名
// 然后就可以继续你的操作了
常用命令
命令 参数 作用
Screen -S 终端名 新建一个新的后台虚拟终端
-ls 查看已创建的后台虚拟终端
-r 终端名 进入该终端
快捷键
快捷键 再按 作用
Ctrol+a d 保存一个后台虚拟终端
Ctrol+a w 显示所有窗口列表
Ctrol+a Ctrol+a 切换到之前显示的窗口
Ctrol+a c 创建一个新的运行shell的窗口
Ctrol+a n 切换到下一个窗口
Ctrol+a p 切换到前一个窗口
Ctrol+a 0..9 切换窗口0..9
Ctrol+a a 发送C-a到当前会话
Ctrol+a k 杀掉当前窗口
Ctrol+a [ 进入复制/回滚模式
看门狗
//树莓派自带看门狗模块,我们需要添加进去就好。
sudo modprobe bcm2708_wdog
echo -e "\nbcm2708_wdog" > sudo tee -a /etc/modules
// 安装看门狗软件
sudo apt-get install -y chkconfig watchdog
// 配置
sudo vim /etc/watchdog.conf
// 去掉"watchdog-device=/dev/watchdog"这一行的#注释
// 其它配置参考如下:
# 用于设定CPU温度重启条件
temperature-device = /sys/class/thermal/thermal_zone0/temp
# 最大温度为100度,超过立即重启
max-temperature = 100000
# 1分钟最多进程为24个,超过即重启
max-load-15=12
# 5分钟最多进程为18个,超过即重启
max-load-15=12
# 15分钟最多进程为12个,超过即重启
max-load-15=12
// 完成配置后,启动看门狗
sudo /etc/init.d/watchdog start
// 设置为开机自启
chkconfig watchdog on
LINKS 和 Lynx命令行浏览器
Lynx
Lynx是一个通用的浏览器。使用下面的命令安装它:
sudo apt-get install lynx
lynx http://www.google.com
LINKS
sudo apt-get install links
通过下面的命令来访问网站,把http://www.google.com换成你想要的地址:
links http://www.google.com
树莓派安装ffmpeg (以下方法速度特别慢,建议先fork到自己的github上再从码云上使用一键从github上导入再使用不然真的很慢)编译ffmpeg的过程也十分漫长
树莓派安装ffmpeg
先安装h264编码器
#!/bin/bash
cd /usr/src
git clone git://git.videolan.org/x264
cd x264
./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl
sudo make
sudo make install
下载源码编译安装ffmpeg
cd /usr/src
git clone git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
sudo ./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
sudo make
sudo make install
由于树莓派原因,这个过程很长……很长…… 建议开screen,然后Ctrl+a+d前面已经给出了screen的教程
最后就是推流了
首先这个是推送一个视频文件
ffmpeg -re -i "1.mp4" -vcodec copy -acodec aac -b:a 192k -f flv "你的rtmp地址/你的直播码"
在树莓派中使用FFmpeg将摄像头数据以流媒体数据推送到RTMP服务器,时间限制为10秒:
ffmpeg -ss 0 -t 10 -i /dev/video0 -f flv rtmp://rtmp server address:server port/project name/stream name
sudo apt-get install -y curl build-essential libpcre3 libpcre3-dev libpcre++-dev zlib1g-dev libcurl4-openssl-dev libssl-de
附:简单的vlc推流 ts形式封装格式
sudo apt-get update
sudo apt-get install vlc
sudo raspivid -o - -t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264
开VLC,然后打开媒体-》网络串流-》输入http://PI的IP地址:8090查看实时不卡的网络监控了。