- Notifications
You must be signed in to change notification settings - Fork220
This library generate an Mp4 movie using Android MediaCodec API and apply filter, scale, trim, transcode, crop, timeScale, mute and rotate Mp4.
License
NotificationsYou must be signed in to change notification settings
MasayukiSuda/Mp4Composer-android
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This library generate an Mp4 movie using Android MediaCodec API and apply filter, scale, trim, transcode, crop, mute and rotate Mp4.
Idea from:android-transcoder
![]() Sample Video No filter | ![]() GlGlayScaleFilter apply | ![]() GlMonochromeFilter apply | ![]() GlWatermarkFilter apply |
Step 1. Add the JitPack repository to your build file
allprojects {repositories {...maven { url'https://jitpack.io' }}}Step 2. Add the dependency
dependencies { implementation'com.github.MasayukiSuda:Mp4Composer-android:v0.4.1'} new Mp4Composer(srcMp4Path, destMp4Path) .rotation(Rotation.ROTATION_90) .size((width) 540, (height) 960) .fillMode(FillMode.PRESERVE_ASPECT_FIT) .filter(new GlFilterGroup(new GlMonochromeFilter(), new GlVignetteFilter())) .trim((trimStartMs) 200, (trimEndMs) 5000) .listener(new Mp4Composer.Listener() { @Override public void onProgress(double progress) { Log.d(TAG, "onProgress = " + progress); } @Override public void onCompleted() { Log.d(TAG, "onCompleted()"); runOnUiThread(() -> { Toast.makeText(context, "codec complete path =" + destPath, Toast.LENGTH_SHORT).show(); }); } @Override public void onCanceled() { Log.d(TAG, "onCanceled"); } @Override public void onFailed(Exception exception) { Log.e(TAG, "onFailed()", exception); } }) .start();| method | description |
|---|---|
| rotation | Rotation of the movie, default Rotation.NORMAL |
| size | Resolution of the movie, default same resolution of src movie. If you specify a resolution that MediaCodec does not support, an error will occur. |
| fillMode | Options for scaling the bounds of an movie. PRESERVE_ASPECT_FIT is fit center. PRESERVE_ASPECT_CROP is center crop , default PRESERVE_ASPECT_FIT. FILLMODE_CUSTOM is used to crop a video. Checkthis for behavior. Sample source code isthis. |
| filter | This filter is OpenGL Shaders to apply effects on video. Custom filters can be created by inheritingGlFilter.java. , default GlFilter(No filter). Filters ishere. |
| videoBitrate | Set Video Bitrate, default video bitrate is 0.25 * 30 * outputWidth * outputHeight |
| mute | Mute audio track on exported video. Defaultmute = false. |
| trim | Trim both audio and video tracks to the provided start and end times, inclusive. Default does not trim anything from the start or end. |
| flipVertical | Flip Vertical on exported video. DefaultflipVertical = false. |
| flipHorizontal | Flip Horizontal on exported video. DefaultflipHorizontal = false. |
| videoFormatMimeType | The mime type of the video format on exported video. default AUTO. Suppurt HEVC, AVC, MPEG4, H263. Checkthis. |
| timeScale | Set TimeScale. default value is 1f. should be in range 0.125 (-8X) to 8.0 (8X) |
About
This library generate an Mp4 movie using Android MediaCodec API and apply filter, scale, trim, transcode, crop, timeScale, mute and rotate Mp4.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.



