{"id":15393556,"url":"https://github.com/allyourcodebase/ffmpeg","last_synced_at":"2025-04-05T19:14:27.985Z","repository":{"id":66013640,"uuid":"586398635","full_name":"allyourcodebase/ffmpeg","owner":"allyourcodebase","description":"FFmpeg Zig package","archived":false,"fork":false,"pushed_at":"2024-08-31T02:04:15.000Z","size":169021,"stargazers_count":170,"open_issues_count":4,"forks_count":21,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-01T15:19:07.802Z","etag":null,"topics":["ffmpeg","zig","zig-package"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/allyourcodebase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.GPLv2","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":"2023-01-08T01:31:26.000Z","updated_at":"2024-09-29T12:52:02.000Z","dependencies_parsed_at":"2023-04-25T04:04:06.161Z","dependency_job_id":"74e703fd-7045-4adf-8558-cefc41c0f65a","html_url":"https://github.com/allyourcodebase/ffmpeg","commit_stats":null,"previous_names":["allyourcodebase/ffmpeg"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allyourcodebase%2Fffmpeg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allyourcodebase%2Fffmpeg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allyourcodebase%2Fffmpeg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allyourcodebase%2Fffmpeg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/allyourcodebase","download_url":"https://codeload.github.com/allyourcodebase/ffmpeg/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284944,"owners_count":20913704,"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":["ffmpeg","zig","zig-package"],"created_at":"2024-10-01T15:19:38.952Z","updated_at":"2025-04-05T19:14:27.960Z","avatar_url":"https://github.com/allyourcodebase.png","language":"C","readme":"# FFmpeg Packaged for Zig\n\nThis is a fork of [ffmpeg](https://ffmpeg.org/), packaged for Zig. Unnecessary\nfiles have been deleted, and the build system has been replaced with\n`build.zig`.\n\nThere are no system dependencies; the only thing required to build this package\nis [Zig](https://ziglang.org/download/).\n\nZig API bindings are also provided via the \"av\" module. See `doc/examples` for\nAPI usage examples.\n\n## Differences from Upstream\n\n* Only a single static library is produced. There is no option to create a\n  dynamic library.\n* The ffmpeg command line tool is not provided. Perhaps this could be added if\n  desired.\n* Documentation, tests, and tools are not provided.\n* This package enables everything supported by the target; it does not expose\n  configuration options to choose the set of supported codecs and formats.\n* The set of external library integrations is fixed.\n\n## External Libraries Included\n\n* [x] libmp3lame\n* [x] libvorbis\n* [x] libogg\n\nMore can be added as desired.\n\n## Update Process\n\nThese are the instructions to update this package when a new FFmpeg version is\nreleased upstream.\n\n1. Merge the new tag into main and resolve all conflicts by replacing the\n   conflicting files with the files from upstream.\n2. `find libavcodec/ libavdevice/ libavfilter/ libavformat libavutil/ libswscale/ libswresample/ -type f -name \"*.asm\" -o -name \"*.c\" -o -name \"*.S\"`\n   * Edit to omit files ending in `_template.c` or `_tablegen.c`\n   * Sort the list\n   * Update the `all_sources` list in `build.zig`.\n3. Inspect the git diff to keep some of the source files commented out like\n   they were before. Some handy filtering rules apply:\n   * `/L` prefix means Linux-only\n   * `/W` prefix means Windows-only\n4. Run `./configure --prefix=$HOME/local/ffmpeg --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-programs --enable-libmp3lame --enable-libvorbis --disable-shared --enable-static`\n   against upstream and diff the generated `config.h` file to the one generated\n   by this build script. Apply appropriate changes to `build.zig`.\n5. Update these files which are generated by the upstream configure script:\n   * `config_components.h`\n   * `libavfilter/filter_list.c`\n   * `libavcodec/codec_list.c`\n   * `libavcodec/parser_list.c`\n   * `libavcodec/bsf_list.c`\n   * `libavformat/demuxer_list.c`\n   * `libavformat/muxer_list.c`\n   * `libavdevice/indev_list.c`\n   * `libavdevice/outdev_list.c`\n   * `libavformat/protocol_list.c`\n6. Update the `headers` list in `build.zig` based on what files are present in\n   `$HOME/local/ffmpeg/include`.\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallyourcodebase%2Fffmpeg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fallyourcodebase%2Fffmpeg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallyourcodebase%2Fffmpeg/lists"}