node-rtsp-stream 技术文档
1. 安装指南
1.1 环境要求
- Node.js: 确保你的系统上已经安装了 Node.js。你可以通过运行
node -v
来检查是否已安装。 - FFmpeg: 该项目依赖于 FFmpeg 进行视频流的处理。请确保你的系统上已经安装了 FFmpeg。你可以通过运行
ffmpeg -version
来检查是否已安装。
1.2 安装步骤
- 打开终端或命令行工具。
- 运行以下命令来安装
node-rtsp-stream
:
npm install node-rtsp-stream
2. 项目使用说明
2.1 服务器端配置
在服务器端,你需要配置 node-rtsp-stream
来接收 RTSP 流并将其转换为 WebSocket 流。以下是一个示例配置:
const Stream = require('node-rtsp-stream');
const stream = new Stream({
name: 'name',
streamUrl: 'rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov',
wsPort: 9999,
ffmpegOptions: {
'-stats': '',
'-r': 30
}
});
2.2 客户端配置
在客户端,你需要使用 jsmpeg
来接收 WebSocket 流并将其显示在 HTML5 的 <canvas>
元素中。以下是一个示例配置:
<html>
<body>
<canvas id="canvas"></canvas>
</body>
<script type="text/javascript" src="jsmpeg.min.js"></script>
<script type="text/javascript">
const player = new JSMpeg.Player('ws://localhost:9999', {
canvas: document.getElementById('canvas')
});
</script>
</html>
2.3 注意事项
- 帧率要求: 确保你的摄像头流帧率大于或等于 15fps,否则 FFmpeg 可能会报错。推荐使用 25fps 的流。
3. 项目API使用文档
3.1 node-rtsp-stream
API
Stream
构造函数
- 参数:
name
: 流的名称。streamUrl
: RTSP 流的 URL。wsPort
: WebSocket 端口。ffmpegOptions
: FFmpeg 的选项,可以包含各种 FFmpeg 标志。
示例
const stream = new Stream({
name: 'name',
streamUrl: 'rtsp://184.72.239.149/vod/mp4:BigBuckBunny_115k.mov',
wsPort: 9999,
ffmpegOptions: {
'-stats': '',
'-r': 30
}
});
3.2 jsmpeg
API
JSMpeg.Player
构造函数
- 参数:
url
: WebSocket 流的 URL。options
: 播放器的选项,例如canvas
元素。
示例
const player = new JSMpeg.Player('ws://localhost:9999', {
canvas: document.getElementById('canvas')
});
4. 项目安装方式
4.1 通过 npm 安装
你可以通过 npm 来安装 node-rtsp-stream
:
npm install node-rtsp-stream
4.2 依赖项安装
确保你已经安装了 FFmpeg:
- Linux: 你可以通过包管理器安装 FFmpeg,例如
sudo apt-get install ffmpeg
。 - macOS: 你可以通过 Homebrew 安装 FFmpeg,例如
brew install ffmpeg
。 - Windows: 你可以从 FFmpeg 官网 下载并安装。
通过以上步骤,你应该能够成功安装并使用 node-rtsp-stream
项目来实现 RTSP 流的 WebSocket 转换和 HTML5 视频播放。