All Projects → waleedahmad → Node Stream

waleedahmad / Node Stream

Licence: mit
RTMP server in Nodejs for live streaming.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Node Stream

Evilslive
This project is a SDK about video stream live
Stars: ✭ 420 (+31.25%)
Mutual labels:  ffmpeg, livestream, rtmp
Fanplayer
A portable video player based on ffmpeg for windows and android platform.
Stars: ✭ 229 (-28.44%)
Mutual labels:  ffmpeg, rtmp
Ffmpegandroid
android端基于FFmpeg实现音频剪切、拼接、转码、编解码;视频剪切、水印、截图、转码、编解码、转Gif动图;音视频合成与分离,配音;音视频解码、同步与播放;FFmpeg本地推流、H264与RTMP实时推流直播;FFmpeg滤镜:素描、色彩平衡、hue、lut、模糊、九宫格等;歌词解析与显示
Stars: ✭ 2,858 (+793.13%)
Mutual labels:  ffmpeg, rtmp
smart rtmpd
RTMP server, smart, compact, high performance(c, c++), high concurrency, easy to maintain, easy to deploy, (supports multiple operating systems Windows and Linux, ARM, FreeBSD)
Stars: ✭ 159 (-50.31%)
Mutual labels:  ffmpeg, rtmp
Monibuca
🧩 Monibuca is a Modularized, Extensible framework for building Streaming Server
Stars: ✭ 307 (-4.06%)
Mutual labels:  livestream, rtmp
Ffplayout Engine
python and ffmpeg based playout
Stars: ✭ 128 (-60%)
Mutual labels:  ffmpeg, rtmp
live-broadcast-bundle
Live broadcasting planner and scheduler
Stars: ✭ 38 (-88.12%)
Mutual labels:  ffmpeg, rtmp
Live Dl
Download live streams from YouTube
Stars: ✭ 82 (-74.37%)
Mutual labels:  ffmpeg, livestream
tms
tms(toy media server) is a toy media server for myself learning media develop. Just for fun.
Stars: ✭ 29 (-90.94%)
Mutual labels:  livestream, rtmp
cordova-plugin-tencent-liteav
A cordova plugin for video playing with Tencent's LiteAV SDK. Support RTMP/HLS/FLV/MP4.
Stars: ✭ 24 (-92.5%)
Mutual labels:  livestream, rtmp
Androidffmpeg
android 读取摄像头和麦克风,使用rtmp推流
Stars: ✭ 298 (-6.87%)
Mutual labels:  ffmpeg, rtmp
Awesome Live Stream
Webrtc && Nginx && DASH && Quic 学习资料收集,持续更新中
Stars: ✭ 290 (-9.37%)
Mutual labels:  ffmpeg, rtmp
Xl player
A high performance Android media player, base on ffmpeg and MediaCodec, support VR video.
Stars: ✭ 126 (-60.62%)
Mutual labels:  ffmpeg, rtmp
Rtmp Ts Dash Webrtc
👾 音视频解决方案 Audio and video solutions(AV1)
Stars: ✭ 129 (-59.69%)
Mutual labels:  ffmpeg, rtmp
Streaming Room
Streaming room in Node.js, rtmp, hsl, html5 videojs player
Stars: ✭ 106 (-66.87%)
Mutual labels:  ffmpeg, rtmp
LiveHiddenCamera
Live Hidden Camera is a library which record live video and audio from Android device without displaying a preview.
Stars: ✭ 69 (-78.44%)
Mutual labels:  livestream, rtmp
Dockerfiles
Optimized media, analytics and graphics software stack images. Use the dockerfile(s) in your project or as a recipe book for bare metal installation.
Stars: ✭ 98 (-69.37%)
Mutual labels:  ffmpeg, rtmp
Analysisavp
音视频学习,相关文件格式/协议分析。h264 nalu aac adts flv
Stars: ✭ 38 (-88.12%)
Mutual labels:  ffmpeg, rtmp
Rtp Streamer
rtp record and rtp streamer
Stars: ✭ 60 (-81.25%)
Mutual labels:  ffmpeg, rtmp
InstaLV
Live stream from desktop to Instagram
Stars: ✭ 27 (-91.56%)
Mutual labels:  livestream, rtmp

NodeStream

See complete tutorial here.

Install ffmpeg for RTMP to HLS transcoding

# On Ubuntu 18.04

$ sudo add-apt-repository ppa:jonathonf/ffmpeg-4
$ sudo apt install ffmpeg

# check version
$ ffmpeg --version

# You can download Windows builds from ffmpeg site.

Prerequisites

Make sure you have MongoDB installed on your system. We use Mongoose for accessing database. Check MongoDB docs on how to install MongoDB on your operating system.

Linux

Windows

Mac

Configuration

Change ffmpeg path in node media server configuration to your own installed path.

Also change secret string. It will be used for session encryption.

cd nodeStream && nano /server/config/default.js

const config = {
    server: {
        secret: 'kjVkuti2xAyF3JGCzSZTk0YWM5JhI9mgQW4rytXc',
        port : 3333
    },
    rtmp_server: {
        rtmp: {
            port: 1935,
            chunk_size: 60000,
            gop_cache: true,
            ping: 60,
            ping_timeout: 30
        },
        http: {
            port: 8888,
            mediaroot: './server/media',
            allow_origin: '*'
        },
        trans: {
            ffmpeg: '/usr/bin/ffmpeg',
            tasks: [
                {
                    app: 'live',
                    hls: true,
                    hlsFlags: '[hls_time=2:hls_list_size=3:hls_flags=delete_segments]',
                    dash: true,
                    dashFlags: '[f=dash:window_size=3:extra_window_size=5]'
                }
            ]
        }
    }
};

Install dependencies, build code and run server

$ npm install

# run webpack and watch for changes
$ npm run watch 

# run node server with supervisor and watch for changes
$ npm run start

Streaming with OBS

Go to Settings > Stream. Select Custom service and rtmp://127.0.0.1:1935/live in server input. Enter your streaming key issued by NodeStream and click Apply. Click start streaming to broadcast your stream.

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].