3

この質問を確認しました。

それは非常に似ています: Android カメラでビデオを録画したいです。その後、ライブラリで背景を削除します。これはクロマキーです。まず、SDK のメモリ制限を回避してメモリ全体を使用するには、Android NDK を使用する必要があると思います。ビデオの長さは数秒と短いので、おそらくそれを処理できます。android:largeHeap="true".so ファイルのアーキテクチャが一致しないため、SDK 実装を使用して を設定したいと思います。

SDK または NDK のライブラリの提案をお願いします。

4

1 に答える 1

3

ビデオ処理はCPUを消費する操作であり、Javaコードではパフォーマンスが向上しないため、IMOはNDKベースのソリューションを優先する必要があります。さらに、最も一般的で信頼性の高いメディア処理ライブラリは、C または C++ で記述されていることがよくあります。

FFmpegをご覧になることをお勧めします。マルチメディアに対応するリーチ機能を提供します。chromakeyフィルターを使用すると、緑色の背景 (または任意の色) を削除できます。その後、必要に応じて別のビデオを新しい背景として使用できます。blendフィルターのドキュメントを参照してください。

フィルターは素晴らしく強力な概念です。これらは、ffmpegツール コマンド ラインまたはlibavfilterAPI の両方で使用できます。前者の場合ffmpeg、android 用にコンパイルされたバイナリを見つけて、従来の .xml で実行する必要がありますRuntime.exec()。後者の場合、適切なフィルタ グラフを作成して処理を実行するネイティブ コードを記述する必要があります。このコードは、FFmpeg ライブラリにリンクする必要があります。

于 2016-10-27T07:00:22.230 に答える