Lottie Animations (.json) and Telegram Stickers (*.tgs) to GIF/PNG/APNG/WEBP converter
👉 https://t.me/tgstogifbot 👈
To easily convert Telegram stickers to GIFs you can use Telegram BotHow to use
There are two options: run using Docker and run from source.
Using Docker
Replace with directory with Lottie animations / Telegram stickers and run:
- Convert to GIF:
docker run --rm -v <path to directory>:/source edasriyan/lottie-to-gif
- Convert to PNG:
docker run --rm -v <path to directory>:/source edasriyan/lottie-to-png
- Convert to APNG:
docker run --rm -v <path to directory>:/source edasriyan/lottie-to-apng
- Convert to WEBP:
docker run --rm -v <path to directory>:/source edasriyan/lottie-to-webp
You can provide parameters via env variables:
HEIGHT
: Output image height. Default: 512WIDTH
: Output image width. Default: 512FPS
: Output frame rate. Default: apng,png,webp - 60; gif - 50QUALITY
: Output quality. Default: 90THREADS
: Number of threads to use. Default: number of CPUs
Example:
docker run --rm -e HEIGHT=256 -e WIDTH=256 -e FPS=30 -v /home/ed/Downloads/lottie-animations:/source edasriyan/lottie-to-apng
Results will be saved next to each source file in the same directory.
From source
-
Install dependencies
-
Build
cmake CMakeLists.txt && make
CMake options
LOTTIE_TO_PNG_STATIC_LINKING
: enable static linking. Default value:OFF
if OS is darwin; otherwiseON
cmake -DLOTTIE_TO_PNG_STATIC_LINKING=ON CMakeLists.txt && make cmake -DLOTTIE_TO_PNG_STATIC_LINKING=OFF CMakeLists.txt && make
M1 troubleshooting
Run the following command and try again:echo '#if defined(__ARM_NEON__) #include "vdrawhelper.h" void memfill32(uint32_t *dest, uint32_t value, int length) { memset(dest, value, length); } static void color_SourceOver(uint32_t *dest, int length, uint32_t color, uint32_t alpha) { int ialpha, i; if (alpha != 255) color = BYTE_MUL(color, alpha); ialpha = 255 - vAlpha(color); for (i = 0; i < length; ++i) dest[i] = color + BYTE_MUL(dest[i], ialpha); } void RenderFuncTable::neon() { updateColor(BlendMode::Src , color_SourceOver); } #endif ' > lib/src/rlottie/src/vector/vdrawhelper_neon.cpp
-
Convert!
- To convert to GIF:
./bin/lottie_to_gif.sh /home/ed/Downloads/animation.json
- To convert to PNG:
./bin/lottie_to_png.sh /home/ed/Downloads/animation.json
- To convert to APNG:
./bin/lottie_to_apng.sh /home/ed/Downloads/animation.json
- To convert to WEBP:
./bin/lottie_to_webp.sh /home/ed/Downloads/animation.json
Results will be saved next to each source file in the same directory.
- To convert to GIF:
CLI arguments
$ ./bin/lottie_to_gif.sh --help
usage: ./bin/lottie_to_gif.sh [--help] [--output OUTPUT] [--height HEIGHT] [--width WIDTH] [--threads THREADS] [--fps FPS] [--quality QUALITY] path
Lottie animations (.json) and Telegram stickers for Telegram (*.tgs) to animated .gif converter
Positional arguments:
path Path to .json or .tgs file to convert
Optional arguments:
-h, --help show this help message and exit
--output OUTPUT Output file path
--height HEIGHT Output image height. Default: 512
--width WIDTH Output image width. Default: 512
--fps FPS Output frame rate. Default: 50
--threads THREADS Number of threads to use. Default: number of CPUs
--quality QUALITY Output quality. Default: 90
Notices
- What is lottie? - https://airbnb.design/lottie/
- You can download Telegram sticker files (.tgs) using @Stickerdownloadbot.
Project is made with Jetbrains support |