Copyright (C) 2004-2005 Ushodaya Enterprises Limited
Authors: Charles Yates <charles.yates@pandora.be>
         Dan Dennedy <dan@dennedy.org>
Last Revision: 2005-04-22
Translator: Ruslan Popov <radz@yandex.ru>
Last Revision: 2006-01-09

Службы

Службы, отмеченные как "Proprietary", не распространяются в GPL версии библиотеки MLT.

Производители


Производитель avformat

Описание

Производитель создан на основе ffmpeg libavformat для обработки видео и аудио.

Аргументы конструктора

  • file - имя файла или URL в виде:
    [{protocol}|{format}]:{resource}[?{format-parameter}[&{format-parameter}...]]
         
    Например, video4linux:/dev/video1?width:320&height:240. Следует отметить, в командной строке bash символ & должен быть закодирован как \&. Также отметим, что надо использовать символ : вместо символа = в параметрах. Используйте команду ffmpeg -formats для получения списка поддерживаемых протоколов и форматов.

Подробности

Параметры полезны только для форматов video4linux и audio_device. Для формата video4linux можно определять параметры width (ширина), height (высота), frame_rate (частота кадров), frame_rate_base (основная частота кадров) и standard (стандарт цветности, ntsc или pal). Для формата audio_device можно определять параметры channels (количество каналов звука) и sample_rate (частота оцифровки звука).

Свойства для инициализации

  • int video_index - индекс используемого видеопотока (-1 - не использовать)
  • int audio_index - индекс используемого аудиопотока (-1 - не использовать)
  • int in - in point
  • int out - out point

Свойства только для чтения

  • string resource - путь до файла
  • double fps - зафиксировано на 25 для PAL
  • double source_fps - частота кадров источника
  • double aspect_ratio - аспект кадра источника, определяется для каждого кадра

Зависимости

Библиотека ffmpeg должна быть собрана с опцией --enable-shared и установлена перед сборкой библиотеки MLT.

Известные проблемы

  • Проблемы с синхронизацией для некоторого контента.
  • Не все, поддерживаемые библиотекой libavformat, форматы поддерживают свободное перемещение по контенту.
  • Поддержка Ogg Vorbis пока далека от совершенства.
  • Позиционирование по MPEG неаккуратное, не происходит поиска i-кадров, следовательно, есть вероятность получить несколько кадров с мусором.
  • Позиционирование по RAW DV не поддерживается.
  • Невозможность воспроизведение за первым кадром источников, которые не имеют PTS, начиная с 0 (video4linux).


Производитель fezzik

Описание

Непереводимая игра слов smile

A friendly giant that likes to rhyme and throw rocks

Аркументы конструктора

  • file - имя файла в виде:
    [{mlt-service}:]{resource} | {mlt-service}
       
    Этот аргумеет может быть именем службы производителя, который может работать с ресурсов, определённым после работы конструктора..

Свойства для инициализации

  • int in - in point
  • int out - out point
  • и все свойства инициализации производителя

Свойства только для чтения

  • string resource - полный путь к файлу
  • и все свойства только для чтения производителя

Подробности

Этот производитель имеет две роли:

  1. он обрабатывает соответствия всех имён файлов к другим производителям;
  2. он при необходимости подключает нормализационные фильтры (rescale, resize и resample) к производителям.

Этот производитель упрощает многие аспекты использования. По существу, этот производитель гарантирует, что потребитель получит изображение и звук в запрошенном виде.

Зависимости

Все.

Известные проблемы

Нет.


Производитель colour

Описание

Простой генератор цвета.

Аргументы конструктора

  • colour - значение цвета в шестнадцатеричной форме (RGB плюс прозрачность) 0xrrggbbaa. Цвет можно определять словами: white (белый), black (чёрный), red (красный), green (зелёный) или blue (синий). По умолчанию используется чёрный цвет.

Свойства инициализации

Нет.

Свойства только для чтения

Нет.

Зависимости

Нет.

Известные проблемы

Нет.


Производитель libdv

Описание

Производитель создан на основе библиотеки libdv для обработки видео и аудио.

Аргументы конструктора

  • file - источник контента.

Свойства инициализации

  • int in - in point
  • int out - out point

Свойства только для чтения

  • string resource - полный путь до файла
  • double fps - количество производимых кадров в секунду
  • int length - длительность ресурса (в кадрах)

Изменяемые свойства

  • string quality - качество декодируемого потока, может быть best (лучшее), fast (быстрое), всё остальное приводит к применению medium (среднее).

Зависимости

Зависит от наличия библиотеки libdv.

Известные проблемы

  • Формат DVCPRO определяется некорректно как видео с аспектом 16:9. Рекомендуется использовать библиотеку libdv собранную из CVS или как минимум релиз 0.101.


Производитель mcdv (Proprietary)

Описание

MainConcept DV декодер для обработки видео и аудио.

Аргументы конструктора

  • file - источник контента.

Свойства инициализации

  • int in - in point
  • int out - out point

Свойства только для чтения

  • string resource - полный путь до файла
  • double fps - частота кадров источника
  • int length - длительность ресурса (в кадрах)

Зависимости

Должны быть установлены MainConcept DV или DVCPRO SDK, библиотека libdv. dv_sdk устанавливается параллельно библиотеке MLT.

Известные проблемы

Нет.


Производитель mcmpeg (Proprietary)

Описание

MainConcept MPEG декодер для обработки видео и аудио.

Аргументы конструктора

  • file - источник контента.

Свойства инициализации

  • int in - in point
  • int out - out point

Свойства только для чтения

  • string resource - полный путь до файла
  • double fps - частота кадров источника
  • double aspect_ratio - аспект кадра
  • int length - длительность ресурса (в кадрах)

Зависимости

Должны быть установлены MainConcept MPEG SDK. mpeg_sdk_release устанавливается параллельно библиотеке MLT.

Известные проблемы

Нет.


Производитель noise

Описание

Производитель белого шума.

Аргументы конструктора

Нет

Свойства инициализации

  • int in - in point
  • int out - out point

Свойства только для чтения

  • string resource - полный путь до файла
  • double fps - частота кадров источника
  • double aspect_ratio - аспект кадра
  • int length - длительность ресурса (в кадрах)

Зависимости

Нет.

Известные проблемы

Нет.


Производитель pango

Описание

Генератор титров, использующий текстовую библиотеку Pango и библиотеку отображения шрифтов Freetype2.

Аргументы конструктора

  • string file - полный путь до файла, содежащего текст в стиле разметки Pango. Формат разметки описан на http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html. Требуется кодировка специальных символов как в XML: <, >, & как <, >, &.

Подробности

Если предоставленный файл имеет расширение .txt, то производитель fezzik будет загружен вместе с pango. Если имя файла начинается с символа +, то производитель pango интерпретирует это имя как текст. Это удобно когда надо внедрить титры в команды inigo. При использовании производителя westley рекомендуется внедрять текст титров в виде значения свойства.

Производитель pango поддерживает масштабирование. Он изменяет размер созданного титра до запрошенного потребителем. Следовательно, титры могут терять свой аспект, если это будет необходимо. А потребителю необходимо самому за аспектом титров, задавая правильные размеры.

Свойства инициализации

  • int in - in point
  • int out - out point

Изменяемые свойства

  • string markup - строка содежащая текст в стиле разметки Pango. Формат разметки описан на http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html. Требуется кодировка специальных символов как в XML: <, >, & как <, >, &.
  • string colour - значение цвета текста в шестнадцатеричной форме (RGB плюс прозрачность) 0xrrggbbaa.
  • string bgcolour - значение цвета фона в шестнадцатеричной форме (RGB плюс прозрачность) 0xrrggbbaa.
  • string align - выравнивание параграфа: left или 0 (влево), centre или 1 (по центру), right или 2 (вправо).
  • int pad - количество пикселов для отступа фонового прямоугольника, между краями и текстом, по умолчанию равно 0.
  • string text - строка текста в кодировке UTF-8 (может содержать символы разметки).
  • string font - стандартный шрифт, применяется когда не используется разметка, по умолчанию это Sans 48. Библиотека FreeType2 отрисовывает шрифт на 72 dpi.
  • string encoding - тип кодировки текста, указывается, если не используется UTF-8, список возможных значений можно получить с помощью команды iconv --list.
  • int weight - вес шрифта, по умолчанию 400.

Свойства только для чтения

  • string resource - файл с текстом или разметкой, или pango если файл не указан.
  • int real_width - оригинальная (немасштабированная) ширина отрисованного титра.
  • int real_height - оригинальная (немасштабированная) высота отрисованного титра.
  • int width - отмасштабированная ширина последнего отрисованного титра.
  • int height - отмасштабированная высота последнего отрисованного титра.

Зависимости

Библиотеки libpango-1.0, libpangoft2-1.0, libfreetype, libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0, libfontconfig.

Известные проблемы

  • Атрибуты pango span для переднего и заднего цветов не поддерживаются.
  • Перенос слов не поддерживается.


Производитель pixbuf

Описание

Генератор статичных изображений с помощью библиотеки gdk-pixbuf.

Аргументы конструктора

  • string resource - может быть:
    • именем файла с изображением.
    • именем графического файла, формат которого поддерживается загрузчиком gdk-pixbuf (см. /usr/lib/gdk-pixbuf/loaders, определенно это png, jpeg, tiff, pnm и xpm.
    • именем файла с символом %, такое имя файла будет использоваться для генерации многофайловой анимации, последовательность останавливается при числовой неоднородности больше 100.
    • именем файла с суффиксом /.all., который показывает, что надо подгрузить все изображения из указанного каталога.
    • именем файла содержащем в имени строку <svg, это заставит производитель воспринять имя файла как встроенный SVG XML, что может пригодиться при работе с inigo.

Подробности

Производитель поддерживает масштабирование, т.е. созданный объект будет преобразован в соответствии требованиям потребителя. Следовательно, потребитель должен самостоятельно заботиться об аспекте изображения, передавая соответствующие параметры о ширине и высоте.

Свойства инициализации

  • int in - in point
  • int out - out point
  • int begin - при использовании последовательности изображений, данный параметр определяет стартовое число.

Изменяемые свойства

  • int ttl - длительность (в кадрах) повторения каждого изображения, по умолчанию используется 25.

Свойства только для чтения

  • string resource - полный путь до файла, см. аргументы конструтора выше.
  • int real_width - оригинальная (немасштабированная) ширина изображения.
  • int real_height - оригинальная (немасштабированная) высота изображения.
  • int width - отмасштабированная ширина последнего изображения.
  • int height - отмасштабированная высота последнего изображения.

Зависимости

Библиотеки libgdk_pixbuf-2.0, libglib-2.0, libgobject-2.0, libgmodule-2.0.

Известные проблемы

  • XXX: in/out settings are incorrectly handled.


Производитель ppm

Описание

Читает поток изображений в формате PPM.

Аргументы конструктора

  • command - команда, запускающая некий скрипт, который генерирует PPM поток на стандартный вывод.

Свойства инициализации

Нет.

Свойства только для чтения

  • string resource - команда, см. выше.

Зависимости

Нет.

Известные проблемы

Из-за использования потоков этот производитель несовместим с bluefish.


Производитель westley

Описание

Производитель создаёт сеть для службы из XML описания. Подробности приведены в RuWestley .

Аргументы конструктора

  • URL - может быть:
    • текстовым XML файлом, который содержит westley XML (schema/DTD pending);
    • так как westley файлы могут принимать параметры, синтаксис URL может быть таким:
      {file-name}[?{param-name}{'='|':'}{param-value}[&{param-name}{'='|':'}{param-value}...]]
              
      Вместо символа = можно использовать символ : при работе с inigo. Также, при работе с командной строкой следует помнить, что символ ? имеет особое значение. Следовательно надо помещать URL в одинарные кавычки. И наконец, производитель fezzik не поддерживает параметризованные файлы, т.е. надо явно указывать в URL префикс westley:, чтобы производитель загружал службу westley.

Свойства только для чтения

  • string resource - полный путь до файла.

Зависимости

Библиотека libxml2.

Известные проблемы

  • Non-referenced producers and playlists are not destroyed until theмnetwork is destroyed.
  • A referenced producer or playlist must appear before the reference.
  • Если фильтр определён для производителя, то мы получим segfault.


Производитель vorbis

Описание

Производитель позволяющий читать файлы OGG Vorbis.

Аргументы конструктора

  • file - имя файла, в настоящее время поддерживается только .ogg.

Свойства инициализации

  • int in - in point
  • int out - out point

Свойства только для чтения

  • double fps - в настоящее время частота кадров зафиксирована на 25 для PAL.

Зависимости

Библиотека libvorbisfile.

Известные проблемы

  • Фиксированный размер кадра (PAL audio chunks).
  • Doesn't cover ogg files with multiple, differing sections.

-- RaD - 09 Jan 2006

Topic revision: r1 - 2006-01-09 - 15:55:07 - RaD
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding MLT Wiki? Send feedback