{"id":15588736,"url":"https://github.com/aturingmachine/gifizer","last_synced_at":"2025-03-29T09:29:16.147Z","repository":{"id":100230916,"uuid":"465141459","full_name":"aturingmachine/gifizer","owner":"aturingmachine","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-03T15:42:55.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-04T00:36:17.339Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aturingmachine.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-03-02T03:21:23.000Z","updated_at":"2022-04-07T16:14:11.000Z","dependencies_parsed_at":"2023-03-17T15:45:41.880Z","dependency_job_id":null,"html_url":"https://github.com/aturingmachine/gifizer","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/aturingmachine%2Fgifizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aturingmachine%2Fgifizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aturingmachine%2Fgifizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aturingmachine%2Fgifizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aturingmachine","download_url":"https://codeload.github.com/aturingmachine/gifizer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246165932,"owners_count":20734140,"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":[],"created_at":"2024-10-02T22:41:39.201Z","updated_at":"2025-03-29T09:29:16.121Z","avatar_url":"https://github.com/aturingmachine.png","language":"TypeScript","readme":"# Gifizer\n\nConvert Videos to GIFs, APNGs, and WEBPs via ffmpeg.\n\n```\nnpm i -g gifizer\n```\n\n\u003e TODO this section needs to be more friendly to read\n\n## Usage:\n\n```\n--------------------------------------------------------------------\ngifizer \u003cinfile\u003e (outfile) (...options)\n\nIf no outfile is provided the outfile will be 'infile_out.gif'\n```\n\n## Examples:\n\n```\n--------------------------------------------------------------------\nUse all defaults:\n  gifizer /path/to/video.mp4 /path/to/output.gif\nUse \"fast\" preset:\n  gifizer /path/to/video.mp4 /path/to/output.gif --preset=fast\nUse config from cli:\n  gifizer /path/to/video.mp4 /path/to/output.gif \\\n  --framerate=24 \\\n  --scale=320:-1 \\\n  --max_colors=none \\\n  --select=medium \\\n  --dither.type=bayer \\\n  --dither.new=true \\\n  --dither.bayer_scale=1\n  --overwrite\n```\n\n## Options:\n\n```\n--help              Display this message\n  -h\n\n--overwrite         Overwrite the outfile if the path already exists\n  --force\n  -o\n  -f\n\n--no-overwrite      Don't explode if the outfile already exists.\n  -n                Overrides the --overwrite flag.\n\n--debug             Output more information during the run.\n  -d\n\n--verbose           Output debug information and pipe the output of\n  -v                ffmpeg to your stdio.\n\n--format            Set the output format. If one is not set we will\n                    try to infer the output type based on the extension\n                    of the outfile. If a format is provided the extension\n                    of the outfile will be overridden.\n                    'apng' | 'gif' | 'webp'\n```\n\n## Conversion Options:\n\n```\n--------------------------------------------------------------------\nThe following are options that will be passed to the underlying call\nto ffmpeg. All Conversion options are optional. Sensible defaults will \nbe applied if an option is not set explicitally or by a preset.\n\n--framerate         The framerate of the output GIF.\n                    number | 'variable'\n\n--scale             The scale of the output GIF. Takes a tuple of \n                    numbers. Use -1 to maintain scale. i.e. 320:-1\n                    number:number\n\n--max_colors        The maximum number of colors to use for pallettegen.\n                    Lower numbers produce smaller outputs of a lower quality.\n                    number | 'variable'\n\n--select            Changes how frames are skipped to produce the output gif.\n                    'hard' | 'medium' | 'small'\n                \n--dither            Configure the dithering used when generating the GIF.\n                    DitherType | DitherConfig\n                    See 'Dither' below.\n```\n\n## Dither:\n\n```\n--------------------------------------------------------------------\nDithering is the application of \"noise\" to the output gif to smooth\nthe visual effects of compression.\nTweaking these options can produce much larger and higher quality\noutputs - or much lower quality outputs and file sizes.\n\nDithering Types:\n'bayer' | 'heckbert' | 'floyd_steinberg' | 'sierra2' | 'sierra2_4a'\n\nSupplying just a dithering type will use the ffmpeg defaults for\nthe requested algorithm.\n\nFurther Options:\n--dither\n\n  .type             See Dithering Types\n\n  .new              Set to force palleteuse to produce a new color \n                    pallete for every frame of the input.\n                    Boolean\n\n  .bayer_scale      Only applied to the 'bayer' dithering type.\n                    Integer [0,5]. Lower = more visible pattern\n                    Higher = more visible banding.\n                    Default = 2.\n  \n  .alpha_threshold  Sets the alpha threshold for transparency.\n                    Values above the threshold are opaque and values \n                    below this threshold are considered transparent.\n                    Integer [0,255]. Default is 128.\n\n  .use_alpha        Take alpha values into account when applying\n                    the palette. For use on sources with many colors\n                    and alpha components.\n                    Disables 'alpha_threshold'.\n                    Boolean.\n```\n\n## Presets:\n\n```\n--------------------------------------------------------------------\nGifizer has support for presets. There are 4 built in presets with\nsupport for reading custom presets from config files.\n\nBuilt-in Presets:\n  fast              Focuses on finishing processing as fast as\n                    possible while maintaining some semblance of quality.\n\n  high-quality      Produces a very high quality GIF of the original\n                    source with no regard for processing time or\n                    final file size.\n\n  balanced          Sensible comprimise between quality, speed, and \n                    final file size.\n\n  low               Attempts to produce the smallest file size possible\n                    sacrificing quality in the process.\n\nCustom Presets:\nCustom presets are read from the following locations:\n  - ~/.gifizer.yaml\n  - ~/.gifizer.yml\n  - ./.gifizer.yaml\n  - ./.gifizer.yml\n  - ~/.gifizer.json\n  - ./.gifizer.json\n\nYour Presets should follow the shape:\n{\n  presets: {\n    'preset-name': {\n      \u003cconversion options\u003e\n      dither: \u003cdither options\u003e\n    }\n  }\n}\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faturingmachine%2Fgifizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faturingmachine%2Fgifizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faturingmachine%2Fgifizer/lists"}