我正在尝试将ffmpeg添加到我的android项目中。我使用的是ubuntu 14.04操作系统。
我正在关注此链接。 Link
但是我在执行此行时遇到错误。
$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --toolchain=x86-4.8 --arch=x86 --system=linux-x86_64 --platform=android-14 --install-dir=/tmp/vplayer
我收到以下错误。
HOST_OS=linux
HOST_EXE=
HOST_ARCH=x86_64
HOST_TAG=linux-x86_64
HOST_NUM_CPUS=1
BUILD_NUM_CPUS=2
ERROR: Unknown option '--system'. See --help for usage.
请帮我解决这个问题,并将ffmpeg添加到我的项目中。
答案 0 :(得分:2)
似乎 - 系统不需要作为命令行参数。
试试这个 -
$ ANDROID_NDK / build / tools / make-standalone-toolchain.sh --help
它将向您显示--system
的实际用途或者您可以尝试在不提供系统详细信息的情况下运行命令,以下是您可以执行的操作 -
$ ANDROID_NDK / build / tools / make-standalone-toolchain.sh --toolchain = x86-4.8 --arch = x86 --platform = android-14 --install-dir = / tmp / vplayer
答案 1 :(得分:1)
您可以在项目中使用FFmpeg android和实现FFmpeg Android Java
库。见下文
使用gradle
compile 'com.writingminds:FFmpegAndroid:0.3.2'
并在您的项目中实现下面的代码。
加载二进制文件
您必须加载二进制代码。
FFmpeg ffmpeg = FFmpeg.getInstance(context);
try {
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
}
执行二进制
这里你已经为你的任务传递了ffmpeg命令。
FFmpeg ffmpeg = FFmpeg.getInstance(context);
try {
// to execute "ffmpeg -version" command you just need to pass "-version"
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {}
@Override
public void onProgress(String message) {}
@Override
public void onFailure(String message) {}
@Override
public void onSuccess(String message) {}
@Override
public void onFinish() {}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// Handle if FFmpeg is already running
}
更多信息reffer this链接。