android - Andoird - FFMPEG 在 Android 中录制的视频上添加时间戳或文本
问题描述
嗨,我正在尝试使用 andorid 在录制的视频中添加时间戳,但无法做到。
我正在ffmpeg
为该实现使用库com.writingminds:FFmpegAndroid:0.3.2
我的命令是:
commandArray = new String[]{"-i", inputVideoPath, "-vf", "drawtext=fontfile=ostrich-regular.ttf:text='Stack Overflow':fontsize=24:",
"-codec:a", "copy", outputPath};
但是应用程序陷入了困境onProgress()
。
// 下面是我的全部代码
FFmpeg ffmpeg = FFmpeg.getInstance(this);
try {
//Load the binary
ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onFailure() {
}
@Override
public void onSuccess() {
}
@Override
public void onFinish() {
}
});
} catch (FFmpegNotSupportedException e) {
// Handle if FFmpeg is not supported by device
}
try {
// to execute "ffmpeg -version" command you just need to pass "-version"
String outputPath = "";
outputPath = getAppDir() + "/video_compress.mp4";
String[] commandArray = new String[]{};
commandArray = new String[]{"-i", inputVideoPath, "-vf", "drawtext=fontfile=ostrich-regular.ttf:text='Stack Overflow':fontsize=24:",
"-codec:a", "copy", outputPath};
for (String i : commandArray) {
System.out.println("Starting process " + i);
}
final ProgressDialog dialog = new ProgressDialog(VideoActivity.this);
ffmpeg.execute(commandArray, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {
Log.e("FFmpeg", "onStart");
dialog.setMessage("Compressing... please wait");
dialog.show();
}
@Override
public void onProgress(String message) {
Log.e("FFmpeg onProgress? ", message);
}
@Override
public void onFailure(String message) {
Log.e("FFmpeg onFailure? ", message);
}
@Override
public void onSuccess(String message) {
Log.e("FFmpeg onSuccess? ", message);
}
@Override
public void onFinish() {
Log.e("FFmpeg", "onFinish");
if (dialog.isShowing())
dialog.dismiss();
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
e.printStackTrace();
// Handle if FFmpeg is already running
}
解决方案
推荐阅读
- python - ModuleNotFoundError:没有名为“stable_baselines3”的模块
- r - 如何在列表列和外部向量之间的 data.table 中进行行匹配?
- javascript - 添加图像、替换、裁剪、删除部分
- python - 根据名称组合两个元组列表
- python - 在 kubernetes 上运行的烧瓶 mongodb ServerSelectionTimeoutError
- data-warehouse - 数据仓库中的星型模式模型是什么范式
- c# - 为字母绘制矩形框
- css - 有没有一种优雅的方法来参数化 npm 中每页的 Sass 捆绑?
- image - 带有画廊闪烁的英雄动画 Flutter
- linux - 如何创建别名命令来停止芹菜