Самый быстрый способ конвертировать видео (пакетное или одиночное)?

Если вы предпочитаете командную строку, вы можете использовать ffmpeg (или handbrake-cli).

MP4

Предполагая, что вы используете последнюю версию ffmpeg:

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
  • -crf: Качество. Диапазон логарифмический от 0 (без потерь) до 51 (худшее качество). Значение по умолчанию - 23. Субъективный разумный диапазон составляет ~ 18-28 или около того. Используйте самое высокое значение, которое по-прежнему обеспечивает приемлемое качество. Если вы перекодируете непрактично большие входные данные для загрузки на YouTube или что-то подобное, попробуйте значение 17 или 18, так как эти видеосервисы все равно перекодируют.

  • -preset: Скорость кодирования. Более медленная предустановка обеспечивает лучшее сжатие (качество на размер файла), но работает медленнее. Используйте самый медленный, на который у вас хватит терпения: сверхбыстрый, сверхбыстрый, очень быстрый, быстрый, средний (по умолчанию), медленный, медленный, очень медленный.

  • -movflags +faststart: Позволяет воспроизводить видео до его полной загрузки в случае просмотра с постепенной загрузкой. Полезно, если вы размещаете видео, в противном случае излишне при загрузке на видеосервис, такой как YouTube.

  • -vf scale=-2:720,format=yuv420p: А фильтрограф с помощью масштаб и формат видеофильтры. Масштабируйте до 720 пикселей в высоту и автоматически выбирайте ширину, которая сохранит пропорции, а затем убедитесь, что формат пикселей совместим с проигрывателями dumb.

  • -b:a 128k: Битрейт аудио. Если ваш ffmpeg устарел, то вам нужно будет добавить -strict experimental использовать -c:a aac.

МОВ

Поскольку ваши файлы MOV и MP4, вероятно, содержат одни и те же видео- и аудиоформаты, вы можете закодировать MP4 и создать MOV путем повторного мультиплексирования (с потоковое копирование режим) вместо перекодирования:

ffmpeg -i input.mp4 -codec copy output.mov

WMV

FFmpeg поддерживает только WMV 7 и 8. Я не знаю о кодере с открытым исходным кодом для версии 9.

$ ffmpeg -encoders | grep -i windows[...] V..... = Video A..... = Audio ------ V..... wmv1                 Windows Media Video 7 V..... wmv2                 Windows Media Video 8 A..... wmav1                Windows Media Audio 1 A..... wmav2                Windows Media Audio 2

Поскольку я не знаком с этими кодировщиками, я могу привести только непроверенный пример:

ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv

Получение ffmpeg

Вы можете скачать Linux-сборка ffmpeg или следуйте пошаговой инструкции руководство по компиляции ffmpeg чтобы настроить свою сборку.

Использование bash "для цикла" для выполнения пакетного кодирования

Для кодирования всех видео в каталоге:

$ mkdir encoded$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \  -c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \  "encoded/${f%.avi}.mp4"; done

Также смотрите