DSLRobot v0.1.2

3.2. Формат скриптового файла

Дмитрий Пашко
29 июля 2008 года

 
<< На главную страницу
 

3.2.1 Общие сведения

Скриптовой файл представляет собой текстовый файл, содержащий набор команд управления камерой и процессом съемки в целом.

Файл начинается со строки, содержащей следующую последовательность (обязательно с начала строки):

#!dslrobot

Эта строка является признаком, что данный файл является скриптом DSLRobot. Файлы без такого маркера не обрабатываются.

Дальше начинается построчная обработка файла. Каждая строка содержит одну команду. Строки, начинающиеся с символа # или последовательности // считаются комментариями и не обрабатываются.

# Это комментарий
// И это тоже

Также пропускаются конструкции, которое DSLRobot не смог разобрать. Файл читается до конца неверной команды и дальнейшее выполнение продолжается.

3.2.2. Управление фотокамерой

Команды всего две:

set параметр="значение" ...
shot [параметр="значение" ...]

И еще одна команда предусмотрена для тех, кто хочет управлять настройками камеры по USB/IEEE 1384, а затвором — с помощью COM-порта:

shotcom параметр="значение" ...

Команда set выполняет установку одного или нескольких параметров камеры. Информация о параметрах передается в виде пар название параметра=значение. Значение обычно передается в кавычках, но в очевидных случаях кавычки можно опустить.

Устанавливаемые параметры разделяются пробелами. В качестве разделителя также можно также использовать запятые.

set Tv="1/10" Av=4.5, ISO="100"

Команда shot выполняет установку заданных параметров камеры, а затем производит съемку очередного кадра. Если параметры не заданы — съемка делается с текущими настройками. В этом смысле эти две последовательности команд эквивалентны:

set Tv="1/10"
shot
 
shot Tv="1/10"

Команда shotcom делает то же самое, что и shot, но подает команду не через Canon API, а сигналом RTS выбранного COM-порта. Команда доступна только если DSLRobot был запущен с ключем -com. Управление через COM-порт является экспериментальным. Подробнее про эту возможность см. здесь.

Теперь самое интересное — настраиваемые значения и их коды. Но чтобы не отвлекаться потом, хочу сделать одно замечание. Настройка камеры имеет массу особенностей. Я постарался их выписать тут. Настоятельно рекомендую ознакомиться.

3.2.3. Синхронизация

Понятно, что в процессе съемки потребуются паузы. Во-первых, периодически придется делать паузы, чтобы камера успевала сбросить снятые кадры на карточку. Во-вторых, иногда хочется подождать того самого момента "Ч", про который что-то известно. Для такой вот синхронизации используется команда wait:

wait параметр="значение"

Параметров бываем довольно много:

3.2.4. Взаимодействие с пользователем

Чтобы сообщить пользователю какую-то информацию, можно использовать команды:

echo "текст сообщения"
play "имя звукового файла"

Команда echo просто выводит строку текста на экран.

Команда play пытается проиграть указанный звуковой файл. Звук играется асинхронно, т.е. не тормозит выполнение съемки.

По логике должны играться любые звуковые файлы, для которых в системе установлен кодек. Однако мне удалось проиграть только WAV-файлы в формате PCM. Почему так, я разбираться не стал, ибо для звукового сообщения и этого достаточно.

3.2.5. Пример скрипта для DSLRobot

#!dslrobot
# Comment

checkpoint

echo !--------------------------!
echo    Это такая минитабличка  |
echo !--------------------------!

play D:\tada.wav

#wait sleep="00:01:10"

#wait time="1:30"
#wait gmt="21:30:10.1"
#wait time="08-05"
#wait gmt="25.11"
#wait time="08-10-5"
#wait gmt="25.7.2008"
#wait time="22.07.2008 2:01:01"

wait checkpoint="90"

set Tv=1/30 Av="4"
set format="RAW", AEMode="Tv"
set ISO=200; metering="eval";
set drive="single"
set shotmul=2.5
//set shottime=1	shotmul=2.2

checkpoint

shot Tv=1000
shot Tv=500
shot Tv=250
shot Tv=125
shot Tv=60

wait checkpoint="10"

shot Tv=30
shot Tv=15
shot Tv=8
shot Tv=4
shot Tv=2

wait checkpoint="20"

shot Tv=1
shot Tv=2s
shot Tv=1

wait checkpoint="30"

shot Tv=2
shot Tv=4
shot Tv=8
shot Tv=15
shot Tv=30

wait checkpoint="40"

shot Tv=60
shot Tv=125
shot Tv=250
shot Tv=500
shot Tv=1000

wait user=Finish

 
<< На главную страницу
 


Copyright © 2008, Дмитрий Пашко <>.