是否可以将自定义端点添加到NodeMediaServer的HTTP服务器?

1aaf6o9v  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(108)

我有一个NodeMediaServer来直播和保存视频。我想将自定义端点添加到NodeMediaServer的HTTP服务器。这是可能的,还是我必须在它旁边运行一个快速服务器?我知道这是可能的访问一个单一的文件,但我还没有找到一种方法来获得所有的文件,这是我想要完成的。

const NodeMediaServer = require('node-media-server');
const { spawn } = require('child_process');
const path = require('path');
const fs = require('fs');

const express = require('express');

const app = express();

app.get('/vods', (req, res) => {
  res.send('Hello, this is a custom endpoint!');
});

const config = {
  logType: 3,
  http_api: 1,

  rtmp: {
    port: 1935,
    chunk_size: 60000,
    gop_cache: true,
    ping: 30,
    ping_timeout: 60
  },
  http: {
    port: 8000,
    allow_origin: '*',
    mediaroot: 'vods'
  }
};

var nms = new NodeMediaServer(config, app)

nms.run();
72qzrwbm

72qzrwbm1#

要使用当前实现在node-media-server中添加路由,可以执行以下操作

const app = express();

app.get('/vods', (req, res) => {
  res.send('Hello, this is a custom endpoint!');
});

app.get('/custom', (req, res) => {
  res.send('This is another custom endpoint!');
});

...rest of your code

要获取所有媒体,您可以执行以下操作:

app.get('/all-vods', (req, res) => {
  const mediaPath = path.join(__dirname, 'vods'); // Path to the media directory
  fs.readdir(mediaPath, (err, files) => {
    if (err) {
      console.error(err);
      return res.status(500).send('Internal Server Error');
    }
    res.json(files); // Send the list of media files as JSON response
  });
});

相关问题