The Streaming Quality window allows you to customise your streaming quality settings to suit your production.


Video Bit Rates


Set the video encoding bit rate in kbps. 


Encode Size


Set the resolution of the stream here. These sizes should match the aspect ratio you are using in vMix. For example 640x360 for Widescreen and 640x480 for Normal (4:3)


Audio Bit Rate


Set the audio encoding bit rate in kbps. A minimum of 96 is supported for MP4 and a minimum of 64 is supported for AAC.

128 provides good near CD quality audio for both MP3 and AAC.


Video


Source


Select from Output 1 to 4 as the source for the stream in vMix 4K, Pro and Max editions.
In all other editions Output 1 will be used and this dropdown will not appear here.
To configure what is sent to Output 2 to 4, refer to the Settings - Outputs section.


Format


Select the video compression to use for the stream.
H264 - The default and supported by all streaming providers and computers.
AV1 - Royalty free compression standard offering better quality at lower bitrates than H264, supported only be a few streaming providers, check the streaming provider if unsure.
HEVC - More efficient compression offering better quality at lower bitrates than H264, supported only by a few streaming providers.


Note: Both AV1 and HEVC require hardware encoding by a supported GPU in order to work correctly (such as NVIDIA GeForce). Check the documentation for the GPU installed on the system to see which formats are supported for encoding.


Profile


Select the H264 encoding profile to use. Baseline is lower quality, but uses less CPU. Main is higher quality at the expense of higher CPU usage.


Level


This is an advanced setting for users wishing to specify a particular encoding level to match the capabilities of an end point decoder.


Preset


This is an advanced setting for users who wish to fine tune the FFMPEG encoder (x264)

veryfast is the recommended setting which provides the best balance of CPU usage and quality.


When Use Hardware Encoder is enabled, and an NVIDIA card supporting NVENC is installed, this dropdown will show Low Latency HQ, and P1 to P7 presets.
Advanced users can fine tune the quality/performance of the NVENC encoder with P7 providing the best quality while P1 provides the best performance.
Low Latency HQ is the default and provides the best balance of NVENC performance vs quality.
(Selecting a higher quality option may reduce the number of simultaneous streams the NVENC can encode, depending on the card model)


Aspect Ratio / Crop


The stream can be cropped to a custom aspect ratio such as Square (1:1) and Vertical (9:16) to suite specialised streaming workflows.
The video is cropped to fit this aspect ratio by cutting the sides off the image. 
To easily see the viewable area of the image from within the vMix production use Safe Areas to enable the Square or Vertical lines.


Keyframe Frequency


Select the number of seconds between each keyframe in the video stream. Higher numbers generally result in better video quality. 2 seconds is recommended

by some streaming providers and is the default here.


Stream Delay


Specify a minimum delay in seconds between when the video is seen in vMix vs when it is first sent to the steaming provider.


Note that due to streaming provider limitations, vMix cannot start connecting to the streaming provider until the delay is reached.
For example, if you specify 1 or more seconds here and click Start on the stream, vMix will immediately begin encoding the stream
according to the parameters chosen, and start saving this stream to memory. 

vMix will display a countdown in seconds on the Stream button to indicate how long until the delay is reached.


Once the delay has been reached, it will then connect to the streaming provider and start streaming from memory ensuring that at all times the minimum specified delay is met.


If a stream is stopped, it will immediately disconnect from the streaming provider, vMix will not wait until the delay buffer is emptied and that portion of the stream will be lost.


Note that the stream delay here is only the minimum delay, the overall delay is usually much longer and determined by the streaming provider's own internal requirements and viewer connections/browsers etc.


Memory Requirements

Stream Delay will first encode the stream according to the quality parameters and then save temporarily to system memory.
For an 8mbps stream, this means it requires 1 megabyte per second of memory, therefore only a very small amount of memory is needed, even for large delays.


Threads


Specify the number of threads to use when encoding video and audio with FFMPEG as the Application.

4 is the default and is recommended. For 4K streaming, extra threads may provide better performance.


Network Buffer


This is the maximum number of seconds vMix can keep buffered at any time and reflects the maximum streaming latency
from vMix. (Note that streaming servers and players add their own buffers on to this time)


Increase the Network Buffer if the maximum network speed available is unreliable.


Strict CBR


When this is enabled, the encoder will try to keep the streaming speed as close to the selected bit rates as possible.
Note that this option may reduce the quality of the stream.


NAL CBR


When this is enabled, the encoder will insert empty data if the bitrate drops below the set amount.
This mode is known as "NAL-HRD CBR" mode in some encoders.


Combining this option with Strict CBR will result in a stream that very closely matches the bitrate at all times, at the expense of quality.

Note: This is not necessary or optimal for RTMP streaming and is usually only helpful for diagnosing network issues.
It may also cause issues with MP4 recordings of streams, if the streaming provider does not support this option.



Keyframe Aligned


When sending multiple bitrates, select this option to ensure all streams are aligned on the same keyframe.
This can improve seamless switching support at the expense of slightly lower quality.


Auto Adjust


When using FMLE as the encoder, the quality of the stream can be dynamically adjusted to suit the conditions of the internet connection.


Audio


Select the Audio encoding format to use with the stream. 
MP3 is supported when using FMLE (Flash Media Live Encoder) as the encoder, while AAC is the only option when using FFMPEG.

If you would like to use FMLE with AAC, an additional plugin needs to be purchased from MainConcept.


Audio Channels


See Output Audio Channels