All Projects → HorusGoul → rtmp-social-multicast

HorusGoul / rtmp-social-multicast

Licence: MIT license
Want to stream to Twitch, YouTube, Facebook, and/or Periscope at the same time? That's what this project allows you to do!

Programming Languages

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

Projects that are alternatives of or similar to rtmp-social-multicast

Docker Multistreamer
Dockerized multistreamer
Stars: ✭ 90 (+114.29%)
Mutual labels:  twitch, rtmp, rtmp-server
Multistreamer
[discontinued] A webapp for publishing video to multiple streaming services at once.
Stars: ✭ 281 (+569.05%)
Mutual labels:  twitch, stream, rtmp
Docker Nginx Rtmp
🐋 A Dockerfile for nginx-rtmp-module + FFmpeg from source with basic settings for streaming HLS. Built on Alpine Linux.
Stars: ✭ 608 (+1347.62%)
Mutual labels:  twitch, rtmp
Awesome Developer Streams
👩🏿‍💻👨🏾‍💻👩🏼‍💻👨🏽‍💻👩🏻‍💻 Awesome Developers, Streaming
Stars: ✭ 6,860 (+16233.33%)
Mutual labels:  twitch, periscope
Twitchrecover
Twitch VOD tool which recovers all VODs including those that are sub only or deleted.
Stars: ✭ 123 (+192.86%)
Mutual labels:  twitch, stream
twitchpipe
Pipe your favorite Twitch streams to the media player of your choice, or a file to save them for later. Supports low-latency playback.
Stars: ✭ 28 (-33.33%)
Mutual labels:  twitch, stream
Orion
Cross platform Twitch.tv client
Stars: ✭ 298 (+609.52%)
Mutual labels:  twitch, stream
Twitchpotplayer
Extensions for PotPlayer to watch Twitch streams without streamlinks or any crap.
Stars: ✭ 112 (+166.67%)
Mutual labels:  twitch, stream
Multi Streaming Server
A NGINX server with RTMP module to send video streaming to multiple services simultaneously (Youtube, Twitch, Dailymotion, Hitbox, Beam, etc...).
Stars: ✭ 132 (+214.29%)
Mutual labels:  stream, rtmp
Twitch Js
A community-centric, community-supported version of tmi.js
Stars: ✭ 225 (+435.71%)
Mutual labels:  twitch, stream
Transport Eta
Twitch streamed 🎥playground repo, README speaks to you.
Stars: ✭ 223 (+430.95%)
Mutual labels:  twitch, stream
rtmp-lib
golang rtmp lib
Stars: ✭ 46 (+9.52%)
Mutual labels:  rtmp, rtmp-server
live-broadcast-bundle
Live broadcasting planner and scheduler
Stars: ✭ 38 (-9.52%)
Mutual labels:  twitch, rtmp
StreamLinkerino
Twitch.tv client using only StreamLink, MPV, and Chatterino
Stars: ✭ 26 (-38.1%)
Mutual labels:  twitch, stream
TwitchPotPlayer
Extensions for PotPlayer to watch Twitch streams without streamlinks or any crap.
Stars: ✭ 159 (+278.57%)
Mutual labels:  twitch, stream
TwitchTest
Bandwidth tester for Twitch
Stars: ✭ 111 (+164.29%)
Mutual labels:  twitch, rtmp
Nginx Rtmp Docker
Docker image with Nginx using the nginx-rtmp-module module for live multimedia (video) streaming.
Stars: ✭ 506 (+1104.76%)
Mutual labels:  stream, rtmp
Rtmp Rtsp Stream Client Java
Library to stream in rtmp and rtsp for Android. All code in Java
Stars: ✭ 1,338 (+3085.71%)
Mutual labels:  stream, rtmp
Streamwall
Display a mosaic of livestreams. Built for streaming.
Stars: ✭ 160 (+280.95%)
Mutual labels:  twitch, stream
srs-docker
Docker image for SRS.
Stars: ✭ 14 (-66.67%)
Mutual labels:  rtmp, rtmp-server

RTMP Social Multicast Server

Want to stream to Twitch, Youtube, or Periscope at the same time? That's what this project allows you!

Prerequisites

  • Git
  • Docker
  • Docker Compose

Getting Started

This guide will go through configuration and how to use it with OBS. Make sure to have all the prerequisites installed on your machine.

  1. Clone the repo
$ git clone https://github.com/HorusGoul/rtmp-social-multicast
  1. Open the repo
$ cd rtmp-social-multicast
  1. Create a .env file based on the .env.template file.
$ cp .env.template .env
  1. Open and fill the .env file and fill it with the configuration for the platforms you want to stream.

⚠️  Make sure to use a strong RTMP_SECRET if you plan to expose the server to the internet.

⚠️  Avoid changing the RTMP_AUTH_SERVER variable unless you know what you're doing.

  1. Now let's launch everything with Docker Compose
$ docker-compose up
  1. Time to stream! We'll use OBS in this guide, but other streaming software should support this configuration.

Obs Stream Configuration

In the Stream configuration for OBS, select the Custom... service, then write rtmp://localhost/live into the Server field.

The Stream Key field corresponds with the RTMP_SECRET you defined in the .env file, so make sure it's the same, or you won't be able to start your streaming session.

All set! Let's go live 🔴

If YouTube isn't receiving data from us, that means something went wrong in the process. Recheck everything or open an issue if you can't get it to work following these steps.


Configuring YouTube

Here is stated how you can get the parameters to fill the YouTube section of your .env file.

Go to https://youtube.com/livestreaming, and there you'll find this:

Secret Key and Stream URL

Stream Key corresponds with RTMP_YOUTUBE_KEY. Stream URL corresponds with RTMP_YOUTUBE_SERVER. Make sure to add a slash (/) at the end of the URL if it doesn't have one.

⚠️  Remember setting the RTMP_YOUTUBE_ENABLED to true


Configuring Twitch

Here is stated how you can get the parameters to fill the Twitch section of your .env file.

Go to your Twitch Dashboard following this link: https://dashboard.twitch.tv/settings/stream. There you'll find your Primary Stream Key. We should place it in the RTMP_TWITCH_KEY variable.

Primary Stream Key in the Twitch Dashboard

Now you need to get the closest server to your location, for that, Twitch provides this website https://stream.twitch.tv/ingests/.

Website photo

Once you pick the best server for you, copy the rtmp://live-mad.twitch.tv/app/ part of the URI, that's the value we'll use for the RTMP_TWITCH_SERVER. Don't copy the {stream_key} part, or it won't work.

⚠️  Remember setting the RTMP_TWITCH_ENABLED to true


Configuring Periscope

Here is stated how you can get the parameters to fill the Periscope section of your .env file.

Go to the Periscope Producer Page following this link: https://www.periscope.tv/account/producer. There you'll find your Stream Key. We should place it in the RTMP_PERISCOPE_KEY variable.

We can also find the Server URL that we should place in the RTMP_PERISCOPE_SERVER variable. Make sure to add a slash (/) at the end of the URL if it doesn't have one.

Secret Key and Stream URL

⚠️  Remember setting the RTMP_PERISCOPE_ENABLED to true


Configuring Facebook

Here is stated how you can get the parameters to fill the Facebook section of your .env file.

Go to the Facebook Live Producer page following this link: https://www.facebook.com/live/producer/. Select proper space you will post your live (your timeline or facebook page). In the main section you will find your Stream Key. We should place it in the RTMP_FACEBOOK_KEY variable.

We can also find the Server URL, but Facebook at this point uses only one URL: live-api-s.facebook.com:443. It is set for SSL tunneling in the stunnel4 config, so there's no need to adjust this.

⚠️  Remember setting the RTMP_FACEBOOK_ENABLED to true


Support me

Feel free to buy me a coffee if you enjoy my content 😄

Buy Me A Coffee

Contributors

Thanks goes to these wonderful people (emoji key):


Horus Lugo

💻 🤔 📖 🚧 👀 🖋

Janusz Kamieński

💻 📖

This project follows the all-contributors specification. Contributions of any kind welcome!

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