Resource icon

Stream to 2 destinations simultaneously with OBS [Without NGINX]

Edit: There's a better way to do this now via the Multiple Outputs Plugin.

Multiple RTMP outputs plugin (obsproject.com)

ORIGINAL POST CONTINUES
NGINX is a good option in case you want to stream to multiple destinations using OBS. However, in case NGINX is not an option for you, the below method may be relevant. For eg. you either want to stream different audios to different destinations, or different resolutions to different destinations such as a 1080p stream to Youtube and a 720p stream to Facebook.

This may be redundant soon, since Multi-destination streaming is said to be in the pipeline, though I have not seen a date for implementation yet.

Credit: Credit for this technique goes to pkv. He mentioned it to me in a post, and since I anyway had to make a guide like this for someone, I thought I'd post it here too since I see a lot of questions around this on the forums.

Note: In case you use this method, you will not be able to do a Recording. Also, usually, when we record, OBS allows you to use the Streaming Encoder and so the CPU does not have any additional load. But this method will use more CPU, as this will count as 2 encodings.

Set Up First Stream
This is as we normally do, under Settings-->Stream, and we add the stream url and key etc

Set Up Second Stream
We use the Record option, but instead of recording to a file, we will "record" to the rtmp url. Rtmp destinations require the video container to be flv, the video codec to generally be libx264 and audio codec to be aac. Follow the image for instructions to set these up. The text below the image just spells out the same thing.


2 Streams OBS.jpg


1. Go to Settings
2. Go to Output
3. Choose Advanced in Output Mode
4. Choose Recording Tab
5. Choose Custom Output (FFMPEG) under Type
6. Choose Output to URL under FFMPEG Output Type
7. Add the whole rtmp address, including the key as a single path as URL (eg. rtmp://a.rtmp.youtube.com/rtmp/abcd-1234-xyza-4321)
8. Choose flv for Container Format
9. Add video bitrate
10. Choose keyframe interval
11. Rescale Output if needed (for example to downscale to 720. If you do not Rescale, it will use the settings from the Video Tab)
12. Tick the checkbox "Show all codecs"
13. Choose libx264 as Video Codec
14. Set audio bitrate
15. Choose the Audio Track (If necessary. This should be first set in Advanced Audio Properties)
16. Choose aac as Audio Codec

To start streaming to destination 1, click Start Streaming. To start streaming to destination 2, click Start Recording.
Author
regstuff
Views
79,873
First release
Last update
Rating
5.00 star(s) 1 ratings
Top