Optimal RTMP Encoder Settings
RTMP publishing requires a Stream Key. To find your stream key, see How do I find my stream key?
Encoder Settings for Low-Latency RTMP Output to Phenix
RTMP Push Instructions
Base URL: rtmp://ingest.phenixrts.com:80/ingest/
Streamkey Structure: streamkey;capabilities=sd|hd|fhd,multi-bitrate
RTMP ingest in docs: https://phenixrts.com/docs/api/?http#rtmp-ingest
Set desired highest quality layer with very low definition (vld), low definition (ld), standard definition (sd), high definition (hd), or full high definition (fhd)
Include "multi-bitrate" capability to automatically transcode to multiple quality layers for ABR delivery
Include “streaming” capability to transcode real-time stream into adaptive HLS and DASH fallback streams if applicable
Full list of capabilities: https://phenixrts.com/docs/api/#supported-stream-capabilities
In OBS, the recommended settings will look like the following:
If you choose not to specify any capabilities, the following default capabilities will be used:
sd
If some capabilities are specified, but quality layer is not, the sd quality layer will be used.
Encoder Settings
Set bitrate output slightly higher than the Phenix target bitrate for your desired quality level from the supported quality capabilities
For example, when "sd" capability is set in streamkey, Phenix targets 830kbps, so the RTMP encoder should be set to output 1,500kbps. When "hd" capability is set in streamkey, Phenix targets 1,600kbps, so the RTMP encoder should be set to output 2,500kbps.
Frame rate → set to minimum of 30
Certain video encoding/decoding pipelines will buffer a certain number of frames
Buffer size → set to 0
Keyframe interval → set to every 1 second
For x264 encoding, CPU Usage Preset → set to veryfast
Profile → set to baseline
Selecting main can buffer more frames and lead to higher latency
Tune
OBS → set to zerolatency
Wirecast , set x264 command line options → -tune zerolatency
In OBS, these recommended settings will look like the following: