All Projects → johndavedecano → node-rtmp-hls

johndavedecano / node-rtmp-hls

Licence: MIT license
NodeJS live stream server with HLS ABR support

Programming Languages

javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to node-rtmp-hls

Srs
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT and GB28181.
Stars: ✭ 16,734 (+30325.45%)
Mutual labels:  hls, live, srt
ZLMediaKit
WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11
Stars: ✭ 7,790 (+14063.64%)
Mutual labels:  hls, live, srt
Shaka Player
JavaScript player library / DASH & HLS client / MSE-EME player
Stars: ✭ 5,386 (+9692.73%)
Mutual labels:  hls, live
Go Oryx
The go-oryx is SRS++, focus on real-time live streaming load-balancer.
Stars: ✭ 608 (+1005.45%)
Mutual labels:  hls, live
Android P2p Engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 70 (+27.27%)
Mutual labels:  hls, live
P2P-DPlayer
DPLayer powered by CDNBye P2P Engine
Stars: ✭ 63 (+14.55%)
Mutual labels:  hls, live
Tsduck
MPEG Transport Stream Toolkit
Stars: ✭ 381 (+592.73%)
Mutual labels:  hls, srt
Ios P2p Engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 31 (-43.64%)
Mutual labels:  hls, live
Hlsjs P2p Engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 759 (+1280%)
Mutual labels:  hls, live
Desktoplivestreaming
DesktopLiveStreaming
Stars: ✭ 138 (+150.91%)
Mutual labels:  hls, live
Shaka Player Embedded
Shaka Player in a C++ Framework
Stars: ✭ 153 (+178.18%)
Mutual labels:  hls, live
tms
tms(toy media server) is a toy media server for myself learning media develop. Just for fun.
Stars: ✭ 29 (-47.27%)
Mutual labels:  hls, srt
srt2hls
Simple audio HLS streaming server based on Liquidsoap
Stars: ✭ 66 (+20%)
Mutual labels:  hls, srt
Fastocloud
Self-hosted IPTV/NVR/CCTV/Video service (Community version)
Stars: ✭ 464 (+743.64%)
Mutual labels:  hls, srt
Abr Broadcaster
A real time encoder for Adaptive Bitrate Broadcast
Stars: ✭ 80 (+45.45%)
Mutual labels:  hls, live
Nginx Rtmp Monitoring
real-time monitoring statistics dashboard for nginx rtmp module
Stars: ✭ 224 (+307.27%)
Mutual labels:  hls, live
mock-hls-server
Fake a live/event HLS stream from a VOD one. Useful for testing. Supports looping.
Stars: ✭ 61 (+10.91%)
Mutual labels:  hls, live
flutter-p2p-engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 93 (+69.09%)
Mutual labels:  live
comfy-channel
A 24/7 live video broadcast with automatic content selection and overlays using FFMPEG and Python!
Stars: ✭ 37 (-32.73%)
Mutual labels:  live
muun
🐦 Live Twitter Dashboard
Stars: ✭ 43 (-21.82%)
Mutual labels:  live

NodeJS RTMP HLS Server

Based on node-media-server. A live streaming server that allow adaptive bitrate for HLS.

Making it work using docker-compose

docker-compse build
docker-compose up
docker-compose down

Making it work without using docker-compose

You have to make sure that you have ffmpeg installed on your machine

cp .env.example .env
yarn install
yarn start:dev # development
yarn start # production

Environment Variables

NODE_ENV=development

# Where to store the playlist files
MEDIA_ROOT=./media

# Where is ffmpeg executable located. Run which ffmpeg
FFMPEG_PATH=/usr/bin/ffmpeg

# URL to notify when a stream starts.
# Usually used for authentication.
PUBLISH_START_NOTIFY_URL=

# URL to notify when a stream stoppes
PUBLISH_STOP_NOTIFY_URL=

Installing FFMPEG on Centos

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
tar -xf ffmpeg-release-amd64-static.tar.xz
sudo mkdir -p /usr/local/bin/ffmpeg
sudo mv ./ffmpeg-4.2.2-amd64-static/* /usr/local/bin/ffmpeg
sudo ln -s /usr/local/bin/ffmpeg/ffmpeg /usr/bin/ffmpeg
sudo ln -s /usr/local/bin/ffmpeg/ffprobe /usr/bin/ffprobe
# Verify installation
which ffmpeg && ffmpeg -version

From OBS

Settings -> Stream
Stream Type : Custom Streaming Server
URL : rtmp://localhost:1935/live
Stream key : STREAM_NAME

Accessing the live stream

HLS - http://localhost:8000/live/STREAM_NAME/index.m3u8
FLV - http://localhost:8000/live/STREAM_NAME.flv
WSS - ws://localhost:8000/live/STREAM_NAME.flv
RTMP - ws://localhost:8000/live/STREAM_NAME

Cluster Mode

Ask me how

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].