Скрипт для пакетного конвертирования видео-файлов (HandBrake+VBScript+TC)

Create_Handbrake_Queue.vbs — скрипт для создания файла очереди HandBrake для пакетного конвертирования видео-файлов (HandBrake, VBScript, Total Commander).

Программа HandBrake

HandBrake — бесплатный кроссплатформенный видео-конвертер.

GUI HandBrake

HandBrake достаточно удобен в использовании. Но в текущей версии программы есть и недостатки. К недостаткам можно отнести невозможность быстрого (например, с помощью Drag and Drop) создания и конвертирования произвольного списка файлов. Есть возможность добавить в программу сразу все видео-файлы из одной папки, а опции добавить файлы из внутренних папок нет. Предполагается, что пользователь в ручном режиме добавит каждую папку с видео-файлами в программу и потом воспользуется так называемой Очередью (Queue). Инструмент Очередь позволяет составить полный список заданий для конвертирования. Как только весь список заданий в Очереди составлен, можно запустить выполнение конвертирования файлов по этому списку и выбрать, что будет сделано по окончанию работы программы (например, будет выключен компьютер и т.д.).

Недостаток, связанный с невозможностью быстрого добавления всех видео-файлов из внутренних папок, был замечен уже давно. Появились вспомогательные программы, запускающие консольную подпрограмму HandBrakeCLI.exe (входит в состав программ HandBrake) с нужными параметрами для конвертации списка файлов. Одной из таких программ является HB Batch Encoder Mk 2. К сожалению, эта программа давно не обновлялась и поэтому невозможно рекомендовать использовать ее с текущей версией HandBrake. Кроме того, из GUI интерфейса программы HandBrake невозможно выделить (в текущей версии), какие именно параметры передаются в консольную подпрограмму HandBrakeCLI.exe для конвертации видео (именно эти параметры нужно прописать в HB Batch Encoder Mk 2).

Нет никакой сложности в том, чтобы легко исправить этот недостаток в HandBrake (думаю, разработчики обратят в скором времени на это внимание). Но пока этого не сделано, можно воспользоваться скриптом Create_Handbrake_Queue.vbs для Total Commander для создания Очереди (Queue) конвертации списка видео-файлов.

Описание скрипта Create_Handbrake_Queue.vbs

Скрипт Create_Handbrake_Queue.vbs написан на VBScript.

Результат работы скрипта:

Создается файл очереди MyHBqueue.hbq в рабочей директории скрипта. Файл MyHBqueue.hbq можно импортировать в HandBrake для запуска пакетного конвертирования файлов по выбранному шаблону.

Входные параметры

Create_Handbrake_Queue.vbs Текстовый файл со списком видео-файлов для обработки «Полный путь к шаблону настроек конвертирования» «Постфикс для новых файлов (опционально)»

«Полный путь к шаблону настроек конвертирования» — путь к обычному текстовому файлу, содержащему секцию QueueTask с ключевыми словами INPUTFILENAME и OUTPUTFILENAME, в которой описываются настройки конвертирования файлов.

Cкрипт Create_Handbrake_Queue.vbs и Total Commander

Особенно удобно использовать скрипт Create_Handbrake_Queue.vbs в Total Commander. Для этого можно создать кнопку на панели Total Commander. Текст кнопки можно скопировать и вставить на панель:

Параметр %L создает список выделенных файлов, к которым будет применен скрипт. Total Commander позволяет по горячей клавише Ctrl+B показывать все файлы без подкаталогов, это позволяет получить с помощью параметра %L список всех видео-файлов внутри заданной папки, включая ее внутренние папки.

Создание шаблона для Create_Handbrake_Queue.vbs

Второй аргумент, передающийся скрипту Create_Handbrake_Queue.vbs, это полный путь к файлу шаблону настроек конвертирования. Чтобы создать такой файл нужно проделать следующие операции.

Пусть нужно одинаковым образом переконвертировать список файлов

GUI HandBrake

Возьмем один из файлов, например videoplayback.mp4, и загрузим его в программу HandBrake. Эта операция делается через вкладку Source:

GUI HandBrake

Настроим параметры конвертирования. После настройки нужных параметров добавим эту операцию конвертирования в Очередь (Queue) с помощью команды Add To Queue->Add Selection->Add:

GUI HandBrake

GUI HandBrake

Теперь можно просмотреть Очередь с помощью команды Show Queue:

GUI HandBrake

Для создания файла шаблона воспользуемся функцией экспорта Очереди в отдельный файл Show Queue-> Options-> Export Queue:

GUI HandBrake

Сохраним файл очереди на диск под именем HB_preset1.hbq . Файл очереди HandBrake является xml-файлом. Откроем этот файл любым редактором текстовых файлов и удалим из этого файла первые строки:

GUI HandBrake

Эти строки содержат открывающуюся секцию ArrayOfQueueTask. Удалим последнюю строчку, закрывающую секцию /ArrayOfQueueTask

В результате в файле шаблона HB_preset1.hbq для конвертирования видео-файлов должен остаться лишь код секции

QueueTask

/QueueTask

Далее необходимо заменить пути в ключах Source и Destination на ключевые слова INPUTFILENAME и OUTPUTFILENAME, соответственно:

GUI HandBrake

GUI HandBrake

Скрипт Create_Handbrake_Queue.vbs будет искать эти ключевые слова и подставлять вместо них путь к конкретному файлу из списка и путь к новому файлу, полученному в результате конвертации.

Файл шаблона для конвертирования видео-файлов создан. Именно этот файл нужно указывать вторым аргументом для скрипта Create_Handbrake_Queue.vbs.

Работа Create_Handbrake_Queue.vbs в Total Commander

Если нужно составить список всех видео-файлов в папке, включая все файлы во внутренних папках, то удобно воспользоваться функцией Total Commander «Показать все файлы без каталогов» (горячая клавиша Ctrl+B). Далее выделяем нужные видео-файлы и нажимаем на кнопку скрипта Create_Handbrake_Queue.vbs на панели инструментов Total Commander. В результате работы скрипта будет создан файл MyHBqueue.hbq для Очереди (Queue) HandBrake в рабочей директории скрипта (рабочая директория указывается в параметрах кнопки).

Для импорта этого файла в HandBrake снова зайдем в инструмент Очередь Show Queue->Options->Import Queue:

GUI HandBrake

GUI HandBrake

Для запуска конвертации файлов нужно нажать на кнопку Start.

После конвертации файлов рядом со исходными видео-файлами появятся новые файлы с постфиксом _new (можно выбрать другой постфикс, сообщив его третьим параметром к скрипту Create_Handbrake_Queue.vbs). Далее можно с помощью Total Commander удалить исходные файлы, с помощью Группового переименования переименовать новые файлы (например, убрать постфикс _new)

Файлы для скачивания

Архив с скриптом Create_Handbrake_Queue.vbs и текстом кнопки для Total Commander

Create_Handbrake_Queue.zip

Скачать HandBrake

HandBrake

Оцените статью
В коробке инженера
Добавить комментарий

Нажимая на кнопку "Добавить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности

Введите буквы на русском языке : *

Reload Image