Я знаю, что здесь есть много вопросов о видеокодерах, но мой вопрос больше касается рабочего процесса / эффективности.
Для моей повседневной работы мне часто нужно конвертировать видео из многих случайных форматов (обычно больших Ави, M4V, а что нет) и конвертируйте их и сжимайте в эффективные файлы, которые мы можем использовать в Интернете для загрузки. Форматы, которые я должен создать, следующие:
Мне нужно создать общие шаблоны для пары вариантов использования (преобразовать в тот же, что и исходный код, 1080p, или 720p) и иметь возможность быстро обрабатывать их и ставить в очередь.
Есть какие-нибудь идеи о том, как лучше всего выполнить этот процесс в Ubuntu?
Если вы предпочитаете командную строку, вы можете использовать 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
Также смотрите
Попробуй Ручной тормоз.
HandBrake - это инструмент для преобразования видео практически из любого формата в набор современных, широко поддерживаемых кодеков. Для установки просто нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните приведенные ниже команды:
sudo add-apt-repository ppa:stebbins/handbrake-releasessudo apt-get updatesudo apt-get install handbrake
Я знаю, что в Windows есть Avanti, и я думаю, что самое близкое, что вы можете получить в Linux, - это либо avconv командная строка или интерфейс, такой как WinFF или ConvertMe… может быть, в качестве последнего средства вы могли бы попробовать Аванти в вине.