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

Я знаю, что здесь много вопросов о видеокодерах, но мой вопрос больше о рабочем процессе / эффективности.

Для своей повседневной работы мне нужно конвертировать видео, часто, из многих случайных форматов (обычно больших AVI , M4V и других), конвертировать их и сжимать их в эффективные файлы, которые мы можем использовать в Интернете для загрузки. Форматы, которые я должен создать:

Мне нужно создать общие шаблоны для пары вариантов использования (преобразовать в один и тот же источник, [ 116] 1080p или 720p ) и возможность обрабатывать их быстро и в очереди.

Есть какие-нибудь идеи о том, как лучше всего выполнить этот процесс в Ubuntu?

26
задан 22 December 2015 в 14:32

2 ответа

Если вы предпочитаете командную строку, вы можете использовать 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 пикселей и автоматически выберите ширину, которая сохранит аспект, а затем убедитесь, что формат пикселей совместим с немыми плеерами.

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

MOV

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

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 [ 1120] или следуйте пошаговому руководству по компиляции ffmpeg для настройки вашей сборки.

Использование bash «for loop» для выполнения пакетного кодирования

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

$ 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

Также см.

0
ответ дан 22 December 2015 в 14:32

Попробуйте HandBrake .

HandBrake - это инструмент для преобразования видео практически из любого формата в набор современных, широко поддерживаемых кодеков. Для установки просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake
0
ответ дан 22 December 2015 в 14:32

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

Похожие вопросы: