The platform automatically converts uploaded media files into web-friendly formats so they play smoothly across browsers and devices. The pipeline runs FFmpeg under the hood, produces multiple renditions, and stores them alongside the original.
Why Conversion
- Browser compatibility: Not every browser plays every codec. H.264 inside MP4 is the safe lowest-common-denominator.
- Bandwidth: Multiple renditions (480p / 720p / 1080p) so clients adapt to network conditions.
- Mobile: Smaller files for cellular connections.
- Audio extraction: Pull audio-only track for podcast-style playback.
- Poster image: A still-frame thumbnail used as the player's preview.
Format Choices
- Video: H.264 in MP4 (universally supported) plus optionally VP9 in WebM for size savings.
- Audio: AAC in M4A (universal) plus optionally Opus in WebM.
- Streaming: Optional HLS or DASH segmented manifest for adaptive streaming.
Processing Workflow
- Upload arrives, original stored.
- A conversion task is queued.
- Worker picks up, probes the file, decides which renditions to generate.
- Each rendition produced sequentially or in parallel depending on worker config.
- On completion the record updates with paths to each rendition.
- Optionally the uploader is notified by email/push.
Worked Examples
- Tutorial videos: Generate 480p / 720p / 1080p MP4, plus poster JPG. Player picks based on bandwidth.
- Podcast platform: Audio-only — re-encode to AAC 128kbps, generate Opus 96kbps for size-conscious browsers.
- Live event highlights: Original 4K source → 1080p / 720p / 480p / 240p; HLS manifest for live-event playback.
- Internal training: Single 720p rendition; no public access; transcript extracted for indexing.