Sink pricing
Non-RTC video / audio outputs
Section titled “Non-RTC video / audio outputs”rtmp_push, srt_push, and segment are billed as:
encoding_cost + egress_costEncoding uses the H.264 baseline rates below (USD/min). Video tier uses the
same measured resolution × fps rules as sources;
audio keeps the flat audio encode rate. Audio and video lines are additive
when both tracks are encoded.
Video whose measured width and height are both at most 16 pixels has no video
encoding charge. Its successfully delivered bytes still incur egress charges.
| Tier | H.264 USD/min |
|---|---|
audio | $0.00045 |
video_sd | $0.002 |
video_hd | $0.004 |
video_fhd30 | $0.008 |
video_fhd60 | $0.012 |
video_uhd30 | $0.020 |
video_uhd60 | $0.030 |
Codec multipliers
Section titled “Codec multipliers”| Codec | × |
|---|---|
| H.264 / AVC / VP8 | 1.0 |
| VP9 | 1.5 |
| AV1 | 2.0 |
Example: 1080p30 AV1 → $0.008 × 2.0 = $0.016/min
Successful egress
Section titled “Successful egress”Every sink bills successfully delivered transport or storage bytes at $0.12/GB:
egress_cost = successful_egress_bytes / 1,000,000,000 × $0.12Failed writes and dropped or queued data are excluded. WebSocket counts
successful PCM writes; RTMP/SRT and mux sinks count successful packet writes;
segment/image count successful uploads. RTC sinks read cumulative
transport statistics. Daily integrates sendBitsPerSecond over each sampling
interval.
Multi-target transfer
Section titled “Multi-target transfer”Multiple URLs on one rtmp_push sink share one encoder. Encoding is billed once;
egress is already the sum of each destination’s successful writes. Billing does
not apply another output-count multiplier.
Separate sinks with equivalent inputs, filters, and encoding config may share one compiler-generated encoder. Their successful destination writes still contribute independently to egress.
WebSocket audio
Section titled “WebSocket audio”With raw PCM input, websocket does not incur the audio encoding-duration
rate. With an audio_encoder input, the encoded audio duration is billed once.
Both modes bill payload bytes successfully written to the external WebSocket:
egress_cost = successful_payload_bytes / 1,000,000,000 × $0.12The byte counter already aggregates every per-track connection, so
sinkOutputCount is not applied again. At 16 kHz mono pcm_s16le, one
continuous track sends about 1.92 MB/minute, or $0.0002304/minute.
RTC outputs
Section titled “RTC outputs”whip, livekit, jitsi, daily, and agora use the same video/audio tier
rates above and also bill successful WebRTC transport egress. Raw I420/PCM bytes
submitted to an RTC SDK are not treated as encoded payload or egress.
Per 1000 images (not per minute):
| Tier | Resolution | USD / 1000 |
|---|---|---|
image_sd | ≤480p | $0.10 |
image_hd | ≤720p | $0.20 |
image_fhd | ≤1080p | $0.40 |
image_uhd | ≤4K | $1.00 |
Example: 1080p JPEG every 10s for 1 hour → 360 images → 360 × $0.40 / 1000 = $0.144.