7

私はNDKを初めて使用するので、チュートリアルを読み、FFMPEG libを正常にビルドし、それをjniフォルダーにコピーしてAndroid.mkとApplication.mkファイルを作成し、ndk-buildコマンドを実行して、libavcodec.soをlibフォルダーに入れました..(ffmpegヘッダーファイルをjniフォルダーにコピーしませんでした..ヘッダーファイルを追加する必要がありますか、それとも完全なffmpeg libをjniに追加する必要があります...スタックオーバーフローのコメントは、ヘッダーファイルを追加するだけでよいと言っています)

カメラのビデオを小さなサイズに変換したい場合は、avcoac.soを使用して圧縮する必要があることを知っているので、コンパイルしますが、これはどのように使用できますか.

そのsoファイルを使用するのは私の心の中に混乱があります.. 1)System.load( "libavcodec.so")メソッドを使用してロードする必要がありますかSoファイルをロードした後、そうファイルをロードした後、Cのネイティブメソッドにアクセスするにはどうすればよいですか/C++?

2) または、お互いに通信する Java クラスと C クラスを作成し、その C クラスが ffmpeg の avcodec クラスと通信する必要がありますか??

または、Android.mk よりも c クラスを作成する必要がある場合は、ソースファイル行に追加する必要がある場合、両方ともう 1 つの重要なことを実装する必要がありますか???

また、FFMPEG でビデオ ファイルのサイズを圧縮する方法と手順を教えてください。

この私の質問は、他の初心者にも役立ちます。ありがとうございました

4

3 に答える 3

2

JavaCVには、Java ラッパーと FFmpeg 用のプリコンパイル済みバイナリが付属しています。

さらに、RecordActivity.javaサンプルはまさにあなたが探しているものを実行しているようです!

于 2013-09-28T09:46:34.840 に答える
1

Androidでビデオの圧縮にFFmpeg4ライブラリを使用しています。したがって、このコマンドを使用してビデオ品質を向上させ、圧縮を最小限に抑えることができます。私のプロジェクトで使用しましたが、正常に機能しています。

ffmpeg -i <your input video path.mp4> -s 480x320 -acodec mp2 -strict -2 -ac 1 -ar 16000 -r 13 -ab 32000 -aspect 3:2 <your output video path.mp4>
于 2015-09-22T09:43:03.193 に答える