1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23

media / muxers / README.md [blame]

# //media/muxers

This directory contains code for muxing mkv (webm) and mp4 files.
 * https://en.wikipedia.org/wiki/Matroska
 * https://en.wikipedia.org/wiki/WebM
 * https://en.wikipedia.org/wiki/MP4_file_format

Muxers are based off the `media::Muxer` interface. These muxers are
primarily used by MediaRecorder and ChromeOS video recording.

Since audio and video streams often come from sources with different
clocks, timestamp alignment can be handled by `MuxerTimestampAdapter`.
More details on synchronization can be found in the
[Media Capture and Streams](https://www.w3.org/TR/mediacapture-streams/#introduction)
spec.

Currently the following codecs are supported in each muxer:
 * webm: VP8, VP9, AV1, H.264 for video plus Opus for audio.
 * mkv: VP8, VP9, AV1, H.264, H.265 for video plus Opus for audio.
 * mp4: VP9, AV1, H.264, H.265 for video and Opus, AAC for audio.

Note: webm is a subset of mkv that technically only supports vp8, vp9,
and av1 codecs.