学无先后,达者为师

网站首页 编程语言 正文

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

作者:祁_z 更新时间: 2022-07-11 编程语言

所需环境

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 install

2. 安装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 install

3. 验证是否安装成功

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

NodeJS环境安装

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

2. 安装rtsp2web插件

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

3. 创建 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到桌面打开看看效果。

原文链接:https://blog.csdn.net/qq_36881887/article/details/125423111

相关推荐

栏目分类
最近更新