IVS Stream Ingest | Real-Time Streaming
As an alternative to using the IVS broadcast SDK, you can publish video to an IVS stage from a WHIP or RTMP source. This approach offers flexibility for workflows where using the SDK is not feasible or preferred, such as when publishing video from OBS Studio or a hardware encoder. Whenever possible, we recommend using the IVS broadcast SDK, as we cannot guarantee the performance or compatibility of third-party solutions with IVS.
This diagram illustrates how publishing with WHIP and RTMP works:
Supported Protocols
IVS real-time streaming supports several ingest protocols:
-
RTMP (Real-Time Messaging Protocol) — An industry standard for transmitting video over a network.
-
RTMPS — The secure version of RTMP that operates over TLS.
-
WHIP (WebRTC-HTTP Ingestion Protocol) — An IETF draft developed to standardize WebRTC ingestion.
RTMP generally has higher latency than WHIP, making it ideal for one-to-many live streams. For detailed guidance on using these protocols, see our RTMP and WHIP documentation.
Supported Media Specifications
-
Audio input format
-
Codec: AAC-LC for RTMP and Opus for WHIP
-
Channels: 2 (Stereo) or 1 (Mono)
-
Sample rate: 44.1 kHz or 48 kHz
-
Maximum bitrate: 160 Kbps
-
-
Video input format
-
Codec: H.264
-
H.264 profile: Baseline
-
IDR interval: 1 or 2 seconds
-
Frame rate: 10 to 60 FPS
-
B-frames: 0
Note: The IVS broadcast SDK has B-frames enabled by default when using RTMP. Therefore, developers must disable B-frames: on iOS, use the
usesBFrames
method; on Android,setUseBFrames
. If developers do not disable B-Frames, their streams will be disconnected. -
Resolution: Maximum: 720p. Minimum: 160p
-
Maximum bitrate: 8.5 Mbps
-
Encoder configuration: We recommend using
veryfast
andzerolatency
settings for an H.264 encoder. Also: thesliced_threads
x264 option is included in thezerolatency
presets, and we recommend that you disable it. For example, when using FFmpeg, your command should include:-preset:v veryfast -tune zerolatency -x264-params sliced-threads=0
-