diff --git a/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.kt b/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.kt index fdf0006..1d6d4fa 100644 --- a/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.kt +++ b/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.kt @@ -119,7 +119,8 @@ class VideoHandleActivity : BaseActivity() { R.id.btn_flv, R.id.btn_thumbnail, R.id.btn_add_subtitle, - R.id.btn_rotate + R.id.btn_rotate, + R.id.btn_gop ) } @@ -339,6 +340,12 @@ class VideoHandleActivity : BaseActivity() { val addSubtitlePath = PATH + File.separator + "rotate" + rotateDegree + suffix commandLine = FFmpegUtil.rotateVideo(srcFile, rotateDegree, addSubtitlePath) } + R.id.btn_gop// change the gop(key frame interval) of video + -> { + val gop = 30 + val gopPath = PATH + File.separator + "gop" + gop + suffix + commandLine = FFmpegUtil.changeGOP(srcFile, gop, gopPath) + } else -> { } } diff --git a/app/src/main/java/com/frank/ffmpeg/util/FFmpegUtil.java b/app/src/main/java/com/frank/ffmpeg/util/FFmpegUtil.java index 0b54844..3edf4ec 100644 --- a/app/src/main/java/com/frank/ffmpeg/util/FFmpegUtil.java +++ b/app/src/main/java/com/frank/ffmpeg/util/FFmpegUtil.java @@ -699,4 +699,10 @@ public class FFmpegUtil { return rotateCmd.split(" "); } + public static String[] changeGOP(String inputPath, int gop, String outputPath) { + String rotateCmd = "ffmpeg -i %s -g %d %s"; + rotateCmd = String.format(Locale.getDefault(), rotateCmd, inputPath, gop, outputPath); + return rotateCmd.split(" "); + } + } diff --git a/app/src/main/res/layout/activity_video_handle.xml b/app/src/main/res/layout/activity_video_handle.xml index f1ecc29..4be7d01 100644 --- a/app/src/main/res/layout/activity_video_handle.xml +++ b/app/src/main/res/layout/activity_video_handle.xml @@ -156,6 +156,13 @@ android:layout_marginTop="4dp" android:text="@string/video_rotate"/> +