Pra*_*ani 4 android ffmpeg android-ffmpeg
如何使用Android中drawable文件夹或assets文件夹中的图像作为水印。
我发现了很多带有命令的示例,但所有示例都使用内部存储的静态图像路径。
我已经完成了以下代码来制作带水印的视频。
try {
FFmpeg ffmpeg = FFmpeg.getInstance(mContext);
// to execute "ffmpeg -version" command you just need to pass "-version"
String mSelectedPath = PathUtils.getPathFromUri(mContext, selectedUri);
String mFileName = PathUtils.getFileName(mSelectedPath);
final String mDestinationPath = "/storage/emulated/0/" + mFileName;
String[] array = new String[]{"-i", mSelectedPath , "-i", "/storage/emulated/0/logo.png", "-filter_complex", "[0:v][1:v]overlay=main_w-overlay_w-10:10", "-codec:a", "copy", mDestinationPath};
ffmpeg.execute(array, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {
Log.d(TAG, "onStart: ");
Toast.makeText(mContext, "Preparing video...", Toast.LENGTH_SHORT).show();
}
@Override
public void onProgress(String message) {
Log.d(TAG, "onProgress: " + message);
Toast.makeText(mContext, "Processing for compression...", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(String message) {
Log.d(TAG, "onFailure: " + message);
Toast.makeText(mContext, "Failed to upload, Try Again.", Toast.LENGTH_SHORT).show();
}
@Override
public void onSuccess(String message) {
Log.d(TAG, "onSuccess: " + message);
Toast.makeText(mContext, "Uploading started", Toast.LENGTH_SHORT).show();
mFinalUploadUri = PathUtils.getUriFromPath(mContext, new File(mDestinationPath));
uploadVideo();
}
@Override
public void onFinish() {
Log.d(TAG, "onFinish: ");
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// Handle if FFmpeg is already running
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
有人知道如何使用 drawable 或 assets 文件夹中的图像作为水印吗?任何人都可以帮忙吗?
FFMpeg 不是 Android Environment 。Drawable 和 Assets 目录仅用于 Android 环境所以如果你想添加图像作为水印,你应该只去文件存储路径
| 归档时间: |
|
| 查看次数: |
955 次 |
| 最近记录: |