Skip to content

FFmpeg is a powerful multimedia framework which allows us to decode, encode, transcode, stream, filter and play most of the media content available now. With the help of these tools, you can develop and application that can manipulate any form of media to the desired output. Sky is not the limit when using FFmpeg. I prefer FFmpeg-all which is a …

License

Notifications You must be signed in to change notification settings

tizisdeepan/VideoEditor

Repository files navigation

Simple Video Trimmerw

License

Video Editor
Video Editor

About Library

Simple video editor Library contains the following features (cropping/trimming/compressing) videos, using FFmpegKit Libary.

Implementation

[1] In your app module gradle file

dependencies {
 implementation 'com.github.mohamed0017:SimpleVideoEditor:<latest_version>'
}

[2] In your project level gradle file

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

[3] Use VideoTrimmer in your layout.xml

    <com.video.trimmer.view.VideoEditor
        android:id="@+id/videoTrimmer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/header"/>

[4] Implement OnVideoEditedListener on your Activity/ Fragment

class MainActivity : AppCompatActivity(), OnTrimVideoListener {
    ...
    override fun onTrimStarted(){
    }
    override fun getResult(uri: Uri){
    }
    override fun cancelAction(){
    }
    override fun onError(message: String){
    }
    override fun onProgress(percentage: Int){
    }
}

[5] Create instances and set default values for the VideoTrimmer in your Activity/ Fragment

videoTrimmer.setTextTimeSelectionTypeface(FontsHelper[this, FontsConstants.SEMI_BOLD])
                    .setOnTrimVideoListener(this)
                    .setOnVideoListener(this)
                    .setVideoURI(Uri.parse(path))
                    .setVideoInformationVisibility(true)
                    .setMaxDuration(10)
                    .setMinDuration(2)
                    .setVideoQuality(VideoQuality.Medium) // set video quality
                    .setDestinationPath(Environment.getExternalStorageDirectory().path + File.separator + Environment.DIRECTORY_MOVIES)

[8] Create instances and set default values for the VideoCropper in your Activity/ Fragment

 videoCropper.setVideoURI(Uri.parse(path))
                    .setOnCropVideoListener(this)
                    .setMinMaxRatios(0.3f, 3f)
                    .setDestinationPath(Environment.getExternalStorageDirectory().path + File.separator + Environment.DIRECTORY_MOVIES)

Voila! You have implemented an awesome Video Editor for your Android Project now!

About

FFmpeg is a powerful multimedia framework which allows us to decode, encode, transcode, stream, filter and play most of the media content available now. With the help of these tools, you can develop and application that can manipulate any form of media to the desired output. Sky is not the limit when using FFmpeg. I prefer FFmpeg-all which is a …

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages