bilibili / Burstlinker
Licence: apache-2.0
๐ A simple GIF encoder for Android.
Stars: โญ 111
Programming Languages
cplusplus
227 projects
Labels
Projects that are alternatives of or similar to Burstlinker
Imgursniper
๐ท A quick and easy Image, Screenshot and Screen recording sharing tool
Stars: โญ 69 (-37.84%)
Mutual labels: gif
Flowabot
Modular Discord bot with fun features including twitch commands and advanced osu! commands. ๐ท
Stars: โญ 86 (-22.52%)
Mutual labels: gif
Swiftgif
[UNMAINTAINED] ๐ A small UIImage extension with gif support
Stars: โญ 1,255 (+1030.63%)
Mutual labels: gif
Gif Frames
๐ผ Extract frames from an animated GIF with pure JS
Stars: โญ 100 (-9.91%)
Mutual labels: gif
Gifcompressor
An Android tool to compresses your GIFs into lightweight MP4 video using fast, hardware-accelerated encoders. Supports cropping, rotation, GIF concatenation and much more.
Stars: โญ 85 (-23.42%)
Mutual labels: gif
Vdx
๐ An intuitive CLI for processing video, powered by FFmpeg
Stars: โญ 1,356 (+1121.62%)
Mutual labels: gif
Abmediaview
Media view which subclasses UIImageView, and can display & load images, videos, GIFs, and audio and from the web, and has functionality to minimize from fullscreen, as well as show GIF previews for videos.
Stars: โญ 79 (-28.83%)
Mutual labels: gif
Kgif
Tool for creating gif file from capturing active window.
Stars: โญ 94 (-15.32%)
Mutual labels: gif
Emacs Gif Screencast
[MOVED TO GITLAB] One-frame-per-action GIF recording for optimal quality/size ratio
Stars: โญ 74 (-33.33%)
Mutual labels: gif
Ffmpeg Gif Script For Bash
Turn your videos into palette-mapped gifs with this easy script
Stars: โญ 100 (-9.91%)
Mutual labels: gif
Fancy Flutter Alert Dialog
flutter package to show well designed alert dialog
Stars: โญ 103 (-7.21%)
Mutual labels: gif
BurstLinker
Idea from: square/gifencoder
BurstLinker is a simple C++ GIF encode library.
Download
Android
Gradle:
implementation 'com.bilibili:burst-linker:latest-version'
Build Environment
Android Studio 3.4.1
NDK r20
Basic usage
int delayMs = 1000;
String filePath = getCacheDir() + File.separator + "out.gif";
BurstLinker burstLinker = new BurstLinker();
try {
burstLinker.init(width, height, filePath);
Bitmap colorBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(colorBitmap);
Paint p = new Paint();
int[] colors = new int[]{0xFFF00000, 0xFFFFFF00, 0xFFFFFFFF};
for (int color : colors) {
p.setColor(color);
canvas.drawRect(0, 0, width, height, p);
burstLinker.connect(colorBitmap, BurstLinker.OCTREE_QUANTIZER,
BurstLinker.NO_DITHER, 0, 0, delayMs);
}
} catch (GifEncodeException e) {
e.printStackTrace();
} finally {
burstLinker.release();
}
Enable RenderScript Support
This is an untested feature.
- Choose the Git branch "/feature/render-script".
- Sync Project with Gradle Files, It will generate the required file named "ScriptC_*.cpp".
- Uncomment the line 64 of the "/lib/CMakeLists.txt".
- Try this function.
Linux & Mac
-
Install CMake
- Mac
brew install cmake
- ArchLinux
sudo pacman -S cmake
- Mac
-
Build
cd /BurstLinker
mkdir cmake-build-debug; cd cmake-build-debug
cmake ..
make BurstLinker
-
Run
./BurstLinker 1000 1.jpg 2.jpg 3.jpg
- See the "out.gif"
Windows
-
Install Microsoft Visual Studio & CMake
-
Build
cd /BurstLinker
mkdir cmake-build-debug; cd cmake-build-debug
cmake ..
- Open the "BurstLinker.sln"
- Solution Explorer -> BurstLinker -> Build
-
Run
cd Debug
BurstLinker.exe 1000 1.jpg 2.jpg 3.jpg
- See the "out.gif"
Samples
Different quantizers & ditherers
- Original
- Uniform + No
- MedianCut + No
- KMeans + No
- Random + No
- Octree + No
- NeuQuant - 10 + No
- NeuQuant - 1 + No
- Octree + M2
- Octree + Bayer
- Octree + FloydSteinberg
Encodes images with transparent channels
- Original
-
Octree + No + Default
Display all Alpha channels greater than 0. (ARGB.a != 0)
-
Octree + No + Ignored translucency
Display only the Alpha channels equal to 255. (ARGB.a == 255)
Thanks
License
Copyright 2018 Bilibili
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].