単一のビデオタイプ(* .mp4)をサポートするようにFFMPEGをコンパイルしようとしています。
すべてをコンパイルするときにすべてが機能しますが、単一の形式のみを使用する場合は、余分なオーバーヘッドは必要ありません。
これが私のコンパイルフラグです(MP4では機能しません)。特に有効にする必要のあるコーデック/デコーダーは他にもあると思いますが、それらを見つけるのに苦労しています。
以下のビルドフラグを示すコンパイラ指令:
FLAGS="$FLAGS --disable-everything"
FLAGS="$FLAGS --enable-encoder=mpeg4video" ## This is the question, what all needs enabling?
どのコーデック/エンコーダーなどをオンにするかを正確に知るには、ビデオ標準を十分に理解していません。
av_register_all();
avdevice_register_all();
byteCtx = av_alloc_put_byte(buffer, BUFFER_SIZE, 0, f, ReadFunc, NULL, SeekFunc);
if (!byteCtx) {
return;
}
// Open video file (here's the failure, doesn't happen when compiled for all)
inputFormat = av_find_input_format("MP4");
if (!inputFormat) {
LOGE(ANDROID_LOG_ERROR, "NDK:", "Null inputformat!");
return;
}