在complile for android时显示的FFMPEG错误

时间:2016-04-06 06:22:44

标签: android ffmpeg ubuntu-14.04

我正在尝试将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添加到我的项目中。

2 个答案:

答案 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链接。