{"id":15519263,"url":"https://github.com/pichillilorenzo/gifski-command","last_synced_at":"2025-04-23T04:39:44.949Z","repository":{"id":60493988,"uuid":"543372848","full_name":"pichillilorenzo/gifski-command","owner":"pichillilorenzo","description":"Node.js module for gifski GIF encoder CLI","archived":false,"fork":false,"pushed_at":"2022-10-11T20:46:41.000Z","size":1251,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T22:11:26.788Z","etag":null,"topics":["converter","encoder","ffmpeg","gif","gif-encoder","gifski","gifski-cli","gifski-encoder","gifski-gif","javascript","js","node","nodejs","png","server","video"],"latest_commit_sha":null,"homepage":"https://pichillilorenzo.github.io/gifski-command/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pichillilorenzo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.paypal.me/LorenzoPichilli"]}},"created_at":"2022-09-30T00:40:11.000Z","updated_at":"2023-09-08T18:38:11.000Z","dependencies_parsed_at":"2023-01-19T21:33:47.800Z","dependency_job_id":null,"html_url":"https://github.com/pichillilorenzo/gifski-command","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pichillilorenzo%2Fgifski-command","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pichillilorenzo%2Fgifski-command/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pichillilorenzo%2Fgifski-command/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pichillilorenzo%2Fgifski-command/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pichillilorenzo","download_url":"https://codeload.github.com/pichillilorenzo/gifski-command/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250372692,"owners_count":21419720,"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":["converter","encoder","ffmpeg","gif","gif-encoder","gifski","gifski-cli","gifski-encoder","gifski-gif","javascript","js","node","nodejs","png","server","video"],"created_at":"2024-10-02T10:20:47.903Z","updated_at":"2025-04-23T04:39:44.922Z","avatar_url":"https://github.com/pichillilorenzo.png","language":"TypeScript","funding_links":["https://www.paypal.me/LorenzoPichilli"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Gifski Command\n\n### Node.js module for [gifski](https://github.com/ImageOptim/gifski) GIF encoder CLI\n\n[![NPM](https://nodei.co/npm/gifski-command.png?compact=true)](https://nodei.co/npm/gifski-command/)\n\u003cbr /\u003e\n[![](https://img.shields.io/npm/dt/gifski-command.svg?style=flat-square)](https://www.npmjs.com/package/gifski-command)\n\n\u003c/div\u003e\n\n[![NPM Version](https://badgen.net/npm/v/gifski-command)](https://npmjs.org/package/gifski-command)\n[![Coverage Status](https://coveralls.io/repos/github/pichillilorenzo/gifski-command/badge.svg?branch=main)](https://coveralls.io/github/pichillilorenzo/gifski-command?branch=main)\n[![license](https://img.shields.io/github/license/pichillilorenzo/gifski-command)](/LICENSE)\n[![Donate to this project using Paypal](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.me/LorenzoPichilli)\n\n## Getting started\n\nTo get started with this library, you need to install it and add it to your project.\n\n### Installation\n\n```bash\n# npm\nnpm install gifski-command --save\n\n# yarn\nyarn add gifski-command\n```\n\n## Library Usage\n\nAPI Reference available at [https://pichillilorenzo.github.io/gifski-command/](https://pichillilorenzo.github.io/gifski-command/).\n\n```javascript\nimport * as path from 'path';\nimport {GifskiCommand} from 'gifski-command';\n// or\nconst path = require('path');\nconst {GifskiCommand} = require('gifski-command');\n\nconst command = new GifskiCommand({\n  output: path.join(__dirname, 'test', 'video.gif'),\n  frames: [ path.join(__dirname, 'test', 'video.mp4.frame*.png') ],\n  quality: 100\n});\ncommand.on('progress', progress =\u003e {\n  console.log(progress);\n});\nconst result = await command.run();\n```\n\n## CLI Usage\n\n- `\u003cpattern\u003e` represents a [glob pattern](https://www.npmjs.com/package/glob) used to specify PNG frames used by [gifski](https://github.com/ImageOptim/gifski). Surround the glob pattern with quotes (example `'./test/**/*.png'`).\n- `[options]` are the same as the [gifski](https://github.com/ImageOptim/gifski) CLI options.\n\n```\nUsage: gifski-command [options] \u003cpattern\u003e\n\nExamples: \n  gifski-command -Q 100 -o './test/video.gif' './test/**/video.mp4.frame*.png'\n  gifski-command -o - './test/**/video.mp4.frame*.png' \u003e './test/video.gif'\n\nArguments:\n  pattern                Glob pattern of PNG image files. Surround the glob pattern with quotes (example './test/**/*.png').\n\nOptions:\n  -o, --output \u003ca.gif\u003e   Destination file to write to; \"-\" means stdout\n  -r, --fps \u003cnum\u003e        Frame rate of animation. This means the speed, as all frames are kept. [default: 20]\n  --fast                 50% faster encoding, but 10% worse quality and larger file size\n  --extra                50% slower encoding, but 1% better quality\n  -Q, --quality \u003c1-100\u003e  Lower quality may give smaller file [default: 90]\n  -W, --width \u003cpx\u003e       Maximum width. By default anims are limited to about 800x600\n  -H, --height \u003cpx\u003e      Maximum height (stretches if the width is also set)\n  --no-sort              Use files exactly in the order given, rather than sorted\n  -q, --quiet            Do not display anything on standard output/console\n  --repeat \u003cnum\u003e         Number of times the animation is repeated (-1 none, 0 forever or \u003cvalue\u003e repetitions)\n  -h, --help             display help for command\n```\n\n## CLI Usage Example\n\nThe recommended way is to first export video as PNG frames. If you have [ffmpeg](https://ffmpeg.org/) installed, you can run in terminal:\n\n```bash\nffmpeg -i ./test/video.mp4 ./test/video.mp4.frame%04d.png\n```\n\nand then make the GIF from the frames:\n\n```bash\ngifski-command -Q 100 -o './test/video.gif' './test/**/video.mp4.frame*.png'\n```\n\nThis code snippet shows how to put into action `gifski-command` to convert video frames into a high quality GIF using the [gifski](https://github.com/ImageOptim/gifski) encoder.\n\n## Contributors\n\nAny contribution is appreciated. You can get started with the steps below:\n\n1. Fork [this repository](https://github.com/pichillilorenzo/gifski-command) (learn how to do this [here](https://help.github.com/articles/fork-a-repo)).\n\n2. Clone the forked repository.\n\n3. Make your changes and create a pull request ([learn how to do this](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request)).\n\n4. I will attend to your pull request and provide some feedback.\n\n## License\n\nThis repository is licensed under the [ISC](LICENSE) License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpichillilorenzo%2Fgifski-command","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpichillilorenzo%2Fgifski-command","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpichillilorenzo%2Fgifski-command/lists"}