一.部署服务器端
centos (阿里云服务器系统)
1.sudo yum install git
2.git clone https://github.com/phoboslab/jsmpeg.git
3.wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
4.source ~/.nvm/nvm.sh
5.nvm use node
6.npm i -g http-server
7.cd jsmpeg
8.npm install ws #注意这里没有-g
9.node websocket-relay 123 #后台运行 nohup node websocket-relay 123 &
10.http-server #后台运行 nohup http-server &
目前暂时还没时间搞定ffmpeg的安卓版本编译安装。但实现连接在这里:https://blog.youkuaiyun.com/u014418171/article/details/53337759
所以快速版本使用linux进行ffmpeg推流摄像头。
1.首先下载linuxmint-17.3-xfce-32bit.iso 。下载地址自行百度。 也可以安装其他版本的linux。自己保证ffmpeg编译通过就行。非本版本的linux编译ffmpeg问题,本人无力解决。
2.将其用Universal-USB-Installer-1.9.8.0.exe 制作成linux安装盘。
3.打开工业主机的bios,设置成u盘启动,插入该u盘。执行linux系统安装。
4.下载ffmpeg-3.4.2 并解压。进入解压后的目录。
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
#然后执行sudo apt-get install yasm 先安装yasm
cd ffmpeg
apt-get install build-essential
./configure
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
make
sudo make install
测试。 输入ffmpeg 显示有version表示安装成功
5.到https://github.com/phoboslab/jsmpeg 下载jsmpeg。这是h5播放推流视频用的。详见https://segmentfault.com/a/1190000000392586
git clone https://github.com/phoboslab/jsmpeg.git
6.现在需要安装node 和 ws来运行jsmpeg。请按照这个链接 https://blog.youkuaiyun.com/gaomengwang/article/details/77540429 完成node 和npm的安装。
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
之后需要激活nvm:
$ source ~/.nvm/nvm.sh
激活完成后,安装node
nvm install node
安装完成后,切换到该版本
nvm use node
7.安装完nodejs和npm后。先安装npm i -g http-server
8.安卓websocket 转到jsmpeg /目录 cd jsmpeg/ 安装Node.js Websocket库: npm install -g ws
====启动测试
1.进入jsmpeg
node websocket-relay 123 其中123是你的密码
2.输入http-server 启动web服务
3.你电脑的浏览器输入 http://192.168.0.124:8080/view-stream.html 这里就是等下播放h5视频的默认链接地址。其中 前面的ip是你实际的该linux工业主机ip地址。
4.现在输入ffmpeg -re -i “aa.mp4” -f mpegts -codec:v mpeg1video -s 640x480 -b:v 150k -r 30 -bf 0 -ac 1 -b:a 128k http://192.168.0.116:8081/123
来快速测试 音频推流。 前提是你的当前目录下有aa.mp4这个文件。成功的话,应该能够在浏览器的该页面中看到画面。
5.推流摄像头数据
rtmp://114.55.36.228/live/DZJ001_1
ffmpeg -f video4linux2 -framerate 25 -video_size 640x480 -i /dev/video0 -f mpegts -codec:v mpeg1video -s 640x480 -b:v 1000k -bf 0