Skip to content
P
Personal workspaceYour services, together
WorkspaceDocumentation
← Pipe Live

LIVE INGEST + PACKAGING

Bring your encoder. Keep control of the bill.

Launch scope: qualified-node ingest, optional FFmpeg VM transcoding and a signed live origin. This is not a full broadcast encoder suite, DRM system or seamless global failover service.

1. Create a stream

Sign in, select a processing profile, available region and DVR policy, choose a linked payer, and explicitly accept the displayed rates and lifetime spend limit. Private is the default. Public playback is sponsored by that same payer. The service must have configured rates and a healthy, qualified media node before creation is enabled.

Save the one-time credentials. A repeated creation request is idempotent but does not reveal the old keys. Rotate keys from the stream page if they are lost.

2. Publish from OBS or FFmpeg

In OBS, choose Custom service. Copy the provided OBS server and stream key into their separate fields. Use H.264 video, AAC audio and a 2-second keyframe interval. Prefer RTMPS; plain RTMP is not encrypted. SRT requires both the authenticated stream ID and encryption passphrase from the generated URL.

For FFmpeg, encode with -c:v libx264 -c:a aac. At 30 fps, use -g 60 -keyint_min 60 -sc_threshold 0. Output -f flv to the full RTMPS URL, or -f mpegts to the encrypted SRT URL. Keep private URLs out of shared shell history and diagnostic logs.

Passthrough preserves one H.264 video track and optional AAC audio. The optional h264_abr_1080p profile uses FFmpeg in a qualified VM to produce 1080p, 720p, 480p and 360p at 30 fps. Only renditions that fit the source are produced; there is no upscaling. Audio is encoded once to 128 kbps AAC and shared across renditions.

CPU ABR accepts progressive 8-bit 4:2:0 SDR H.264, square pixels, landscape 16:9, 640×360 through 1920×1080, at most 60 input fps. Unsupported sources are stopped. This is a fixed CPU profile, not GPU acceleration or arbitrary FFmpeg command execution. One active input is admitted per qualified transcoding VM.

Publish from a browser or WHIP encoder

WHIP is available only when your assigned input advertises a WHIP endpoint and the stream uses the H.264 ABR profile. In Inputs, enter your saved publishing key, accept the stream’s displayed charges, and choose Start browser broadcast. Camera access is requested only then. The dashboard sends 720p H.264 with optional Opus microphone audio; FFmpeg produces non-upscaled H.264/AAC renditions for playback.

You can switch to Health or Playback while publishing. The local camera preview alone does not prove delivery. Stop broadcast, leaving the stream page, pausing the stream, or rotating its keys stops this publisher. Keys are held in memory, not browser storage. Final measured usage determines released credit.

For an external WHIP encoder, use the endpoint with the publishing key in its bearer-token field or an Authorization: Bearer header. Never append the key to the URL. HTTPS handles signaling and encrypted WebRTC media uses UDP. No TURN relay or ICE restart is offered in this release; restricted networks may need RTMPS. Authenticated trickle ICE uses the returned session URL and ETag. WHEP playback is not exposed.

3. Start playback

The stream becomes ready only after media arrives and both packagers are working. Public streams expose stable HLS/LL-HLS and DASH URLs. For private streams, create a 15-minute signed link in Playback. Anyone possessing that full URL can use it until expiry; do not log the path or pass it to analytics.

Start the embedded HLS preview in Playback, or use an HLS- or DASH-capable player. Preview downloads use the stream’s prepaid balance. The stable URL redirects into a fixed input session. Relative manifests, initialization data and segments stay within that session. After a publisher reconnects, reopen the stable URL; an old session is not silently spliced into a new one.

Retention is a node-pool policy from 30 to 300 seconds, with actual history depending on stream age and keyframe cadence. Low-latency performance depends on the encoder, network and player. No latency SLA is implied.

4. Understand reservations and stopping

Media uses 30-second prepaid windows. The next window can be reserved before the current one is finalized to keep video continuous. Ensure enough available credit for that overlap. Ingest, active packaging time and origin payload use the rate version pinned at creation. FFmpeg processing requires an explicit additional hourly rate or an approved zero-rate pilot. The processing fee is per active input, not per output rendition, and is added to packaging and delivery. An absent processing rate means transcoding admission is disabled.

Pause, depleted credit, unavailable control or an expired lease fences the publisher and origin. Unused reservations are released only after final measured usage. A crash or uncertain meter leaves the reservation held for reconciliation; time passing alone does not prove a refund is safe.

Origin bytes are payload offered by the origin, not TCP acknowledgments or CDN cache-hit delivery. Ingest measures observed media payload rather than protocol headers and retransmissions. Production load qualification and traffic shaping are required for the sampled ingest meter. A measured overrun quarantines the node; it is not clamped into the customer bill.

Independent backup inputs

A redundant stream requires two qualified nodes in distinct failure domains. Your encoder must publish to both. Both active inputs are billed. On failure, your player or application starts a new session using the alternate input’s stable URL. This release does not replicate an input over the Pipe backbone or promise seamless switching between timelines.

API and launch boundaries

POST /v1/live/streams creates a stream. Inspect GET /v1/live/capabilities for actual availability and rates. CLI credentials require live.read or live.write; creation also requires billing.write. Use a stable UUID request_id for every retried mutation.

Current scope: RTMP/RTMPS, encrypted SRT, HLS/LL-HLS, DASH, fMP4, optional fixed-profile FFmpeg CPU ABR, qualified-node WHIP browser ingest, bounded DVR, independent inputs, health/usage reporting, private playback and prepaid origin usage. RIST, GPU ABR ladders, SCTE-35, DRM, AES key rotation, SSAI, archive export, cross-PoP replication and qualified CDN caching remain unavailable.