Ship HLS processing without rebuilding the pipeline yourself.
- 01 Source input.mp4 · mov · mkv
- 02 Transcode adaptive bitrate
- 03 Package master.m3u8 + variants + segments
- 04 Deliver Cloudinary · Amazon S3
master.m3u8 1080p.m3u8 720p.m3u8 480p.m3u8 segments/ … $ npm i mediapipeline-sdk Media Pipeline SDK is a TypeScript package for converting source video into an HLS package — producing a master playlist, variant playlists, and segment files — and optionally pushing that package to Cloudinary under a predictable folder layout or to Amazon S3 with signed playback links.
Built for the media pipeline
Convert .mp4, .mov, and .mkv inputs into a master.m3u8 playlist
with variant outputs stored under your configured local directory.
Upload generated HLS playlists and segments to Cloudinary under
mediapipeline/{videoId}/ and return the master playlist URL.
Upload generated HLS outputs to S3, generate signed playlists and signed segment links, and return a time-limited playback URL.
S3 Uploads →Use exported HLS bitrate profiles and resolution mappings instead of maintaining ffmpeg settings manually.
View Presets →From video to playback
npm install mediapipeline-sdklocal · cloudinary · s3sdk.processLocal() → HLSCloudinary URL · S3 signed URLGet started
What the SDK handles
- Local storage output
- Cloudinary upload workflow
- S3 upload workflow
- Exported config helpers and preset maps
{ type: "video", variants: [...] }→ Cloudinary URL→ S3 signed URLSee the full API output shapes
Local processing returns a structured result:
{ type: "video", variants: [ { name: "hls", path: "output/<uuid>/master.m3u8", }, ],}Cloudinary processing returns a single string:
"https://res.cloudinary.com/<cloud-name>/raw/upload/.../mediapipeline/<uuid>/master.m3u8";S3 processing also returns a single string:
"https://<bucket>.s3.<region>.amazonaws.com/<folder>/<uuid>/signed/master.m3u8?...";