• Stars
    star
    1,337
  • Rank 34,304 (Top 0.7 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created about 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A powerful, flexible and easy to use Video and Image compression library for Android.

SiliCompressor

A powerful, flexible and easy to use Video and Image compression library for Android.

Description

Image

It's usually said that "A picture is worth a thousand words". Images adds flair and beauty to our android apps, but we usaully have problems with these images due to thier large size. With SiliCompressor you can now compress and use your images more smoothly.

Video

Due to the high resolution of our Smartphone cameras and cameras from other devices, Video files have become large in size and thus difficult for it to be shared with others on social apps, social media and even when we need to upload it on our server. With SiliCompressor you can now compress you video file while maintaining it quality.

Credit

The image compressor part of this project is inspired from Void Canvas blog from which the core part of the compressor was done. For the Video Compression part of this project, credit goes to Jorge E. Hernandez (@lalongooo) whose codes was used for the core part of the video compressor module.

Usage

To effectively use this library, you must make sure you have added the following permission to your project.

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Compress a video file and return the file path of the new video

String filePath = SiliCompressor.with(Context).compressVideo(videoUriString, destinationDirectory);
String filePath = SiliCompressor.with(Context).compressVideo(videoContentUri, destinationDirectory);

Compress an image and return the file path of the new image

String filePath = SiliCompressor.with(Context).compress(uriString, destinationDirectory);

Compress an image and return the file path of the new image while deleting the source image

String filePath = SiliCompressor.with(Context).compress(uriString, destinationDirectory, true);

Compress an image drawable and return the file path of the new image

String filePath = SiliCompressor.with(Context).compress(R.drawable.icon);

Compress an image and return the bitmap data of the new image

Bitmap imageBitmap = SiliCompressor.with(Context).getCompressBitmap(imageUriString);

Compress an image and return the bitmap data of the new image while deleting the source image

Bitmap imageBitmap = SiliCompressor.with(Context).getCompressBitmap(imageUriString, true);

Download

Gradle

implementation 'com.iceteck.silicompressorr:silicompressor:2.2.4'
Maven
<dependency>
  <groupId>com.iceteck.silicompressorr</groupId>
  <artifactId>silicompressor</artifactId>
  <version>2.2.4</version>
  <type>aar</type>
</dependency>
Ivy
<dependency org='com.iceteck.silicompressorr' name='silicompressor' rev='2.2.4'>
  <artifact name='silicompressor' ext='pom' ></artifact>
</dependency>

Snapshots of the development version are available in Sonatype's snapshots repository.

License

Copyright 2016 Teyou Toure Nathan

Licensed under the Apache License, Version 2.0 (the "License") and GNU General Public License v2.0;

you may not use this file except in compliance with the Licenses. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0 and https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html

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.

More Repositories

1

Pedestrian-Detection

This repo content all the dataset, the record and the config that were used in training a TensorFlow pedestrian detector model.
Python
15
star
2

Object-Detection

This is an android application which shows how a trained TensorFlow lite Object detector file can be used in an android.
Java
14
star
3

Object-distance-Estimation-and-Collision-warning

A project which uses deep learning to detect and estimate the distance of the detected objects from the monocular camera. An alarm is raised the detected object is in a distance range considered as dangerous
Python
11
star
4

FindME

This is an android application used to track the user current location and display. The user location is track at regular interval of time.
Java
7
star
5

Sante-Pour-Tous

This is an android project done with the aim to help people find information on natural foodstuffs which can be used to cure diseases and and body organs
Java
5
star
6

movies

A mobile application developed with flutter which will shows the users list of movies and details
Dart
3
star
7

softtechtest

Java
1
star
8

mymusic

A music management app for Android based on the LastFM API.
Java
1
star
9

CriminalIntent

CriminalIntent records the details of β€œoffice crimes”– things like leaving dirty dishes in the breakroom sink or walking away from an empty shared printer after documents have printed.
Java
1
star
10

FriendlyChat

FriedlyChat is an Android application which was developed during the course "Firebase in a Weekend" on Udacity.
Java
1
star
11

Sunshine_Version_2

An Android Weather Application.This is a project Develop in the course of taking the course "Developing Android Apps" on Udacity.com
Java
1
star
12

State-Management-demo

A simple Flutter mobile application which shows how to use the Provider and BloC State management libraries
Dart
1
star
13

Popular-Movies

Android application project which gives user information on the trending movies and help categorize them in terms of most popular top rated.
Java
1
star
14

sandwich-club

Android Nanodegree Sandwich Club project
Java
1
star
15

SafetyNetAttestationApiTest

Kotlin
1
star
16

Baking-App

This is an android application which display to it users the baking recipes, steps and description how to get them done.
Java
1
star
17

My-Journal

This is android app done in course of the Google Africa Challenge Scholarship program. Its a journal app which users will use to write and safe their stories, life experience and memories.
Java
1
star
18

Unit-Converter

Flutter Unit Converter App developed while going through the Flutter course on Udacity
Dart
1
star