Create_Handbrake_Queue.vbs — скрипт для создания файла очереди HandBrake для пакетного конвертирования видео-файлов (HandBrake, VBScript, Total Commander).
Программа HandBrake
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. Текст кнопки можно скопировать и вставить на панель:
1 2 3 4 5 6 7 8 | TOTALCMD#BAR#DATA %Commander_Path%ScriptsCreate_Handbrake_Queue.vbs %L "HB_preset1_ed.hbq" c:Program FilesHandbrakeHandbrake.exe HB queue c:Program FilesHandbrake 1 -1 |
Параметр %L создает список выделенных файлов, к которым будет применен скрипт. Total Commander позволяет по горячей клавише Ctrl+B показывать все файлы без подкаталогов, это позволяет получить с помощью параметра %L список всех видео-файлов внутри заданной папки, включая ее внутренние папки.
Создание шаблона для Create_Handbrake_Queue.vbs
Второй аргумент, передающийся скрипту Create_Handbrake_Queue.vbs, это полный путь к файлу шаблону настроек конвертирования. Чтобы создать такой файл нужно проделать следующие операции.
Пусть нужно одинаковым образом переконвертировать список файлов
Возьмем один из файлов, например videoplayback.mp4, и загрузим его в программу HandBrake. Эта операция делается через вкладку Source:
Настроим параметры конвертирования. После настройки нужных параметров добавим эту операцию конвертирования в Очередь (Queue) с помощью команды Add To Queue->Add Selection->Add:
Теперь можно просмотреть Очередь с помощью команды Show Queue:
Для создания файла шаблона воспользуемся функцией экспорта Очереди в отдельный файл Show Queue-> Options-> Export Queue:
Сохраним файл очереди на диск под именем HB_preset1.hbq . Файл очереди HandBrake является xml-файлом. Откроем этот файл любым редактором текстовых файлов и удалим из этого файла первые строки:
Эти строки содержат открывающуюся секцию ArrayOfQueueTask. Удалим последнюю строчку, закрывающую секцию /ArrayOfQueueTask
В результате в файле шаблона HB_preset1.hbq для конвертирования видео-файлов должен остаться лишь код секции
QueueTask
…
/QueueTask
Далее необходимо заменить пути в ключах Source и Destination на ключевые слова INPUTFILENAME и OUTPUTFILENAME, соответственно:
Скрипт 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:
Для запуска конвертации файлов нужно нажать на кнопку Start.
После конвертации файлов рядом со исходными видео-файлами появятся новые файлы с постфиксом _new (можно выбрать другой постфикс, сообщив его третьим параметром к скрипту Create_Handbrake_Queue.vbs). Далее можно с помощью Total Commander удалить исходные файлы, с помощью Группового переименования переименовать новые файлы (например, убрать постфикс _new)
Файлы для скачивания
Архив с скриптом Create_Handbrake_Queue.vbs и текстом кнопки для Total Commander
Скачать HandBrake