Skip to content
This repository was archived by the owner on Aug 28, 2025. It is now read-only.

Repository files navigation

GifEncoder

GifEncoder 基于 MediaMetadataRetriever,使用串表压缩算法,实现视频、多张图片转GIF。

jitpack

How to import?

Step 1. Add the JitPack repository to your build file

Gradle

Add it in your root build.gradle at the end of repositories:

	allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

Maven

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Step 2. Add the dependency

Gradle

	dependencies {
	    implementation 'com.github.YangDai2003:GifEncoderLib:latest_version'
	}

Maven

	<dependency>
	    <groupId>com.github.YangDai2003</groupId>
	    <artifactId>GifEncoderLib</artifactId>
	    <version>Tag</version>
	</dependency>

How to use?

JAVA

    private void convertVideoToGif(String inputVideoPath, String outputGifPath) {
        ExecutorService executor = Executors.newSingleThreadExecutor();
        executor.execute(() -> {
            BitmapRetriever extractor = new BitmapRetriever(inputVideoPath);
            extractor.setFps(10);
            extractor.setOutputBitmapSize(extractor.getVideoWidth() / 2, extractor.getVideoHeight() / 2);
            List<Bitmap> bitmaps = extractor.generateBitmaps();

            GifEncoder encoder = new GifEncoder();
            encoder.init(bitmaps.get(0));
            encoder.start(outputGifPath);
            for (int i = 1; i < bitmaps.size(); i++) {
                encoder.addFrame(bitmaps.get(i));
            }
            encoder.finish();
            runOnUiThread(() -> Toast.makeText(this, "finish", Toast.LENGTH_SHORT).show());
        });
    }

About

A useful GIF library for Android

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages