# fmp4 v0.1.0 - Table of Contents > Read a fragmented MP4 while ffmpeg is still writing it — the fragments on disk, their times and byte ranges — turn it into an HLS playlist of byte ranges, and serve it to a video element with HTTP range requests that wait for the writer. No decoding, no dependencies beyond Plug. ## Pages - [Fmp4](readme.md) - [Changelog](changelog.md) - [LICENSE](license.md) ## Modules - [Fmp4](Fmp4.md): Reads the shape of a fragmented MP4 as ffmpeg writes it: the header (`ftyp` + `moov`) and then `moof` + `mdat` pairs, one per fragment. A file still being written is read as far as it is complete, so a playlist can be made of it while it grows — which is how a conversion plays as it runs, with the server spending a fraction of a core instead of an HLS segmenter's worth. - [Fmp4.RangeFile](Fmp4.RangeFile.md): Serves a file to a video element with HTTP range requests, including a file that is still being written. Any file: a fragmented MP4 a playlist from `Fmp4.playlist/3` points at, a plain MP4, a Matroska release.