3

私たちは Android 3D アニメーション アプリに取り組んでいます。

画像を識別し、FFmpeg を使用して同じ画像を保存してビデオにエンコードする必要があります (Android API がサポートしていないため)。ビデオが生成されると、オーディオが同じものに追加されます。

これには2つの問題があります。

1 つ目は、識別された画像をエンコード用に保存する際のメモリ リークの問題です。エミュレータの CPU が過負荷になっています。画像が選択されるたびに FFpmeg が呼び出されるかどうか。この問題を解決するにはどうすればよいですか?

2 つ目 (最初の 1 つを通過した場合) は、選択した画像をエンコードできません。これは、緑色のビデオを生成しているためです。この理由は何でしょうか?

画像から H264 へのビデオ エンコードに FFmpeg 以外のツールはありますか? 画像のバージョン (Rastar または Vector) がこのビデオ エンコーディングに影響するかどうか。Android OS のバージョンは考慮されますか?

これに関する貴重な情報をいただければ幸いです。

ありがとう

4

1 に答える 1

0

Androidフォンでffmpegを使用してそのアイデアも試しましたが、はるかに強力なサーバーでそれを行うことをお勧めします。サーバーでは、スマートフォンの CPU 負荷について考える必要はありません。

一般に、ffmpeg の実行を改善するには、ffmpeg 呼び出しを公開する必要があります。ffmpeg は、パラメーターの順序が効率と直接相関する静かな複合体です。

どのコンテナ形式を好むかはわかりませんが、単純な mjpeg コーデックが適しているかもしれません。AFIK では、相互に接続された jpeg フレームだけがあり、ビデオを h264/x264 にエンコードするのは非常に簡単です (ffmpeg は最後のフレームを使用します)。

両方を組み合わせて、サーバー側でクライアントにダウンロードできる h264 ビデオに変換される mjpeg ストリームを生成することができます。しかし、顧客のトラフィックを無駄にしたくない場合は、ビデオの長さに大きく依存します。

于 2012-09-29T05:59:56.853 に答える