Мне нужно закодировать тысячи файлов MP4 H264 (в основном) в иерархии папок в H265. К сожалению, Handbrake, который я обычно использую, плохо поддерживает пакетную обработку иерархий.
Отдельный проект HB Batch Encoder, похоже, не поддерживает X265.
Предпочтительно мне нужен метод, который может
Можете ли вы предложить инструмент и метод для достижения этого набора функций?
FFMPEG , конечно. Будучи приложением командной строки, его можно легко интегрировать в любой пакетный процесс, каким бы запутанным он ни был, с тем преимуществом, что вы можете узнать о возможностях командной строки, пока вы в ней (сработало для меня).
Я еще не очень хорошо изучил кодировку h.265, но с помощью настроек, которые я украл из вики ffmpeg , вот как вы бы кодировали папку, полную .movs:
cd "/the/path to/your/folder/"
mkdir "for the trash"
for i in *.mov; do;
ffmpeg -i "$i" -c:v libx265 -preset slow -crf 25 -c:a copy "${i/\.mov/.mp4}"
mv $i "./for the trash/"
done
Обратите внимание, что это не удалит файлы, а переместит их в новую папку, называемую корзиной . Это потому, что если вы удаляете файлы с помощью командной строки, они исчезают мгновенно, у вас не будет второго шанса, если вы передумаете или сделаете опечатку. Есть мусорные утилиты командной строки , но это выходит за рамки этого ответа.
вот запись в вики , на которой я основывал свою команду ffmpeg, она хорошо объясняет используемые параметры (я немного беспокоюсь о сжатии с потерями, поэтому я несколько изменил настройки качества. Я также использовал медленную предустановку, которая дает меньший файл В зависимости от того, сколько у вас есть времени, вы можете использовать что-то от ultrafast
до placebo
для достижения результатов, которые различаются по размеру файла, но с тем же качеством. placebo
Назван так потому, что небольшая разница, которую он дает за счет значительного увеличения времени обработки, в основном в вашей голове):
В этом примере мы будем использовать следующие настройки:
- CRF по умолчанию 28. CRF 28 должен визуально соответствовать видео libx264 в CRF 23, но в результате получается примерно половина размера файла.
- средняя предустановка. Предустановка определяет, насколько быстрым будет процесс кодирования — за счет эффективности сжатия. Иными словами, если вы выберете сверхбыстрое, процесс кодирования будет выполняться быстро, но размер файла будет больше по сравнению со средним. Визуальное качество будет таким же. Допустимые пресеты: сверхбыстрый, сверхбыстрый, очень быстрый, быстрый, быстрый, средний, медленный, медленнее, очень медленный и плацебо.
- Аудио AAC со скоростью 128 кбит/с. Здесь используется внутренний кодировщик ffmpeg, но в разделе AAC вы найдете информацию о дополнительных параметрах.
ffmpeg -i input -c:v libx265 -preset medium -crf 28 -c:a aac -b:a 128k output.mp4
Handbrake также работает в командной строке .
И, наконец, если у вас аллергия на колоссальную мощь, скрытую в terminal.app, есть GUI для ffmpeg, например этот или этот . Не уверен, насколько хорошо они справляются с пакетным кодированием, и это не рекомендация, потому что я не использую ни один из них. Время ужесточить и использовать командную строку!
аудионума
МиБ