Разница между файлом .so и библиотекой Java в ffmpeg

#c #ffmpeg #cmake #android-ndk #android-ffmpeg

#c #ffmpeg #cmake #android-ndk #android-ffmpeg

Вопрос:

Есть ли какая-либо разница между использованием ffmpeg с файлом .so (ndk,.cpp) или просто с помощью библиотеки ffmpeg (пример: com.github.hiteshsondhi88.libffmeg). Я вижу, что приложения моих коллег продают 10rs, используя эти библиотеки, по сравнению с приложением при вызове функции cpp, которое продает 1000rs ?

Реализация с библиотекой Java:

 FFmpeg ffmpeg = FFmpeg.getInstance(context);
try {
  // to execute "ffmpeg -version" command you just need to pass "-version"
  ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {

    @Override
    public void onStart() {}

    @Override
    public void onProgress(String message) {}

    @Override
    public void onFailure(String message) {}

    @Override
    public void onSuccess(String message) {}

    @Override
    public void onFinish() {}
  });
} catch (FFmpegCommandAlreadyRunningException e) {
  // Handle if FFmpeg is already running
}
  

Комментарии:

1. То, что вы показываете здесь, скорее всего, требует внешнего ffmpeg двоичного файла и не будет работать, если вы хотите обрабатывать мультимедийные потоки в приложении.

2. хорошо! я мало что знаю об этой библиотеке Java, но какая разница, если мы напишем cpp-код с разделяемыми объектами, cmake и выполним процесс с помощью жестких функций c вместо использования этой библиотеки Java

3. Это трудный путь. Создание собственного кода для Android — это не пикник.