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 contribdeb-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-zenheisudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyinbus输入法是一个基于Python开发的全新输入法框架,支持多种语言。安装命令:sudo apt-get install ibus ibus-pinyin
安装vim
sudo apt-get install -y vim会报错sudo apt-get remove vim-commonsudo apt-get install -y vimcd ~vim .vimrcpi@raspberrypi ~ $ vim .vimrc写入如下配置文件即可set numbersyntax onset tabstop=4
4安装xrdp方便远程连接
sudo raspi-config#设置开启摄像头vnc ssh等相关配置sudo apt-get install tightvncserver#必须先安装tightvncserver!!!sudo apt-get install xrdpsudo ufw allow 3389sudo service ufw restartsudo service xrdp restart
树莓派安装mplayer
sudo apt-get install smplayer -ysudo apt-get remove libdvdnav4 -ysudo 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来让树莓派永不失联的方法。此方法下,就算连接断开了,当我们重新连接后依旧进行原来的操作,而不需要从头再来。// 直接安装Screensudo 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..9Ctrol+a a 发送C-a到当前会话Ctrol+a k 杀掉当前窗口Ctrol+a [ 进入复制/回滚模式
看门狗
//树莓派自带看门狗模块,我们需要添加进去就好。sudo modprobe bcm2708_wdogecho -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命令行浏览器
LynxLynx是一个通用的浏览器。使用下面的命令安装它:sudo apt-get install lynxlynx http://www.google.comLINKSsudo apt-get install links通过下面的命令来访问网站,把http://www.google.com换成你想要的地址:links http://www.google.com
树莓派安装ffmpeg (以下方法速度特别慢,建议先fork到自己的github上再从码云上使用一键从github上导入再使用不然真的很慢)编译ffmpeg的过程也十分漫长
树莓派安装ffmpeg先安装h264编码器#!/bin/bashcd /usr/srcgit clone git://git.videolan.org/x264cd x264./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-openclsudo makesudo make install下载源码编译安装ffmpegcd /usr/srcgit clone git://source.ffmpeg.org/ffmpeg.gitcd ffmpegsudo ./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfreesudo makesudo 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 updatesudo apt-get install vlcsudo 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查看实时不卡的网络监控了。
