Как уменьшить размер файла видео из командной строки?

6

Я хочу уменьшить размер видео. Видео может быть .flv, .avi и т. Д. Я хочу, чтобы это было сделано с терминала. Как я могу это сделать?

    
задан thirdeye 31.01.2013 в 17:53
источник

1 ответ

6

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

Здесь есть много вариантов:

  • Преобразование более старых форматов ( MPEG-1 , DivX 3 и т. д.) в более новые и более эффективные кодеки (например, x264 , theora ), которые, как правило, в основном сохраняют качество видео / звука на меньшем выходе.

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

  • Уменьшите размеры видеоизображения, чтобы обеспечить аналогичное качество воспроизведения при меньшем общем размере.

Если у вас нет веских причин для другого выбора, x264 для видео и aac для аудио в контейнере mp4 является хорошим выбором для качества и достаточно широкой совместимости (но вы должны закодировать что-то короткое и попробовать все, что вы захотите воспроизвести, - получение широко воспроизводимых транскодированных результатов остается упражнением в колдовстве).

Я нахожу, что текущая команда служит мне достаточно хорошо для преобразования более старых форматов:

avconv -y -i INPUT -pre:v libx264-slower -b:a 96k -c:v libx264 -c:a libvo_aacenc OUTPUT.mp4

Вы можете уменьшить размер изображения, добавив -vf scale=iw*0.5:ih*0.5 до имени выхода или установить бит битбит -b:v или сыграть с вариантами с несколькими проходами ... но в основном вышеизложенное даст разумный результат.     

ответ дан chronitis 31.01.2013 в 18:22
источник