Я работаю над Android-приложением, где хочу создать видео из списка статических изображений . После выполнения поиска в Интернете, это сделало меня понял, что использование «FFMPEG» - это способ сделать это: сделано. Поэтому я завладел этим сайтом: https://github.com/guardianproject/android-ffmpeg-java откуда я загрузил библиотеку C и оболочку Java. Я смог скомпилировать библиотеку C - конечно, не так, как была изложена инструкция - но все еще я смог получить исполняемый файл «ffmpeg» под именем /external/android-ffmpeg/ffmpeg. Я скопировал этот исполняемый файл в моей текущей директории, а затем скопировал его в каталог под Android , где мое приложение может получить к нему доступ. Тогда я назвал предоставленный Java обертку, но я вижу некоторые ошибки в файле журнала, как следует:Android FFMPEG: Не удалось выполнить ffmpeg из кода Java
08-13 11:55:37.848: D/FFMPEG(29598): /data/data/com.sample/app_bin/ffmpeg -y -loop 1 -i /storage/emulated/0/usersnapshot/ffmpeg/image%03d.jpg -r 25 -t 2 -qscale 5 /storage/emulated/0/video/snapshot-video.mp4
08-13 11:55:37.898: I/ShellCallback : shellOut()(29598): /data/data/com.sample/app_bin/ffmpeg[1]: syntax error: '(' unexpected
08-13 11:55:37.938: I/ShellCallback : processComplete()(29598): 1
И следующий фрагмент кода (где targetDirectoryForFFMPEG = каталог, в котором хранятся изображения):
FfmpegController ffmpegController = new FfmpegController(this, targetDirectoryForFFMPEG);
String out = videoOutPutFile.getPath();
MediaDesc mediaIn = new MediaDesc();
mediaIn.path = targetDirectoryForFFMPEG+"/image%03d.jpg";
mediaIn.videoFps = "25";
ffmpegController.convertImageToMP4(mediaIn, 2, out,new ShellCallback() {
@Override
public void shellOut(String shellLine) {
Log.i("ShellCallback : shellOut()", shellLine);
}
@Override
public void processComplete(int exitValue) {
Log.i("ShellCallback : processComplete()", exitValue+"");
}
});
Неужели кто-то реализовал это раньше? Если да, можете ли вы указать мне, что я делаю неправильно? При необходимости я предоставит больше информации.
Проверьте разрешения для исполняемого файла 'ffmpeg'. – shrm