A powerful, flexible and easy to use Video and Image compression library for Android.
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.
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.
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.
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"/>
String filePath = SiliCompressor.with(Context).compressVideo(videoUriString, destinationDirectory);
String filePath = SiliCompressor.with(Context).compressVideo(videoContentUri, destinationDirectory);
String filePath = SiliCompressor.with(Context).compress(uriString, destinationDirectory);
String filePath = SiliCompressor.with(Context).compress(uriString, destinationDirectory, true);
String filePath = SiliCompressor.with(Context).compress(R.drawable.icon);
Bitmap imageBitmap = SiliCompressor.with(Context).getCompressBitmap(imageUriString);
Bitmap imageBitmap = SiliCompressor.with(Context).getCompressBitmap(imageUriString, true);
implementation 'com.iceteck.silicompressorr:silicompressor:2.2.4'
<dependency>
<groupId>com.iceteck.silicompressorr</groupId>
<artifactId>silicompressor</artifactId>
<version>2.2.4</version>
<type>aar</type>
</dependency>
<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.
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.