1

У меня есть видеофайл длиной 15 секунд и 465 195 КБ. Я хотел бы уменьшить его примерно до 46000 КБ. Есть простой способ сделать это. Я пробовал самый большой разрешенный битрейт

ffmpeg -i input -q:v 0 -b:v 900000k output

и я все еще получаю файл только 3500 КБ

заранее спасибо

1 ответ1

1

Как выбрать целевой файл фиксированного размера с помощью ffmpeg?

Если вы хотите транскодировать с использованием x264 , вы можете следовать руководству по кодированию, в котором приведены примеры того, как настроить таргетинг на файл определенного размера.

target bitrate = target filesize / duration

ie     bitrate = 46000           / 15

ie     bitrate = 3067 (kbit / s)

Вероятно, вам понадобится немного этого для аудио; в качестве приблизительного значения по умолчанию руководство использует 128k, поэтому целевой битрейт составляет 2939 кбит / с. Затем вы можете использовать спецификацию двухпроходного кодирования:

ffmpeg -y -i input -c:v libx264 -preset medium -b:v 2939k -pass 1 -c:a libfdk_aac -b:a 128k -f mp4 /dev/null && \
ffmpeg -i input -c:v libx264 -preset medium -b:v 2939k -pass 2 -c:a libfdk_aac -b:a 128k output.mp4

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

Конечно, вы можете настроить это в соответствии с вашими потребностями с точки зрения кодирования звука и так далее, но в итоге вы должны получить файл размером 46000 КБ.

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