低延时播流之Jsmpeg

Jsmpeg

官网:http://jsmpeg.com/
Github:https://github.com/phoboslab/jsmpeg

流服务器

安装NodeJS

The Websocket relay is written in Node.js

1
2
3
# Ubuntu 18.04 TLS,执行以下命令:
sudo apt-get install nodejs
sudo apt install libssl1.0-dev nodejs-dev node-gyp npm

查看安装版本

1
2
sudo node -v
sudo npm -v

更新源

1
2
sudo npm config set registry https://registry.npm.taobao.org
sudo npm config list

安装Git

1
sudo apt-get install git

下载源码

1
2
cd /data
git clone https://gitee.com/psvmc/jsmpeg.git

进入目录

1
cd jsmpeg

安装Websocket服务器

1
npm install ws

启动Websocket relay

Provide a password and a port for the incomming HTTP video stream and a Websocket port that we can connect to in the browser

1
node websocket-relay.js supersecret 8081 8082

推流

安装FFMpeg

推流时使用

1
sudo apt install ffmpeg

第2个Terminal中推流

1
2
3
4
ffmpeg -stream_loop -1 -i /data/video.mp4 -f mpegts \
-codec:v mpeg1video -r 24 -bf 0 \
-codec:a mp2 -ar 44100 -ac 1 -b:a 128k \
http://49.233.81.68:8081/supersecret

推送桌面流

1
ffmpeg -f gdigrab -i desktop -framerate 30 -f mpegts -codec:v mpeg1video -s 640x480 -b:v 1000k -bf 0 -codec:a mp2 -b:a 128k -muxdelay 0.001 http://49.233.81.68:8081/supersecret

播流

安装web服务器

当然安装Nginx和Apache都行

1
npm -g install http-server

第3个Terminal中启动Web服务器

1
2
cd /data/jsmpeg
http-server

访问播流地址

http://49.233.81.68:8080/view-stream.html