Media Ecosystem
├── 1. Media Types
│ ├── Video
│ ├── Audio
│ ├── Images
│ ├── Subtitles/Timed text
│ └── Data/Metadata
│
├── 2. Codecs
│ ├── Video (H.264, VP9, AV1, HEVC)
│ └── Audio (AAC, Opus, MP3, FLAC)
│
├── 3. Encoders / Decoders
│ ├── Software libs (libx264, libvpx)
│ └── Hardware (nvenc, qsv, vaapi)
│
├── 4. Containers (File Formats)
│ ├── MP4, MKV, WebM, MOV, AVI
│ └── Holds multiple streams
│
├── 5. File Extensions / File Types
│ ├── .mp4, .mkv, .webm, .mp3
│ └── MIME: video/mp4, audio/mpeg
│
├── 6. Stream Properties
│ ├── Resolution, FPS, aspect ratio
│ ├── Sample rate, channels
│ └── Bitrate (video/audio)
│
├── 7. Processing Operations
│ ├── Muxing / Demuxing
│ ├── Remuxing
│ ├── Transcoding
│ └── Filtering (scale, crop, normalize)
│
├── 8. Delivery Modes
│ ├── Static/progressive file (full MP4)
│ └── Streaming/adaptive (HLS, DASH, RTMP, RTSP)
│
├── 9. Protections
│ ├── DRM (Widevine, FairPlay, PlayReady)
│ ├── HDCP / CENC
│ ├── Geo-blocking, expiring URLs
│ └── Watermarks
│
├── 10. Protocols (I/O)
│ ├── File/device: file, concat, bluray
│ ├── Network: http, https, ftp, rtmp, rtsp
│ ├── Streaming: hls, dash
│ └── Special: crypto, data, cache
│
├── 11. Libraries / Modules (FFmpeg internals)
│ ├── libavcodec
│ ├── libavformat
│ ├── libavfilter
│ ├── libswscale
│ └── libswresample
│
├── 12. Extractors / Detectors (yt-dlp)
│ ├── Site-specific extractors (YouTube, Vimeo)
│ └── Format sniffers
│
├── 13. Manifests / Playlists
│ ├── HLS: .m3u8
│ ├── DASH: .mpd
│ └── Legacy: .pls, .asx
│
├── 14. Descriptors / Identifiers
│ ├── ID, EXT, PROTO, TBR, FPS
│ ├── VCODEC, ACODEC, ABR, ASR
│ └── Language, quality labels (360p, 1080p)
│
├── 15. Filters / Effects
│ ├── Video filters (scale, crop, fps, overlay)
│ └── Audio filters (volume, resample, loudnorm)
│
├── 16. Metadata / Tags
│ ├── ID3, Vorbis comments
│ ├── QuickTime atoms (MP4)
│ └── Chapters, cover art, language tags
│
└── 17. Devices / Inputs
├── avfoundation (macOS capture)
├── dshow (Windows DirectShow)
├── alsa/pulse (Linux audio)
└── x11grab/screen capture