私は、特にユーザーが短いビデオを作成し、それらに面白い効果を適用し、それらを互いに共有できるようにする Android アプリに取り組んでいます。まず、グレースケール、明るさ、コントラスト、セピアトーニングなどの単純な色効果を探しています。
これはすべて、記録時に色効果を適用できるカメラクラスを使用することで非常に簡単になります-少なくともほとんどの電話のカメラはできます-私はいくつかを使用してテストしましCamera.getParameters().getSupportedColorEffects();
た. しかし問題は、録画が完了した後にそれを行う必要があるということです。ユーザーはビデオを開いて、適用する一連のエフェクトの中から選択します。次に、その変更されたビデオを共有サーバーにアップロードします。
*の愛のために、これを行う良い方法を見つけることができません。
Android の SDK にはビデオユーティリティが含まれていないようです。はandroid.media.effect package
いくつかの効果を実行できますが、ビデオのバックドロップのみで、残りは画像用です。再生中に videoview の surfaceview からビットマップを抽出しても機能せず、真っ黒なビットマップが返されるだけです。ストレージと画面の間のデータストリームを傍受する方法がないようです。そこにエフェクトを適用します。FFmpeg ライブラリを使用してビデオ ファイルをデコードし、データにアクセスできるようにすることを検討し始めましたが、それにはかなりのネイティブ コーディングが必要であり、さまざまな CPU アーキテクチャ用に個別にコンパイルする必要があるため、非常に面倒です。カメラがこれらの効果を適用できると思いました(Sony LT26iでは、なし、モノ、ネガ、ソラライズ、セピア、ポスタライズ)、おそらく、カメラからではなくメモリからのビデオストリームをレコーダーに供給し、その方法で保存されたビデオファイルを使用できますか?
録画後にビデオに効果を適用する良い方法があるかどうか、誰か知っていますか?