vMix is a video recording and live streaming software, that you can connect to a SpotMe stream, via RTMPS, in order to produce and broadcast a live stream with speakers.
Check these requirements before you begin
Before you start streaming from vMix to SpotMe, please make sure that you follow these important requirements:
- Backstage users and SpotMe Studio live streaming requirements
- Required encoder settings for streaming via SpotMe via RTMPS
Please also make sure that you follow the vMix settings as described below, and read the Strong recommendations when using vMix section.
You'll also find specific instructions on how to check that your vMix to SpotMe live stream has the correct/optimal configuration.
How to live stream to SpotMe from vMix
- Start by opening vMix, and producing your live stream content based on what you want to broadcast. More specific information on how to use vMix is available in their user documentation.
- Make sure that the video format or the streaming preset is set to HD 1080 29.27p (1920x1080, 29.97 fps):
- In your workspace on Backstage, open or create a hybrid or virtual live session, and open the live session room to generate the stream credentials in the SpotMe workspace live stream:
- In vMix, go to the Streaming settings for the Profile:
- Select the Destination as: Custom RTMP server
- In the URL, enter the RTMP endpoint copied from Backstage.
- In the Stream Name or Key, enter the Stream key copied from Backstage.
- For the Quality, select H264 1080p 4.5mbps AAC 128kbps
Note: Minimum bitrate is 4.5 Mbps but it is recommended to increase it up to 6 Mbps, providing your uplink bandwidth is sufficient.
- For the Application, select the highest version of FFMPEG that is available in the list.
- Make sure that the Use Hardware Encoder checkbox is selected. - Click on the Quality cogwheel to access the streaming quality settings, and make sure that the below settings are applied:
Video Bit Rates: 6000
Encoder Size: 1920 x 1080
Audio Bit Rate: 128
Video
Source: Select your output
Profile: Baseline / High
Level: 3.1 / 4.2
Preset: veryfast
Aspect Ratio / Crop: Original
Audio
Format: AAC
Channels: Master
Settings shared across all streams
Keyframe frequency: 2 seconds
Stream delay: 0 seconds
Threads: 4
Network buffer: 20 seconds
Strict CBR: Checkbox selected
NAL CBR: Checkbox not selected
Keyframe aligned: Checkbox selected (recommended but not mandatory). - Once you are ready to start streaming to the SpotMe platform, click on the Stream button in vMix. Next, go to the stream in Studio in Backstage where you will see the preview of the live stream coming in from vMix. It may take up to 30 seconds for the preview to appear.
- When you are ready, click on Go live in Studio to start broadcasting the stream to your audience. From here you can use SpotMe Studio to manage your live stream as well as the interactivity options. At this point, what your audience sees is exactly what is being broadcasted from vMix.
- To end the live stream, click on End stream in SpotMe Studio and then stop streaming in vMix. The on-demand version of the stream is created automatically, and you can choose when to publish it by clicking Publish.
Strong recommendations when streaming from SpotMe to vMix
- Align the source (cameras, mixers) to the exact same resolution of vMix (1080p)
vMix can consume a lot of resources depending on the hardware specifications of the computer it is used on. This is why we recommend to align the source (cameras, mixers) to the exact same resolution of vMix, in order to minimize the impacts of upscaling/downscaling. Ideally, this should be set at 1080p as this is the highest quality supported by the SpotMe cloud encoding process.
If 1080p is not available at the source and for example only 720p is available, in that case, it is recommended to align vMix at 720p to avoid upscaling. SpotMe cloud encoding pipeline will take care of this and therefore will not require any additional resources at the source. - Set the source camera and the vMix configuration to 29.97 FPS
It is strongly recommended to set the source camera and the vMix configuration to 29.97 FPS. This will avoid upsampling to a higher bitrate or downsampling to a lower bitrate, which can require additional compute resources on the machine running vMix.
SpotMe cloud encoding supports only 29.97 FPS at the entry, so aligning on this value will also ensure the SpotMe cloud does not upsample or downsample, and therefore avoid the addition of any video artefacts. - When changing settings in vMIX, it is important to restart the SpotMe RTMPS stream/encoding process.
- We strongly advise to test your setup prior to using it on a live event, both from an outputted video and audio quality perspective.
- vMix can be demanding in compute resources, please test and ensure the resources are sufficient.
- It can be tempting to set up vMix to stream to multiple RTMPS endpoints for backup purposes for example, however it is very important to check and test that the hardware running vMIx has sufficient resources available, and additionally that the internet uplink bandwidth is sufficient.
How to check that your vMix to SpotMe live stream has the correct/optimal configuration
Check the live session in Backstage
- Open your live session with the connected RTMPS stream from vMix, and check that you are receiving 30 FPS.
- Check that you are receiving audio in the live stream preview.
- Visually assess the video quality.
- Play the stream for a while and check that there are no rebufferings.
Check the vMix log
Access the vMix log. The file is usually located at C:\ProgramData\vMix\streaming.
In this file, using the example below you can identify the following information (items 1 to 7 listed below) to ensure that the stream that is sent to SpotMe is correctly configured:
- Check here that you are using the latest FFMPEG version that is available. This can be selected in the vMix streaming settings. For example, if the log shows "ffmpeg.exe" or "ffmpeg2.exe", then it is likely that you are not using the latest available version available.
- This is the vMix output value. The ideal value should be 1920 x 1080.
Please make sure that the output (2) matches the input value (5), to avoid upscaling and interpolation. If the output resolution is not correct, then it has to be changed in the vMix configuration settings. - This is the -g:v parameter. This value should be 60 (= fps at 29.97 x keyframe at 2 seconds).
If this value is incorrect, then it is the FPS or the keyframe interval that is not set correctly in the vMix configuration. This can be changed in the vMix configuration settings. - This is the -b:v parameter.
The recommended value for streaming at full HD is 5000 kbps (between 4000 kbps and 6000 kbps). The recommended value for streaming at SD is 3000 kbps (between 2000 kbps and 4000 kbps). This value can be adjusted in the vMix configuration settings. You can use this value as an indicator for checking the encoder process. See (7) below. - This is the input value, that is set on the camera. The ideal value should be 1920 x 1080, however some cameras may not be able to provide 1080p. If this is the case, the settings have to be changed in the vMix configuration in order to match the camera output.
Please make sure that the (camera) input value (5) matches the (vMix) output value (2), to avoid upscaling and interpolation. - This is the input FPS value. Must be 29.97 to avoid up/downsampling which may introduce artifacts. This can be adjusted if needed in the vMix preset.
- Check around the 10th row of the encoding process.
- Make sure that the bitrate (in the above log it is 4922.6 kbps) approximately matches the -b:v parameter value (see 5 above) with up to more or less 1000 kbps difference.
- Make sure that the process speed remains between 0.8 and 1.2x. If this is not the case, this may mean that the machine that is running vMix is struggling in terms of resources, and that you should verify the CPU usage (allocating more resources or upgrade hardware if needed).
Comments
0 comments
Please sign in to leave a comment.