To easily convert stickers to GIFs you can use Telegram Bot:https://t.me/tgstogifbot 👈
There are two options: run using Docker and run from source.
Replace with directory with stickers and run:
- Convert to GIF:
docker run --rm -v <path to directory with stickers>:/source edasriyan/tgs-to-gif
- Convert to PNG:
docker run --rm -v <path to directory with stickers>:/source edasriyan/tgs-to-png
- Convert to APNG:
docker run --rm -v <path to directory with stickers>:/source edasriyan/tgs-to-apng
- Convert to WEBP:
docker run --rm -v <path to directory with stickers>:/source edasriyan/tgs-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/stickers:/source edasriyan/tgs-to-apng
Results will be saved next to each source sticker file in the same directory.
-
Install dependencies
-
Build
cmake CMakeLists.txt && make
CMake options
TGS_TO_PNG_STATIC_LINKING
: enable static linking. Default value:OFF
if OS is darwin; otherwiseON
cmake -DTGS_TO_PNG_STATIC_LINKING=ON CMakeLists.txt && make cmake -DTGS_TO_PNG_STATIC_LINKING=OFF CMakeLists.txt && make
ARM troubleshooting (including Apple M1)
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/tgs_to_gif.sh /home/ed/Downloads/sticker.tgs
- To convert to PNG:
./bin/tgs_to_png.sh /home/ed/Downloads/sticker.tgs
- To convert to APNG:
./bin/tgs_to_apng.sh /home/ed/Downloads/sticker.tgs
- To convert to WEBP:
./bin/tgs_to_webp.sh /home/ed/Downloads/sticker.tgs
Results will be saved next to source sticker file in the same directory.
- To convert to GIF:
$ ./bin/tgs_to_gif.sh --help
usage: ./bin/tgs_to_gif.sh [--help] [--output OUTPUT] [--height HEIGHT] [--width WIDTH] [--threads THREADS] [--fps FPS] [--quality QUALITY] path
Animated sticker for Telegram (*.tgs) to animated .gif converter
Positional arguments:
path Path to .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
You can download .tgs files using @Stickerdownloadbot.
Project is made with Jetbrains support ❤️ |