{"id":32197117,"url":"https://github.com/sot-tech/lottieconverter","last_synced_at":"2026-02-21T13:01:41.861Z","repository":{"id":46118936,"uuid":"211680440","full_name":"sot-tech/LottieConverter","owner":"sot-tech","description":"Simple, dummy lottie converter","archived":false,"fork":false,"pushed_at":"2023-12-19T18:11:10.000Z","size":374,"stargazers_count":33,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-08T11:38:38.900Z","etag":null,"topics":["animation","converter","gif","lottie","sticker","telegram"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sot-tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2019-09-29T15:03:33.000Z","updated_at":"2025-05-15T02:45:32.000Z","dependencies_parsed_at":"2024-06-19T22:46:44.944Z","dependency_job_id":"5ed84f6b-1d60-40e1-ac10-d7aca4536cbe","html_url":"https://github.com/sot-tech/LottieConverter","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/sot-tech/LottieConverter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sot-tech%2FLottieConverter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sot-tech%2FLottieConverter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sot-tech%2FLottieConverter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sot-tech%2FLottieConverter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sot-tech","download_url":"https://codeload.github.com/sot-tech/LottieConverter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sot-tech%2FLottieConverter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29681468,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T12:30:22.644Z","status":"ssl_error","status_checked_at":"2026-02-21T12:29:55.402Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["animation","converter","gif","lottie","sticker","telegram"],"created_at":"2025-10-22T02:51:19.313Z","updated_at":"2026-02-21T13:01:41.856Z","avatar_url":"https://github.com/sot-tech.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## LottieConverter\nSimple lottie (telegram animated sticker) converter.\n\nAnimation can be converted to png (with transparency) or to gif.\n\nUses:\n\n* [rlottie (MIT License)](https://github.com/Samsung/rlottie)\n\n* [giflib (MIT Licence)](http://giflib.sourceforge.net)\n\n* [libpng (zlib/libpng Licence)](http://www.libpng.org/pub/png/libpng.html)\n\n* [zlib (zlib License)](https://zlib.net)\n\n## Usage\n`lottieconverter input_file|- output_file|- type [resolution] [option]`\n\nParameters:\n\n* input_file - path to lottie json or tgs (gzip-ed json), if set to `-` stdin is used;\n* output_file - file to be written, if set `-` stdout is used, **note, that for `pngs` type, file name prefix is required**;\n* type - output format, currently supported: `png`, `gif`, `pngs`;\n* resolution - **desired** size in pixels of out image, should be in `SIZExSIZE` format, default `128x128`. Resulting resolution depends on input;\n* option - depends on type, default **10** for all:\n    * `png` - which frame in percents to extract;\n    * `pngs` and `gif` - desired frame rate.\n\n### Notes\n#### PNG Single frame (`png`)\nExtract single PNG image, `option` value should be set in percents, \nIf set to `20`, and there are 200 frames in animation, 40th frame will be extracted.\n\n#### PNG Series (`pngs`)\nExtract series of separate PNG files with prefix `output_file` and specified in `option` framerate.\n\nIf animation's framerate is the same as provided `option`, converter will extract every frame one time.\n\nOtherwise:\n* If animation framerate (i.e.) is 30, and `option` set to 10 (reduce FPS), \nevery 3rd frame will be extracted;\n* If animation frame rate is 10, and `option` set to 30 (increase FPS), \nevery frame will be written 3 times with the same content.\n\n#### GIF animation (`gif`)\nConvert lottie animation to GIF animation.\n\nGIF's minimum delay between frames is 1/100 second, so maximum framerate (value of `option`) limited to 100.\n\nFor the same reason, it is better to choose framerate value which is common factor of 100: 1, 2, 5, 10, 20, 25, 50 (100 is not recommended).\n\nIf `option` set to 30, delay will be rounded to 3 'ticks' (3/100 sec.), but GIF speed will be a little faster than original (round from 3.333... to 3),\nand if 25 - delay will be exactly 4 'ticks' (4/100 sec.).\n\nAnother GIF's problem is transparency. GIF does not support alpha channel, \nbut one of colors from frame's image palette can be marked as transparent.\n\nNow, transparent color is hardcoded to 0'th color in palette, so if image contains non-background\nelements with this color, they will be marked as transparent and some artifacts will appear.\n\n## Build\n### Basics\n1. Clone this repo or download sources from releases page;\n2. If cloned AND you need included `libpng`, `rlottie` or `giflib`, fetch submodules\nby executing `git submodule update --init`;\n3. Execute CMake build:\n   1. `mkdir build \u0026\u0026 cd build`;\n   2. `cmake -DCMAKE_BUILD_TYPE=Release .. \u0026\u0026 cmake --build .`;\n4. (optional) Perform test conversions with `ctest` (results will appear in `test/out` directory);\n5. Copy or execute ready `lottieconverter` in `build` subdirectory.\n\n### External libraries\nBy default, project uses system's shared `libpng` library, \nstatic `rlottie` and `libgif`. \nYou can change behaviour by providing cmake options \n`SYSTEM_PNG`, `SYSTEM_RL` and `SYSTEM_GL` to 0 or 1 respectively\n(`-DSYSTEM_PNG=0 -DSYSTEM_RL=1 -DSYSTEM_GL=0` or any).\n\nLinux's development packages are usually named:\n* `libpng-dev`;\n* `libgif-dev` or `giflib-dev`;\n* `librlottie-dev`.\n\nand regular library packages:\n* `libpng` or `libpng16`;\n* `libgif` or `libgif7` or `giflib`;\n* `rlottie` or `librlottie`.\n\n_NB: `zlib` (`zlib1g`) or `zlib-dev` (`zlib1g-dev`) must be pre-installed in your system._\n\n## Licencing notice\n\nVersions v0.1.1 and earlier have been licensed under GNU LGPL 2.1.\nActual revision is licenced under BSD-3-Clause.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsot-tech%2Flottieconverter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsot-tech%2Flottieconverter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsot-tech%2Flottieconverter/lists"}