- Introduction to Video
- Stream video files
- Start live streaming
- Configure broadcast software
- Live streaming from your app
- Reduce live stream latency
- Manage Stream Keys
- Stream recordings of live streams
- Live streaming FAQs
- Stream live to 3rd party platforms
- Use a custom domain for live streaming
- Handle live stream disconnects
- Stream simulated live
- Debug live stream issues
- Add live captions
- Make API requests
- Play your videos
- Enable static MP4 renditions
- Download for offline editing
- Embed videos for social media
- Listen for webhooks
- Secure video playback
- Create clips from your videos
- Get images from a video
- Create timeline hover previews
- Adjust audio levels
- Add watermarks to your videos
- Add subtitles to your videos
- Minimize processing time
- Upload files directly
- Autoplay your videos
- Stream an audio-only version of your video
- Synchronize video playback
- Integrate with your CMS
Configure Broadcast Software
There are a number of popular (and even free) software encoders that you can use with the Mux live streaming API. Hardware encoders that allow for custom RTMP server configuration have similar settings. This guide details how to configure a few common encoders.
Overview / configuration term glossary
Most broadcasting software uses some standard set of terms. Mux has chosen a set of terms are very commonly used.
- Server URL - This is the URL of the Mux RTMP server, as listed in the table below.
- Stream Key - The Stream Key is essentially used to authenticate your live stream with the Mux RTMP server. This is your secret key to live streaming. Mux does not use additional authentication.
RTMP Server URL | Description | Common Applications |
---|---|---|
rtmp://global-live.mux.com:5222/app | Mux's standard RTMP entry point. Compatible with the majority of streaming applications and services | Open Source RTMP SDKs, most app-store streaming applications |
rtmps://global-live.mux.com:443/app | Mux's secure RTMPS entry point. Compatible with less streaming applications, but offers a higher level of security | OBS, Wirecast, Streamaxia RTMP SDKs |
Here is a list of other terms that we have heard:
- Stream Name - A common alias and the technically correct term (in the RTMP specification) for Stream Key.
- Location or URL - Many times, broadcast software that just asks for a location or a URL wants a combination of the Stream URL and the Stream Key like
rtmp://global-live.mux.com:5222/app/{STREAM_KEY}
. If location or URL are asked for with a stream name/key, then this is an alias for Server URL. - FMS URL - Flash Media Server URL, an alias for Server URL.
Seen or heard a term that you don't understand? Ask us! Think we missed something that you know? Suggest an edit!
Mux's RTMP server URL uses port number 5222 and not the standard RTMP port number 1935. If your encoder does not provide a method to change the port number, please contact help@mux.com with your encoder details.
Recommended encoder settings
Twitch has a clear and concise guide to encoder settings. YouTube has a bit more detailed guide as well. Here's a very simple recommendation of where to start, but we do recommend playing with your settings to see what works best for your content:
Common
- Video CODEC - H.264 (Main Profile)
- Audio CODEC - AAC
Great - 1080p 30fps
- Bitrate - 5000 kbps
- Keyframe Interval - 2 seconds
Good - 720p 30fps
- Bitrate - 3500 kbps
- Keyframe Interval - 2 seconds
Works - 480p 30fps
- Bitrate - 1000 kbps
- Keyframe Interval - 5 seconds
Important
You should also consider your available upload bandwidth when choosing an encoder bitrate. For a more reliable connection, we recommend using no more than ~50% of the available upload bandwidth for your live stream ingest.
Software encoders
Any encoder that supports RTMP should work with Mux Video.
Hardware encoders
Any encoder that supports RTMP should work with Mux Video.
Mobile devices (iOS, Android)
If you just want a pre-built iOS application you can stream from, check out our write up here.
If you want to build your own application, check out this documentation.