Аргументы ffmpeg с флаттером для загрузки видео в firebase

Я пытался использовать ffmpeg для сжатия размера файла видео, чтобы я мог загрузить его в хранилище firebase.

Я запустил код в Windows cmd, и он работает. Но когда я запускаю его на флаттере, качество видео ужасное. Я также указал много значений для параметра -crf, но качество выходного видео и размер файла всегда одинаковы.

int processSuccess = await _flutterFFmpeg.execute(["-i", "file1.mp4", "-crf", "23", "fileoutput.mp4"]);

Мне пришлось изменить пакет на видео, так как при импорте по умолчанию выполнение не удалось, так как не удалось найти параметр -crf.

  flutter_ffmpeg:
    git:
      url: git://github.com/tanersener/flutter-ffmpeg.git
      ref: v0.2.1
      path: packages/flutter_ffmpeg_video

Я делаю что-то не так с аргументами выполнения или импорт, который я использую, не является правильным пакетом. Извините, я очень новичок в ffmpeg.

Спасибо за помощь.

https://github.com/tanersener/флуттер-ffmpeg

Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
0
0
2 165
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

В итоге для сжатия использовал flutter_video_compress. Хорошо работает https://pub.dartlang.org/packages/flutter_video_compress

Я вижу, что вы используете video пакет flutter_ffmpeg, который, к сожалению, не включает библиотеки под лицензией GPL, такие как x264. Если вы используете пакет с лицензией GPL, такой как min-gpl, https-gpl или full-gpl, то ваше выходное видео будет закодировано с x264 и будет иметь лучшее качество.

Используйте пакет flutter_ffmpeg 21 упаковка в соответствии с вашими требованиями.

Конфигурация

В Android отредактируйте файл android/build.gradle и определите имя пакета в переменной ext.flutterFFmpegPackage.

 ext {
  flutterFFmpegPackage  = "<package name>"//e.g "full-gpl"
 }

Другие вопросы по теме