hamza1331 / livevideoserver

Live Video broadcasting server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

live-tream-rmtp-server

Live stream using RTMP for React Native App Live Stream

Client : https://github.com/sieuhuflit/react-native-live-stream-rtmp-example

Demo

Streamer Viewer

Teachnology using

Using node-media-server. Client using Node media client

Install

npm install

You must install ffmpeg to using

brew install ffmpeg

Config port and Database

  • Edit in config/sit.json file
{
  "API": {
    "PORT": 3333,
    "NAME": "localhost"
  },
  "DB_STRING": "mongodb://127.0.0.1:27017/livestream?authSource=admin"
}
mongo
use admin
db.createUser({user:"admin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

Edit MongoDB Authentication

  • Edit in config/sit.json file and edit the YOUR_PASSWORD field
...
mongoose.connect(
  config.get('DB_STRING'),
  { useNewUrlParser: true, user: 'admin', pass: 'YOUR_PASSWORD' },
  ...
);
...

Running project

  • Open terminal and type
pm2 start pm2.config.js --env sit

Custom way to get mp4 file path

Add these line to node_modules/node_media_server/node_trans_session.js

Import this on top

const context = require('./node_core_ctx');

Then add

context.nodeEvent.emit(
  'getFilePath',
  this.conf.streamPath,
  ouPath,
  mp4FileName
);

Under this line

Logger.log(
  "[Transmuxing MP4] " +
    this.conf.streamPath +
    " to " +
    ouPath +
    "/" +
    mp4FileName
);

About

Live Video broadcasting server


Languages

Language:JavaScript 99.9%Language:Shell 0.1%