Я успешно построил ffmpeg для android, используя bambuser . Теперь мне нужно создать примерное приложение-конвертер, например mp4-3gp. Я знаю, что есть команды командной строки ffmpeg -i video_origine.avi video_finale.mpg
. Но я не знаю, как выполнять эти команды программно. У меня есть пример кода, напримерКак выполнить командные команды ffmpeg программно в android?
jint Java_com_example_ndklearning1_MainActivity_logFileInfo(JNIEnv * env, jobject this, jstring filename)
{
av_register_all();
AVFormatContext *pFormatCtx;
const jbyte *str;
str = (*env)->GetStringUTFChars(env, filename, NULL);
if(av_open_input_file(&pFormatCtx, str, NULL, 0, NULL)!=0)
{
LOGE("Can't open file '%s'\n", str);
return 1;
}
else
{
LOGI("File was opened\n");
LOGI("File '%s', Codec %s",
pFormatCtx->filename,
pFormatCtx->iformat->name
);
}
return 0;
}
Этот код открывает файл и извлекает информацию о кодеке. Все, что я хочу, это то, что для преобразования открытого файла в желаемый формат. Любые виды помощи, такие как фрагмент кода или шаги, которые следует выполнить, будут высоко оценены.
Может ли ffmpeg API служить моей цели? Если имеется существующий API, это будет более полезно
удивительный подход! Я попробую свой путь! Я вдали от своего офиса, поэтому я должен подождать до завтрашнего утра. Между тем, можете ли вы мне сказать, мне нужно перестроить ffmpeg для андроида после выполнения модификации? Нужно ли включать заголовочный файл в свой собственный файл кода? –
Файлы заголовков, которые необходимо включить, - это только и . Я отправлю свой Android.mk в свой ответ. –
shhp
Я получаю эту ошибку: 08-14 05: 30: 11.729: W/dalvikvm (17973): PR_CAPBSET_DROP 0 failed: Недопустимый аргумент. Убедитесь, что ваше ядро скомпилировано с поддержкой поддержки файлов. –