Orange pi one 安装Raspbian搭建视频直播方案一

本文旨在香橙派板子上实现视频直播、抓拍、定时拍、比对图片
用到的技术栈:ngroke(反向代理)、ffmpeg(视频推流、解码)、flask(python web框架)、HLS等等

1、下载Raspbian安装包地址

http://www.orangepi.cn/downloadresourcescn/orangepipc/oragepipc_a01a2822c14b644d4931fb919e.html

2、准备TF卡及安装镜像

参照:http://www.orangepi.cn/quickstartcn/startcn_2e17631567a387efd2a3d252fa79.html

3、启动系统

通过hdmi转vga线来连接显示器,usb口接usb hub来分别接入键盘和鼠标。
默认用户名密码为:root 密码:orangepi,
修改Raspbian默认启动为命令行模式
修改文件/etc/inittab
这里将id:2:initdefault:修改为id:3:initdefault:

vi /etc/X11/default-display-manager
#输入false 然后Esc,保存,然后reboot
:wq
reboot

再次启动后系统即是命令行模式
修改ip地址为192.168.1.88
备份原来的网卡配置文件

cp /etc/network/interfaces  /etc/network/interfacesbak  
vi /etc/network/interfaces    

填入下边内容

auto lo
#开机自动连接网络
auto eth0

iface lo inet loopback
allow-hotplug eth0
#static表示使用固定ip,dhcp表述使用动态ip
iface eth0 inet static
#设置ip地址
address 192.168.1.88
netmask 255.255.255.0
gateway 192.168.1.1       

保存,然后重启网络

service networking restart 

至此及可以新的ip已经生效,但这个时候老的ip还依然能用,重启系统后旧ip就不能用了

4、扩展SD卡剩余空间
df -lh

查看磁盘空间发现不对,还有一部分剩余的容量没有使用

解决:
1、查看第二分区的起始地址,后面会用到

cat /sys/block/mmcblk0/mmcblk0p2/start

2、

sudo fdisk /dev/mmcblk0   #使用fdisk操作磁盘
Command (m for help): d   #d,删除分区
Partition number (1-4): 2   # 2,删除第二分区

Command (m for help): n  #创建一个新分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (2048-62333951, default 2048): 124928
Last sector, +sectors or +size{K,M,G} (124928-62333951, default 62333951): 
Using default value 62333951

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
reboot

重启完成之后,此时查询也还是没有变化的,还需要如下命令

sudo resize2fs /dev/mmcblk0p2
df -lh

再次查看磁盘已经识别出来了剩余空间
5、安装nodejs

下载最新版本的nodejs(v4.8.6)

wget https://nodejs.org/dist/v4.8.6/node-v4.8.6-linux-armv7l.tar.xz
cd node-v4.8.6-linux-armv7l/bin
ln -s /root/software/node-v4.8.6-linux-armv7l/bin/node  /usr/local/bin/node
ln -s /root/software/node-v4.8.6-linux-armv7l/bin/npm  /usr/local/bin/npm
npm -g install http-server
ln -s /root/software/node-v4.8.6-linux-armv7l/bin/http-server  /usr/local/bin/http-server
npm install -g pm2 #安装pm2启动nodejs守护进程
ln -s /root/software/node-v4.8.6-linux-armv7l/bin/pm2  /usr/local/bin/pm2
6、安装ffmpeg

修改国内镜像

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak

编辑内容如下

注意如果/etc/apt/sources.list.d/raspi.list国内镜像不能用404 就不要改动这个文件了
vi /etc/apt/sources.list  #修改Raspbian的软件源,内容如下
#deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
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    
vi  /etc/apt/sources.list.d/raspi.list  #树莓派的软件源 ,内容如下(阿里没有对应的镜像源,所以采用中科大的源)  
#deb http://archive.raspberrypi.org/debian/ wheezy main
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/ wheezy main                                                          

安装ffmpeg

方法一(推荐,可安装最新版ffmpeg)
# 先删除已经存在的依赖,然后更新系统重新安装依赖包
sudo apt-get remove --purge libmp3lame-dev libtool libssl-dev libaacplus-* libx264 libvpx librtmp ffmpeg
sudo apt-get update; sudo apt-get upgrade; sudo apt-get install libmp3lame-dev; sudo apt-get install -y libopus-dev; sudo apt-get install autoconf; sudo apt-get install libtool; sudo apt-get install checkinstall; sudo apt-get install libssl-dev
# 安装h264编码器
mkdir ~/src
cd ~/src
git clone git://git.videolan.org/x264
cd x264
./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl
make && make install
# 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
make # make 时间很长大约2个多小时
sudo make install

查看版本

ffmpeg -version
方法二
sudo apt-get update
sudo apt-get install deb-multimedia-keyring
sudo apt-get update
sudo apt-get install ffmpeg
7、安装jsmpeg
git clone https://github.com/phoboslab/jsmpeg.git
cd jsmpeg
npm install ws #安装依赖websocket
#node websocket-relay.js supersecret 8081 8082 ##node 启动jspeg
pm2 start websocket-relay.js   #守护进程启动
8、启动ffmpeg推流
ffmpeg -rtsp_transport tcp -i rtsp://admin:12345@192.168.1.120:554/h264/ch1/sub/av_stream -f mpegts -vcodec mpeg1video -s 320x240 -b:v 800k -bf 0 -acodec mp2 -b:a 128k -muxdelay 0.001 -r 30 http://localhost:8081/supersecret
9、安装ngrok客户端
touch ngrok.cfg #创建配置文件
vi ngrok.cfg #编辑内容

内容如下
http: tcp:分别为通道的名字可以自定义

server_addr: qdoing.com:4443
trust_host_root_certs: false
tunnels:
 http:
  proto:
   http: 8080
   subdomain: c1
 tcp:
   remote_port: 1001
   proto:
    tcp: 8082
ssh:
  remote_port: 2001
  proto:
    tcp: 22
chmod 777 ngrok #给ngrok执行权限
 ./ngrok -config=ngrok.cfg start http tcp #开启tcp http 代理
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355

推荐阅读更多精彩内容

  • 先读一下前面这段话,以决定是否要看下去: 这是写给纯小白的Arch Linux安装步骤。Arch的可配置自由度太高...
    沉沦的菩提阅读 31,631评论 73 193
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,269评论 9 467
  • 一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件)ls -a 列出当前目录文件(包括隐含文件)l...
    路痴千行阅读 2,394评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,656评论 18 139
  • 起初,只是一个黑色的小圆点而已。只是在他的头顶静静的飘着,离他是那么的遥远,就仿佛是在外太空上飘着一般。 随着时间...
    幻想柠檬阅读 275评论 0 0