Nodejs 上的 Rtsp 流式传输 - 空白屏幕

问题描述 投票:0回答:1

我目前正在开发一个 Node.js 项目,需要使用 ffmpeg 实现流式传输。但是,我在流处理过程中遇到了问题,因为我看到的是空白屏幕,而不是预期的视频流。

这是我迄今为止在服务器端所做的简要概述:

安装了ffmpeg并确保它在环境中可以访问。 为流处理配置服务器端代码。 然而,尽管做出了这些努力,流仍无法正常工作,并且我无法在客户端看到视频流。

服务器端代码: 应用程序.js

const express = require('express');
const Stream = require('node-rtsp-stream');

const app = express();
const port = 4000;

// Start the RTSP stream
const stream = new Stream({
  name: 'rtsp_server_name',
  streamUrl: 'rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4',
  wsPort: 3000,
  ffmpegOptions: {
    '-stats': '', // an option with no necessary value uses a blank string
    '-r': 30, // options with required values specify the value after the key
  },
});

stream.on('data', data => {
  console.log(data);
});

app.get('/', (req, res) => {
  res.send('Hello World');
});

app.listen(port, () => {
  console.log(`Server running at http://localhost:${port}/`);
});

index.html

<html>
  <body>
    <canvas id="canvas"></canvas>
  </body>
  <h1>Test rtsp video</h1>
  <script type="text/javascript" src="js/jsmpeg.min.js"></script>
  <script type="text/javascript">
    player = new JSMpeg.Player('ws://localhost:3000', {
      canvas: document.getElementById('canvas'), // Canvas should be a canvas DOM element
    });
  </script>
</html>

打开index.html时没有控制台错误,但只看到空白黑屏

node.js ffmpeg video-streaming rtsp rtsp-client
1个回答
0
投票

不使用本地主机。使用您的 PC 的本地 IP。 打开CMD并输入

ifconfig
。 IP4你的机器ip。

<html>
  <body>
    <canvas id="canvas"></canvas>
  </body>
  <h1>Test rtsp video</h1>
  <script type="text/javascript" src="js/jsmpeg.min.js"></script>
  <script type="text/javascript">
    player = new JSMpeg.Player('ws://192.168.0.100:3000', {
      canvas: document.getElementById('canvas'), // Canvas should be a canvas DOM element
    });
  </script>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.