mirror of
https://github.com/storytold/craft-libs.git
synced 2026-11-14 06:22:24 +00:00
Write AVI files: hdrl with avih and one strl (strh, strf, strn, indx) per stream, odml/dmlh, an interleaved movi and idx1. Past the RIFF limit (default 1 GiB) the file continues in OpenDML RIFF AVIX extensions with ix## standard indexes and an indx super index per stream. - VideoSpec::for_codec builds the stream from CodecParams; MPEG-4 Part 2 is tagged FMP4. - Audio is timed by bytes (PCM-style) or one packet per chunk. - Bad options and chunks are errors; finish() closes a readable file after a failed write. Tests read the files back through this crate's demuxer by every index, and through ffmpeg (decode identical to the sources, seeks through the index, ffprobe fields), in one RIFF and across AVIX extensions. The MPEG-4 encoder tests play its packets from an AVI file.