Я использую библиотеку FFmpeg, чтобы обрезать видео в проекте Android. Пользователь снял видео с камеры устройства.

  • 10-секундное видео оригинал 640x480 = 200 КБ

После обрезки по FFmpeg; почему размер обрезанного файла увеличивается?

  • 10-секундное видео обрезано 640x417 = 1,4 МБ (!!!)

Я использовал эту команду:

-i video.mp4 -vf crop=640.0:417.10345:0:0 -threads 5 -preset ultrafast -strict -2 videocropped.mp4

Подробности камеры устройства для оригинального захвата видео:

  • Формат файла: MP4
  • Видеокодек: H263
  • Аудиокодек: AMR-NB
  • Кодированный битрейт видео: 256000
  • Частота кадров: 30 кадров в секунду
  • Размеры видео: 640x480

1 ответ1

0

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

Нет простого способа получить "правильный" способ обработки файла, потому что исходное видео уже сжато. Этот процесс потребует распаковки -> кроп -> перекомпрессии, поэтому вам придется либо потратить время на его сжатие, либо работать с большим файлом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .