在web页面播放rtsp流视频(webrtc)

所需环境

node.js + FFmpeg

此方式客户端只需要通过canvas标签就可播放

ffmpeg下载链接:https://pan.baidu.com/s/1ntOVSpxmtHO861V-dT5Kyg?pwd=nx7y 
提取码:nx7y 

FFmpeg环境安装

1. 安装FFmpeg的依赖yasm

​yum方式安装yasm

通过yum这种方式可能会有问题,建议通过Download - The Yasm Modular Assembler Project手动下载安装,下载解压完后进行编译、安装

yum install yasm -y

# 编译
./configure

# 安装
make && make install

2. 安装FFmpeg

wget获取ffmpeg,有可能下载不下来,建议用我提供的ffmpeg-4.1.8.tar.bz2 手动上传到服务器。

补充:ffmpeg-4.1.8.tar.bz2 有可能解压失败,可以点击  下载 ffmpeg-4.1.8.tar  格式压缩包

通过: tar -xf ffmpeg-4.1.8.tar 命令进行解压。

# 下载ffmpeg-4.1.8.tar.bz2
wget https://ffmpeg.org/releases/ffmpeg-4.1.8.tar.bz2

# 解压
tar -xjvf ffmpeg-4.1.8.tar.bz2

# 进入解压目录
cd ffmpeg-4.1.8

# 编译
./configure

# 安装
make && make install

3. 验证是否安装成功

输入ffmpeg命令,查看控制台是否有输出,有则代表安装ffmpeg成功。

在web页面播放rtsp流视频(webrtc)_第1张图片

NodeJS环境安装

1. NodeJS的安装步骤忽略。。

2. 安装rtsp2web插件

# 创建一个目录,目录名称不能是rtsp2web,进入目录执行以下命令安装rtsp2web插件
npm init --yes
npm i rtsp2web

3. 创建 index.js,并运行

启动命令 node index.js

后台启动命令 nohup node index.js &

// index.js 内容

const RTSP2web = require('rtsp2web');

// 服务端长连接占据的端口号;端口号可以自定义
const port = 9999;
new RTSP2web({port});

至此视频转码服务安装完成。 

------------------------↓↓↓↓↓  Error ↓↓↓↓↓ ------------------------

启动index.js时如果报错:Error: Cannot find module 'rtsp2web'

就执行以下命令后再重新启动index.js:

npm install

npm install rtsp2web

------------------------ ↑↑↑↑↑ Error ↑↑↑↑↑ ------------------------ 

验证页面html播放实时视频




  
  
  
  
  播放rtsp






将该html copy到桌面打开看看效果。


补充:后台启动的index.js有时候会莫名其妙关闭,可以通过以下脚本实现自动重启index.js

## 创建restart.sh脚本文件

## 授权脚本  chmod 777 restart.sh
## 启动脚本  nohup ./restart.sh > restart.log &

#!/bin/bash
source /etc/profile
while true
do
ps -ef | grep "index.js" | grep -v "grep"
if [ "$?" -eq 1 ];then
 echo "监听到服务关闭,开始启动服务..."
 nohup node index.js &
fi
sleep 30
done

你可能感兴趣的:(前端,前端,javascript,开发语言,1024程序员节)