{"id":13732103,"url":"https://github.com/lieff/minimp4","last_synced_at":"2025-04-05T14:04:20.946Z","repository":{"id":33607230,"uuid":"150131620","full_name":"lieff/minimp4","owner":"lieff","description":"Minimalistic MP4 mux/demux single header library ","archived":false,"fork":false,"pushed_at":"2024-03-05T21:36:41.000Z","size":1004,"stargazers_count":366,"open_issues_count":22,"forks_count":61,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-03-29T13:05:08.141Z","etag":null,"topics":["demux","demuxing","mp4","mux","muxing","single-header-lib"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lieff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-24T16:14:44.000Z","updated_at":"2025-03-29T04:36:05.000Z","dependencies_parsed_at":"2024-11-14T23:31:18.071Z","dependency_job_id":"2a6abedb-d364-42b0-bf67-24fadff4896c","html_url":"https://github.com/lieff/minimp4","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lieff%2Fminimp4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lieff%2Fminimp4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lieff%2Fminimp4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lieff%2Fminimp4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lieff","download_url":"https://codeload.github.com/lieff/minimp4/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345850,"owners_count":20924102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["demux","demuxing","mp4","mux","muxing","single-header-lib"],"created_at":"2024-08-03T02:01:46.479Z","updated_at":"2025-04-05T14:04:20.922Z","avatar_url":"https://github.com/lieff.png","language":"C","readme":"Mini MP4\n==========\n\n[![Build Status](https://travis-ci.org/lieff/minimp4.svg)](https://travis-ci.org/lieff/minimp4)\n\nEasy embeddable MP4 mux/demux library.\n\n## Usage\n#### Muxing\n\nMuxing can be done using 3 modes.\nDefault mode uses one big mdat chunk:\n\n![default](images/mux_mode_default.png?raw=true)\n\nThis is most efficient mode, but disadvantage is that we need go back and patch mdat chunk size.\nThis can be a problem in some cases, for example if stream transfered over network.\nTo workaround this sequential mode is used:\n\n![default](images/mux_mode_sequential.png?raw=true)\n\nThis mode do not make any backwards seek.\nAnd last mode is fragmented aka fMP4.\n\n![default](images/mux_mode_fragmented.png?raw=true)\n\nThis mode stores track information first and spreads indexes across all stream, so decoding can start before whole stream available.\nThis mode is sequential too and usually used by browsers and HLS streaming.\n\n## Bindings\n\n * https://github.com/darkskygit/minimp4.rs - rust bindings\n\n## Interesting links\n\n * https://github.com/aspt/mp4\n * https://github.com/l30nnguyen/minimum_mp4_muxer\n * https://github.com/DolbyLaboratories/dlb_mp4demux\n * https://github.com/DolbyLaboratories/dlb_mp4base\n * https://github.com/ireader/media-server/tree/master/libmov\n * https://github.com/wlanjie/mp4\n * https://github.com/MPEGGroup/isobmff\n * http://www.itscj.ipsj.or.jp/sc29/open/29view/29n7644t.doc\n * http://atomicparsley.sourceforge.net/mpeg-4files.html\n * http://cpansearch.perl.org/src/JHAR/MP4-Info-1.12/Info.pm\n * https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFPreface/qtffPreface.html\n * http://xhelmboyx.tripod.com/formats/mp4-layout.txt\n","funding_links":[],"categories":["Multimedia","C","HarmonyOS"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flieff%2Fminimp4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flieff%2Fminimp4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flieff%2Fminimp4/lists"}