私は例えばビデオを持っています。レースカーのビデオと私は速度とパフォーマンスに関連するいくつかの進行状況バーを含むオーバーレイビュー(透明な相対的なレイアウト)を作成しました今私はこのビューで見られるように完全なビデオをエクスポートする必要があります誰も私はffmpeg、opencv成功はない。ビデオへのオーバーレイの追加androidのビデオとしてのエクスポート
答えて
私はあなたがこのタスクを達成するためにOpenCVのか、ffmpegのを使用することができると思うが、彼らは、このタスクのための適切なツールではないかもしれないように思えます。 OpenCVは高度なビデオ処理に最適で、フードの下では、デコードとエンコードの機能にffmpegを使用しています。 ffmpegは、さまざまなメディア形式をサポートする必要がある場合に最適です。 ffmpegでは、スタンドアロンプロセスとして実行しようとする可能性がありますが、これは権限の問題やエラー処理には理想的ではありません。また、ffmpegを組み込んだ独自のAndroid NDK APIを作成することもできますが、これは多大な労力を要します。必要な出力メディア形式がsupported by Androidであると仮定すると、最も簡単な方法はAndroid MediaCodecライブラリを使用することです。
デコード、編集、エンコード方法を示すGoogleのthis test codeをご覧ください。ビデオファイルをSurfaceTextureにデコードすることができます。編集部分では、OpenGL ESを使用してオーバーレイを行います。オーバレイ画像をテクスチャにアップロードし、ビデオフレームSurfaceTextureに描画することができます。シーンが描かれると、出力されたテクスチャをMediaCodecエンコーダに送ることができます。これはすべてエクスポートプロセスで行うことができ、必ずしも視聴可能なビデオと透明な相対レイアウトに関連付ける必要はありません。
ビデオをビットマップにデコードし、ビットマップをmp4ビデオにエンコードする場合は、jcodecを使用できます。
SequenceEncoder sequenceEncoder = new SequenceEncoder(new File(pathToSaveVideo));
映像にオーバーレイビットマップに戻って
Canvas canvas = new Canvas(backgroundBitmap);
Paint rectpaint = new Paint(Paint.ANTI_ALIAS_FLAG);
int width = overlayBitmap.getWidth();
int height = overlayBitmap.getHeight();
Rect des = new Rect(0, 0, canvas.getWidth(), canvas.getHeight());
Rect src = new Rect(0, 0, width, height);
canvas.drawBitmap(overlayBitmap, src, des, rectpaint);
エンコードそれを組み合わせるループ内でのビデオ
の各フレームの
- 抽出ビットマップを次の手順を実行し
sequenceEncoder.encodeImage(backgroundBitmap);
は最後にループした後、エンコーダを終える
sequenceEncoder.finish()
あなたはOpenCVのorg.bytedeco.javacppを使用して達成することができるようになります、私はフレームをgarbingとFFmpegFrameRecorderはバックMP4に、この画像を記録するFFmpegFrameGrabberを使用同じオーディオコーデック
- 1. androidのthree.jsのテクスチャとしてのビデオ
- 2. iPhoneアプリからのビデオのYouTubeへのコメントの追加
- 3. Coverr.coビデオに明るい灰色のオーバーレイを追加しますか?
- 4. iOSからAndroidへのピアツーピアのビデオ?
- 5. Androidの円形バッファへのビデオ録画
- 6. Androidビデオのクラッシュ
- 7. androidのオーバーレイ画像でビデオを録画する
- 8. Androidイメージとビデオ
- 9. アンドロイドのビデオにオーディオを追加する
- 10. Android/Javaのビデオにウォーターマークを追加するには
- 11. ビデオ:ビットからビデオへ
- 12. Fancyboxビデオのダウンロードと私はクラスを追加しました
- 13. Youtube APIを使用して最後のYoutubeビデオをシャネルに追加 - Android
- 14. Facebookアルバムへのビデオのアップロード
- 15. ビットマップのシーケンスへのNRecoビデオ
- 16. ビデオリンクを追加して私のウェブページでビデオを再生する
- 17. ビデオを壁のポストにプログラムで追加してください
- 18. iphoneイメージからビデオへのビデオの問題のスピード
- 19. ビデオの長さ - ビデオへの画像の配列
- 20. サイドバーのビデオとバナーの間にスペースを追加する方法
- 21. iPhoneからカメラを録画し、別のビデオでオーバーレイとして使用する
- 22. androidのビデオの投影テキスト
- 23. Androidのyoutubeビデオの再生
- 24. ビデオ:動的にビデオを追加できません
- 25. Androidカメラのプレビューコールバックとメディアレコーダーの録画ビデオ
- 26. WMVへのビデオ変換
- 27. FFMpeg:ビデオへの画像
- 28. プラグインなしのWebサイトへのビデオ
- 29. OpenCoreへの入力としてのビデオ/オーディオフレーム
- 30. textviewをビューのサブビューとして追加し、このビューをビデオに追加する
どのオーバレイですか? – kalabalik
コードを表示してください。 – kalabalik
私はその質問を理解していません。ここに私が持っているものがあります。画面上で再生されているビデオを書き出したいとします。あなたはビデオを再生するために何を使用していますか? – pellucide