2016-04-06 15 views
2

私のアンドロイドプロジェクトにffmpegを追加しようとしています。私はubuntu 14.04 OSを使用しています。FFMPEGエラーが表示され、アンドロイドに適合しています

私はこのリンクに従います。 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を追加する方法を教えてください。

答えて

1

あなたのプロジェクトにFFmpeg Android Javaのインプリメンテーションを持つFFmpeg androidを使用することができます。

使用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リンク。

+0

こんにちは..提案していただきありがとうございます。しかし、今私はこのソリューションだけを使用しています。しかし、私はバックグラウンドで圧縮を行うことはできません。つまり、私はビデオを撮り、バックグラウンドで圧縮したいということです。しかし、この解決策は、ビデオを前景で圧縮することしかできません。つまり、UIに依存します。 UI情報を注入する必要があります。そのため、ユーザーは圧縮まで待つ必要があります。私はこれに移ることにしました。私がffmpegライブラリをコンパイルすると、私はバックグラウンドでコンパイルプロセスを動かすことができます。他のアイデアを教えてください。 – Vijay

+0

あなたはonProgessメソッドを使用して作業することができます。また、大きなサイズのビデオがある場合は、バックグラウンドで実行する必要があります。アンドロイドは大量の処理を処理できないためです。 –

+0

@Ravi: - 究極の..非常に非常にあなたに感謝します。、私は正しい答えのために投票しました..ありがとうございますが、私はあなたが編集することを忘れないと思う答えのライブラリを変更する必要があります –

2

- システムがコマンドラインパラメータとして必須ではないようです。

これを試してみてください -

$ ANDROID_NDK /ビルド/ツール/ make-standalone-toolchain.sh --help

それはあなたがすることができますあなたの--system

の実際の使用を表示したりしますシステムの詳細を指定せずにコマンドを実行しようとすると、ここに実行できるものがあります。 -

$ ANDROID_NDK/build/tools/makestandalone-toolchain.sh --toolchain = x86-4.8 --arch = x86 - platform = android-14 --install-dir =/tmp/vplayer

+0

こんにちは..ありがとう提案。私はすぐにあなたに知らせるようにしようとします。 – Vijay

+0

今、このエラーはなくなりました。しかし、今私はこの同じコマンドで別の問題に直面しています。 'toolchainを見つけることができませんでした:/home/vijay/Android/Sdk/ndk-bundle/toolchains/x86-4.8/prebuilt/linux-x86_64 --toolchain = には、ソースNDKでサポートされているツールチェーンの名前を使用してください。 ' – Vijay

+0

' '' --system'''なしで完璧に動作します。 – Florida

関連する問題