From d6912e7155ba7c399862e7e37a52db88c5a9cebc Mon Sep 17 00:00:00 2001
From: xufulong <839789740@qq.com>
Date: Sat, 3 Nov 2018 01:03:11 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A7=86=E9=A2=91=E9=99=8D?=
=?UTF-8?q?=E5=99=AA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ffmpeg/activity/VideoHandleActivity.java | 35 +++++++++++--------
.../com/frank/ffmpeg/util/FFmpegUtil.java | 13 +++++++
.../main/res/layout/activity_video_handle.xml | 9 +++++
app/src/main/res/values/strings.xml | 1 +
4 files changed, 44 insertions(+), 14 deletions(-)
diff --git a/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.java b/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.java
index bf8a698..bfccd2f 100644
--- a/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.java
+++ b/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.java
@@ -10,13 +10,11 @@ import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.ProgressBar;
-
import com.frank.ffmpeg.FFmpegCmd;
import com.frank.ffmpeg.R;
import com.frank.ffmpeg.format.VideoLayout;
import com.frank.ffmpeg.util.FFmpegUtil;
import com.frank.ffmpeg.util.FileUtil;
-
import java.io.File;
public class VideoHandleActivity extends AppCompatActivity implements View.OnClickListener{
@@ -71,6 +69,7 @@ public class VideoHandleActivity extends AppCompatActivity implements View.OnCli
findViewById(R.id.btn_play_video).setOnClickListener(this);
findViewById(R.id.btn_multi_video).setOnClickListener(this);
findViewById(R.id.btn_reverse_video).setOnClickListener(this);
+ findViewById(R.id.btn_denoise_video).setOnClickListener(this);
}
private void setVisible() {
@@ -85,6 +84,7 @@ public class VideoHandleActivity extends AppCompatActivity implements View.OnCli
findViewById(R.id.btn_play_video).setVisibility(View.VISIBLE);
findViewById(R.id.btn_multi_video).setVisibility(View.VISIBLE);
findViewById(R.id.btn_reverse_video).setVisibility(View.VISIBLE);
+ findViewById(R.id.btn_denoise_video).setVisibility(View.VISIBLE);
}
private void setGone() {
@@ -99,6 +99,7 @@ public class VideoHandleActivity extends AppCompatActivity implements View.OnCli
findViewById(R.id.btn_play_video).setVisibility(View.GONE);
findViewById(R.id.btn_multi_video).setVisibility(View.GONE);
findViewById(R.id.btn_reverse_video).setVisibility(View.GONE);
+ findViewById(R.id.btn_denoise_video).setVisibility(View.GONE);
}
@Override
@@ -138,6 +139,9 @@ public class VideoHandleActivity extends AppCompatActivity implements View.OnCli
case R.id.btn_reverse_video:
handleType = 10;
break;
+ case R.id.btn_denoise_video:
+ handleType = 11;
+ break;
default:
handleType = 0;
break;
@@ -151,9 +155,6 @@ public class VideoHandleActivity extends AppCompatActivity implements View.OnCli
*/
private void doHandleVideo(int handleType){
String[] commandLine = null;
- if (!FileUtil.checkFileExist(srcFile) || !FileUtil.checkFileExist(appendVideo)){
- return;
- }
switch (handleType){
case 0://视频转码:mp4转flv、wmv, 或者flv、wmv转Mp4
if (!FileUtil.checkFileExist(srcFile)){
@@ -207,12 +208,12 @@ public class VideoHandleActivity extends AppCompatActivity implements View.OnCli
String photoMark = PATH + File.separator + "photoMark.mp4";
commandLine = FFmpegUtil.addWaterMark(appendVideo, photo, photoMark);
//2、文字
- //String text = "Hello,FFmpeg";
- //String textPath = PATH + File.separator + "text.jpg";
- //boolean result = BitmapUtil.textToPicture(textPath, text, this);
- //Log.i(TAG, "text to pitcture result=" + result);
- //String textMark = PATH + File.separator + "textMark.mp4";
- //commandLine = FFmpegUtil.addWaterMark(appendVideo, photo, textMark);
+// String text = "Hello,FFmpeg";
+// String textPath = PATH + File.separator + "text.jpg";
+// boolean result = BitmapUtil.textToPicture(textPath, text, this);
+// Log.i(TAG, "text to pitcture result=" + result);
+// String textMark = PATH + File.separator + "textMark.mp4";
+// commandLine = FFmpegUtil.addWaterMark(appendVideo, textPath, textMark);
break;
case 5://视频转成gif
if (!FileUtil.checkFileExist(srcFile)){
@@ -251,12 +252,18 @@ public class VideoHandleActivity extends AppCompatActivity implements View.OnCli
commandLine = FFmpegUtil.multiVideo(input1, input2, outputFile, VideoLayout.LAYOUT_HORIZONTAL);
break;
case 10://视频反序倒播
- String input = PATH + File.separator + "beyond.mp4";
String output = PATH + File.separator + "reverse.mp4";
- if (!FileUtil.checkFileExist(input) || !FileUtil.checkFileExist(output)){
+ if (!FileUtil.checkFileExist(srcFile)){
+ return;
+ }
+ commandLine = FFmpegUtil.reverseVideo(srcFile, output);
+ break;
+ case 11://视频降噪
+ String denoise = PATH + File.separator + "denoise.mp4";
+ if (!FileUtil.checkFileExist(srcFile)){
return;
}
- commandLine = FFmpegUtil.reverseVideo(input, output);
+ commandLine = FFmpegUtil.denoiseVideo(srcFile, denoise);
break;
default:
break;
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 8ee3bc2..b0dab7b 100644
--- a/app/src/main/java/com/frank/ffmpeg/util/FFmpegUtil.java
+++ b/app/src/main/java/com/frank/ffmpeg/util/FFmpegUtil.java
@@ -264,4 +264,17 @@ public class FFmpegUtil {
return reverseVideo.split(" ");
}
+ /**
+ * 视频降噪
+ * @param inputFile 输入文件
+ * @param targetFile 输出文件
+ *
+ * @return 视频降噪的命令行
+ */
+ public static String[] denoiseVideo(String inputFile, String targetFile){
+ String reverseVideo = "ffmpeg -i %s -nr 500 %s";
+ reverseVideo = String.format(reverseVideo, inputFile, targetFile);
+ return reverseVideo.split(" ");
+ }
+
}
diff --git a/app/src/main/res/layout/activity_video_handle.xml b/app/src/main/res/layout/activity_video_handle.xml
index cefb54d..e41413d 100644
--- a/app/src/main/res/layout/activity_video_handle.xml
+++ b/app/src/main/res/layout/activity_video_handle.xml
@@ -112,4 +112,13 @@
android:layout_marginTop="10dp"
android:text="@string/video_reverse"/>
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9fe27f1..197534e 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -36,6 +36,7 @@
快进
画面拼接
视频倒播
+ 视频降噪
切换
开始