3

Vitamioで使用されているffmpegのバージョンを変更することに成功した人はいますか?Linuxで動作するパッチを適用し、Android用のlibffmpeg.soとしてコンパイルしました。バンドルに含まれているライブラリではなく、このライブラリからVitamioを実行するにはどうすればよいですか?

何か案は?

ありがとう、

ダン

4

1 に答える 1

3

要件

Vitamio 3.0 は Android NDK r8bでビルドされているため、NDK r8b を使用してカスタム FFmpeg をビルドすることをお勧めします。開発者のフィードバックによると、他の NDK リビジョンを使用すると、多くの問題やクラッシュが発生します。

FFmpeg のビルド

まず、GitHub http://github.com/yixia/FFmpeg-Androidから FFmpeg-Android ライブラリを複製します。次に、必要に応じてFFmpeg-Android.shを微調整します。

最も一般的なシナリオは、アプリ内で FFmpeg のいくつかの特定のモジュールをコンパイルしたいというものです。この状況では、必要なことはFFMPEG_FLAGS、シェル スクリプト内の を変更することだけです。利用可能なすべてのパラメーターは、FFmpeg の configure script に詳しく記載されていますconfigure --help

まれに、FFmpeg にパッチを適用したい場合、さらに作業が必要になることがあります。実際、必要なのは FFmpeg-Android.sh を理解するか、独自のビルド スクリプトを作成することだけです。

最後に bash で FFmpeg-Android.sh を実行します。これは、zsh でも動作する可能性のある bash スクリプトです。

バンドル libarm.so

VitamioBundle でファイルres/raw/libarm.soを見つけます。

=> file res/raw/libarm.so 
res/raw/libarm.so: 7-zip archive data, version 0.3

はい、魔法が見つかりました。これは 7-zip ファイルなので、とにかく解凍して、各 libffmpeg.so を独自のビルドに置き換えます。

60 <=> armv6
61 <=> vfp
70 <=> armv7
71 <=> neon

最後に、すべてのデータをlibarm.soに再度アーカイブします。

ソース: https://www.vitamio.org/en/2013/Tutorial_0509/13.html

于 2013-03-21T06:37:35.413 に答える