当前位置:网站首页>在web页面播放rtsp流视频(webrtc)
在web页面播放rtsp流视频(webrtc)
2022-06-26 05:51:00 【祁_z】
所需环境
node.js + FFmpeg
此方式客户端只需要通过video标签就可播放
ffmpeg下载链接:https://pan.baidu.com/s/1ntOVSpxmtHO861V-dT5Kyg?pwd=nx7y
提取码:nx7y
FFmpeg环境安装
1. 安装FFmpeg的依赖yasm
yum方式安装yasm,也可以通过Download - The Yasm Modular Assembler Project下载安装
yum install yasm -y
# 编译
./configure
# 安装
make && make install2. 安装FFmpeg
wget获取ffmpeg,有可能下载不下来,建议用我提供的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 install3. 验证是否安装成功
输入ffmpeg命令,查看控制台是否有输出,有则代表安装ffmpeg成功。

NodeJS环境安装
1. NodeJS的安装步骤忽略。。
2. 安装rtsp2web插件
# 创建一个目录,目录名称不能是rtsp2web,进入目录执行以下命令安装rtsp2web插件
npm init --yes
npm i rtsp2web3. 创建 index.js,并运行,运行命令node index.js
// index.js
const RTSP2web = require('rtsp2web')
// 服务端长连接占据的端口号;端口号可以自定义
const port = 9999
new RTSP2web({
port
})
至此视频转码服务安装完成。
在此提供公开的rtsp流可用于测试:
rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4
验证html播放实时视频
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no,viewport-fit=cover">
<script src="https://jsmpeg.com/jsmpeg.min.js" charset="utf-8"></script>
<title>播放rtsp</title>
</head>
<body>
<canvas id="canvas" style="width: 600px; height: 600px;"></canvas>
</body>
<script>
// 改成你的rtsp流
var rtsp = 'rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4'
window.onload = () => {
// location为node服务所在的服务地址,端口为rtsp2web设置的端口
new JSMpeg.Player("ws://localhost:9999/rtsp?url="+btoa(rtsp), {
canvas: document.getElementById("canvas")
})
}
</script>
</html>
将该html copy到桌面打开看看效果。
边栏推荐
猜你喜欢
随机推荐
About abstact and virtual
睛天霹雳的消息
类和对象的学习
Describe an experiment of Kali ARP in LAN
工厂方法模式、抽象工厂模式
Getting started with Python
BOM document
one billion two hundred and twelve million three hundred and twelve thousand three hundred and twenty-one
ES6的搭配环境
Navicat如何将当前连接信息复用另一台电脑
【C語言】深度剖析數據在內存中的存儲
循环位移
Pytorch (environment, tensorboard, transforms, torchvision, dataloader)
Customize WebService as a proxy to solve the problem of Silverlight calling WebService across domains
Kolla ansible deploy openstack Yoga version
状态模式,身随心变
Thinking about bad money expelling good money
冒泡排序(Bubble Sort)
自定义WebSerivce作为代理解决SilverLight跨域调用WebService问题
SQL Server视图






![[C language] deep analysis of data storage in memory](/img/2e/ff0b5326d796b9436f4a10c10cfe22.png)

