Low Latency Encoding: Tips to Stream With OBS, Vmix and Wirecast

How to send nanoStream Cloud streams with OBS, Wirecast, vMix

In this article and ultra-low latency guide, you will learn how to use your PC or Mac to send a ultra-low latency live stream to nanoStream Cloud with popular streaming software like OBS, Wirecast and vMix.

For a complete web-based broadcasting solution, check out our nanoStream Cloud Webcaster: Demo Overview & Webcaster Documentation

Note: nanoStream Cloud also works with other software and hardware encoders like JVC camera, Videon, and Teradek. And don’t forget we have great tutorials on our video page and articles around encoding containing excellent tips and recos! 

OBS Studio

Automatic Configuration

OBS Settings - Stream

1) Navigate to Settings-> Stream-> Service

OBS Settings - Stream and Selection of Service

2) Select Other-> nanoStream Cloud

OBS Settings - Stream and Strem Key

3) Enter your stream name in the stream key field
i.e. ABCDE-XYZ12

Manual configuration

1) Select Settings-> Stream-> Service-> Custom

2) Enter your RTMP Ingest URL as the Server

OBS Settings - Stream and Stream Key Field

3) Enter your stream name in the stream key field.
e.g ABCDE-XYZ12

Video configuration

1) Select Output, and enter the following:

OBS Settings - Output
OBS Settings - Video

Output Mode: Advanced
Encoder: x264
Rate Control: CBR
Bitrate: 500-4000 kBits/s
Tune: ZeroLatency
CPU Usage: veryfas # optional
Profile: Baseline # optional
x264 Options: B-Pyramid=0 # optinal

Live stream quality

Video quality is primarily decided by,

  • Video resolution and bitrate of the encoder configuration
  • CPU and system performance of your camera and PC / Laptop
  • Network capacity

All factors have an impact on quality. If you try to turn bitrate and resolution very high, but your system
and the whole network does not support it, you will get bad results.

Wirecast

Configuration

1) Open Output Settings
2) Select Destination: RTMP Server
3) Enter RTMP Ingest URL into Address field.
4) Enter Stream Name into stream field.
5) Select Encoding

Wirecast - Output Settings

6) Select a profile preferable x264 i.e. 720p30 1.25 Mbps (x264 H264)

NOTE: for `x264` based profiles there is a Wirecast bug, you need to disable `b-frames`, see below

Wirecast x264 workaround

a) Select **Encoding profile:** Baseline

Wirecast - Encoder Presets

b) Select **Encoding profile:** Main – Add the option –bframes 0 wirecast enocding profile

NOTE: To achieve ultra low latency streaming, set the options below:
–bframes 0 –force-cfr –no-mbtree –sync-lookahead 0 –sliced-threads –rc-lookahead 0

vMix

Configuration

1) Open Configure Streaming Settings
2) Select Destination / Custom RTMP Server
3) Enter RTMP Ingest URL into URL field.
4) Enter Stream Name into the Stream Name or Key field.
5) Select a Quality profile, i.e. h264 720p 800kbps AAC 96kbps

vMix - Streaming Settings

6) Select FFMPEG2 for Application vmix streaming settings

vMix - Streaming Quality

vmix streaming quality settings

vMix low latency

  • Profile: Baseline
  • Preset: veryfast
  • Network Buffer: 5

vMix ultra-low latency

Preset: veryfast -tune zerolatency

WARNING: This is a hack for sending tuning parameters to x264 and may not work if vMix does some changes in an update.

General recommendations

  • Start with the lowest acceptable quality, like medium resolution and bitrate, like 640×480 1000 kBits/s or 1280×720 2000 kBits/s.
  • Test the whole setup end-to-end, including playback on several devices.
Free Trial Banner
Not using nanoStream Cloud yet? Try for free today!