Методы для загрузки или создания видео-клипов |
|
AVISource / OpenDMLSource / AVIFileSource / WAVSource
AVISource("filename")
OpenDMLSource("filename")
AVIFileSource("filename")
WAVSource("filename")
|
AVISource передаётся один аргумент, являющийся именем файла в
кавычках. Метод пытается считать этот файл используя либо
интерфейс "Video-for-Windows" либо встроенный OpenDML код (перенесённый из
VirtualDub). Фильтр способен загрузить любой файл, для которого
существует AVIFile обработчик. Сюда включаются не только AVI
файлы, но и WAV, AVS (скрипт AVISynth) и
VDR (фрейм-сервер VirtualDub).
|
|
Метод AVISource определяет тип файла и вызывает наиболее
соответствующий AVIFile или OpenDML обработчик. В случае,
если открыть файл таким образом не удаётся, можно
использовать OpenDMLSource или AVIFileSource , явно указывая какой тип
обработчика использовать. Оба фильтра способны читать обычные (>2GB)
AVI файлы. Но только через OpenDML можно работать с файлами большего
размера, и только AVIFile открывает не AVI файлы (WAV,
VDR, AVS).
|
|
Примеры |
AVISource("d:\capture.avi") # Замечание C-программистам: обратный
слеш не дублируется.
AVISource("c:/capture/00.avi") # прямой слеш также работает
AVISource("f:\soundtrack.wav") # это работает
WAVSource("f:\soundtrack.wav") # и это тоже
|
|
|
DirectShowSource
DirectShowSource("filename" [, FPS])
|
DirectShowSource читает filename используя
DirectShow, та же система воспроизведения мультимедиа файлов, что
используется в Windows Media Player. Метод может загрузить
большинство форматов проигрываемых Windows Media Player, в том
числе MPEG, MP3 и QuickTime, также как и AVI
файлы не поддерживаемые AVISource (например DV type 1
или файлы использующие только DirectShow кодеки). Попытайтесь считать
AVI файлы сначала посредством AVISource и если не
сработает поменяйте на DirectShowSource
|
|
Несколько предостережений:
-
Звук пока не поддерживается.
-
GRF файлы не поддерживаются (возможно поддержка появиться
в следующих версиях).
-
Некоторые декодеры (замечено с MS MPEG-4) формирует видео
кверх-ногами.
Вам потребуется использовать
FlipVertical .
-
От DirectShow видео-декодеров не требуется
поддерживать точное, покадровое позиционирование и большинство не делают этого.
Пока вы просто читаете видео последовательно, всё должно быть в
порядке, но да помогут вам небеса, если вы пожелаете чего-то более
сложного. Это ограничение не относиться к AVI файлам, или
любым другим форматам которые имеют покадрово-точный
DirectShow декодер.
-
От DirectShow видео-декодеров даже не сообщать вам частоту кадров
входящего видео. Большинство сообщают, но ASF декодер нет. Возможно
как-нибудь эта проблема решиться авто-анализом потока (как делал
VirtualDub), но сейчас вы должны задавать частоту кадров,
например
DirectShowSource("video.asf", fps=15) .
|
|
|
SegmentedAVISource / SegmentedDirectShowSource
SegmentedAVISource("base-filename"[,...])
SegmentedDirectShowSource("base-filename"[,...][,fps])
|
Метод SegmentedAVISource автоматически загрузит до 100 AVI
файлов (используя AVISource ) и склеит их вместе (используя
UnalignedSplice ). Если d:\filename.ext используется в
качестве аргумента, то будут загружены файлы d:\filename.00.ext,
d:\filename.01.ext и т.д. до d:\filename.99.ext. Несуществующие
файлы этой последовательности буду опущены.
|
|
SegmentedDirectShowSource работает аналогично.
|
|
|
IPCSource
IPCSource("name")
|
IPCSource открывает коммуникационный канал с
AVISynth-совместимым фрейм-сервером работающим в пространстве
иного процесса на той же машине. IPC - сокращение от
"inter-process communication" - меж-процессное взаимодействие. На
текущий момент поддерживается только плагин для Premiere и
FlasK. Возможно фрейм-сервер AVISynth
будет сделан совместимым с VirtualDub, но на текущий
момент этого нет. VDR файлы вы можете открывать командой
AVISource .
|
|
|
Blackness / BlankClip
Blackness(clip,duration)
BlankClip(template-clip, length,width,height,pixel_type,fps,fps_denominator,audio_rate,stereo,sixteen_bit,color)
|
Метод BlankClip формирует одноцветный, беззвучный видео-клип
указанной длительности (в кадрах). Клип переданный в качестве параметров
используется в качестве шаблона для частота кадров, размер кадра т.д.),
но вы можете задать все параметры клипа без указания шаблона. Цвет должен
быть задан как шестнадцатеричное RGB значение. Без аргументов
BlankClip формирует чёрный десяти-секундный клип, 640x480, 24 FPS,
16 bit 44100 Hz стерео.
|
|
Blackness это псевдоним BlankClip , внесённый
для обратной совместимости.
|
|
|
ColorBars
ColorBars(width,height)
|
Метод ColorBars формирует видео-клип, содержащий
цветные полосы SMPTE масштабированные к любому размеру
изображения. Формируется клип RGB, 29.97 FPS, длительностью 1 час.
|
|
|
MessageClip
MessageClip("message",width,height,shrink,text_color,halo_color,bg_color)
|
MessageClip формирует клип содержащий текстовое сообщение. Метод
используется внутренне для сообщения об ошибках. Используется фонт Arial,
размер между 24 и 9 пунктов выбирается для лучшего сочетания, если возможно,
ширины и высоты. Если shrink имеет значение "истина", то разрешение
клипа уменьшается, если необходимо, чтобы соответствовать тексту.
|
|
|
Version
Version()
|
Метод Version создаёт видео-клип 476x104, 24 FPS, 10 секунд,
формат RGB с краткой информацией по AVISynth зелёным 24-пункта
Arial шрифтом.
|
|
|
|