Transform 1.1/ru
From Aviberry API
К содержанию
Возникли вопросы?
В процессе конвертирования файла возможно выполнить над ним некоторые преобразования для получения более приемлемых или даже расширенных параметров получаемого видео. Например, можно обрезать видео, изменить контрастность, наложить на получаемое видео "водяной знак" и др. Все возможные трансформации и их параметры перечислены ниже. Трансформация задается в методе startConversion.
Contents |
Вырезание
Вырезает из видео указанный фрагмент. Имя операции, которое следует использовать для настройки, - cut. Формат задания параметров операции:
start_interval units, end_interval units
| Параметр | Тип | Описание |
|---|---|---|
| start_interval | integer | Интервал, с которого начинается вырезаемый фрагмент. Если параметр опущен, то фрагмент будет вырезан с начала. Длина интервала определяется параметром units. |
| end_interval | integer | Интервал, на котором заканчивается вырезаемый фрагмент. Если параметр опущен, то фрагмент будет вырезан до конца файла. Длина интервала определяется параметром units. |
| units | string | Единица измерения интервала. Может принимать следующие значения: 'h' (часы), 'm' (минуты), 's' (секунды), 'ms' (миллисекунды). |
Как минимум хотя бы один из приведенных параметров должен быть указан при настройке операции. Интервалы могут быть составными. Примеры определения:
transform[cut] = '1000,10s' // Вырежет 9 сек видео, начиная с 1 сек файла.
transform[cut] = '1m,' // Вырежет фрагмент, начиная с 1 мин и до конца файла.
transform[cut] = ',10m17s' // Вырежет 10 мин 17 сек сек видео с начала файла.
Разделение
Разделяет видео на фрагменты равной продолжительности или равного размера. Имя операции, которое следует использовать для настройки, - split. Формат задания параметров операции:
amount units
| Параметр | Тип | Описание |
|---|---|---|
| amount | integer | Продолжительность или размер фрагмента, на который делится видео. Как именно трактуется параметр, зависит от параметра units. |
| units | string | Единица измерения параметра amount. Может принимать следующие значения: 'h' (часы), 'm' (минуты), 's' (секунды), - тогда amount трактуется как продолжительность файла-фрагмента, или: 'gb' (гигабайты), 'mb' (мегабайты), 'kb' (килобайты), - тогда amount трактуется как размер файла-фрагмента. |
Оба параметра обязательны для указания. Если задается разделение по продолжительности, то минимально возможной частью является 1 минута ('1m' = '60s'). Если по размеру, то минимально возможной частью является 10 Мб ('10mb' = '1024kb').
Интервал или размер могут быть составными. Примеры определения:
transform[split] = '1m30s' // Разделит видео на фрагменты продолжительностью полторы минуты.
transform[split] = '1h' // Разделит видео на фрагменты продолжительностью 1 час.
transform[split] = '50mb' // Разделит видео на фрагменты размером 50 Мб.
Обрезание
Обрезает кадр на указанные отступы. Имя операции, которое следует использовать для настройки, - сrop. Формат задания параметров операции:
top, right, bottom, left
или
padding
| Параметр | Тип | Описание |
|---|---|---|
| top | float | Отступ для обрезки сверху. Относительная величина, которая задается как отношение величины отступа к высоте кадра. По умолчанию 0.0. |
| right | float | Отступ для обрезки справа. Относительная величина, которая задается как отношение величины отступа к ширине кадра. По умолчанию 0.0. |
| bottom | float | Отступ для обрезки снизу. Аналогично top. По умолчанию 0.0. |
| left | float | Отступ для обрезки слева. Аналогично right. По умолчанию 0.0. |
| padding | float | Одинаковый отступ для обрезки сверху, справа, снизу и слева. |
При использовании первого формата как минимум хотя бы один из указанных параметров должен быть задан при настройке операции. Опущенные параметры принимают указанные значения по умолчанию. При использовании второго формата единственный параметр является обязательным. Примеры определения:
transform[crop] = '0.2,0.1,0.2,0.1' // Обрежет кадр сверху и снизу по 20%, справа и слева по 10% от исходного размера.
transform[crop] = ',0.1,,0.1' // Обрежет кадр справа и слева по 10% от исходного размера.
transform[crop] = '0.2,0.1,,' // Обрежет кадр сверху на 20% и справа на 10% от исходного размера.
transform[crop] = '0.1' // Обрежет кадр по 10% со всех сторон.
Поворот
Осуществляет поворот видео. Имя операции, которое следует использовать для настройки, - rotate. Формат задания параметров операции:
mode
| Параметр | Тип | Описание |
|---|---|---|
| mode | string | Способ поворота. Может принимать следующие значения: 'cw' (clockwise) - поворот по часовой стрелке на 90°, 'ccw' (counterclockwise) - поворот против часовой стрелки на 90°, 'usd' (upside down) - поворот на 180°. |
Пример определения:
transform[rotate] = 'cw' // Поворачивает видео на 90 градусов по часовой стрелке.
Водяной знак
Накладывает на видео "водяной знак". Водяным знаком может быть или изображение, или текст, или оба они сразу. Имя операции, которое следует использовать для настройки, - watermark. Для настройки водяного знака отдельно задаются параметры изображения, параметры текста и общие параметры знака.
Настройка изображения. Имя свойства операции, которое следует использовать для настройки, - image.
| Параметр | Тип | Описание | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| image | string | Ссылка на файл изображения. Обязательный параметр. Принимаются ссылки вида:
http|https://[user[:password]@]hostname[:port]/[path/][filename] ftp|ftps://[user[:password]@]hostname[:port]/[path/][filename] http://[user:password@]bucket.s3.amazonaws.com/[path/][filename] Ссылка должна быть оформлена соответственно стандарту, т.е. все спецсимволы должны быть "percent-encoded". | ||||||||||||
| size | string | Формат задания размера:
scale, aspect
| ||||||||||||
| position | string | Формат задания позиции:
vertical, horizontal или align
При использовании первого формата как минимум хотя бы один из указанных параметров должен быть задан при настройке операции. Опущенный параметр принимает указанное значение по умолчанию. При использовании второго формата единственный параметр является обязательным. |
Настройка текста. Имя свойства операции, которое следует использовать для настройки, - text.
| Параметр | Тип | Описание | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| text | string | Текст для использования в качестве водяного знака. Обязательное поле. | |||||||||||||||
| size | string | Аналогичен параметру size для изображения. | |||||||||||||||
| position | string | Аналогичен параметру position для изображения. | |||||||||||||||
| font | string | Формат задания шрифта
face, style, size, color
|
Настройка общих параметров. Каждый общий параметр трактуется как отдельное свойство операции. Список общих параметров представлен ниже.
| Параметр | Тип | Описание |
|---|---|---|
| transparency | float | Прозрачность водяного знака. Может принимать значения от 0.0 (непрозрачно) до 1.0 (прозрачно). По умолчанию 0.0. |
Любые необязательные параметры могут быть опущены. В этом случае они принимают указанные значения по умолчанию. Пример определения:
transform[watermark][image][image] = 'http://example.org/watermark.png' // Задает в качестве водяного знака указанную картинку.
transform[watermark][image][size] = '1.5,4:3' // Увеличивает картинку на 50% и устанавливает соотношение ее сторон 4:3 (1.333).
transform[watermark][image][position] = '-0.2,0.3' // Смещает картинку на 20% снизу и 30% слева.
transform[watermark][text][text] = 'My Watermark' // Задает в качестве водяного знака указанный текст.
transform[watermark][text][size] = '2,0.0' // Увеличивает текст в 2 раза и соотношение сторон текстового блока оставляет неизменным.
transform[watermark][text][position] = 0.9,0.9 // Смещает текст к правому нижнему углу кадра.
transform[watermark][text][font] = ',italic,,ff0000' // Задает для текста наклонное начертание и красный цвет.
transform[watermark][transparency] = '0.5' // Делает водяной знак прозрачным на половину.
Коррекция изображения
Осуществляет общую корректировку изображения. Имя операции, которое следует использовать для настройки, - adjust. Операция состоит из набора подопераций, которые трактуются как отдельные свойства операции и представлены ниже.
| Параметр | Тип | Описание |
|---|---|---|
| magic_enhance | boolean | Улучшить изображение. По умолчанию false. |
| auto_contrast | boolean | Автоматическая настройка контраста. По умолчанию false. |
| auto_whitebalance | boolean | Автоматическая настройка баланса белого. По умолчанию false. |
| deblocking | boolean | Сглаживание. По умолчанию false. |
| deinterlacing | boolean | Убрать чересстрочность. По умолчанию false. |
| brightness | integer | Яркость. Возможные значения от -70 до 70. По умолчанию 0. |
| сontrast | integer | Контраст. Возможные значения от 128 до 384. При значении 256 контраст не меняется. По умолчанию 256. |
| hue | integer | Оттенок. Возможные значения от -180 до 180. При значении 0 оттенок не меняется. |
| saturation | integer | Насыщенность. Возможные значения от -100 до 100. При значении 0 насыщенность не меняется. |
Пример определения:
transform[adjust][deinterlacing] = true // Убирает черезстрочность.
transform[adjust][contrast] = 300 // Задает контраст.
Преобразование в 3D
Преобразовывает любое 2D-видео в 3D. Имя операции, которое следует использовать для настройки, - 3d.
| Параметр | Тип | Описание | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mode | string | Тип 3d преобразования. По умолчанию 'Anaglyph'.
| ||||||||||||
| Depth | integer | Глубина 3D. Меняет расстояние между кадрами для левого и правого глаз. Возможные значения от -200 до 200. По умолчанию 0. | ||||||||||||
| Shift | integer | Сдвиг 3D. Меняет расстояние между объектами для левого и правого глаз. Возможные значения от 0 до 1000. По умолчанию 0. | ||||||||||||
| Perspective | integer | Перспектива. Создает искусственную перспективу объектов для левого и правого глаз. Возможные значения от 0 до 100. По умолчанию 50. |
Преобразование в 3D не может быть применено совместно с преобразованиями Watermark, Rotate, Crop, Adjust.
Пример определения:
transform[3d][Mode] = 'Anaglyph'
transform[3d][Depth] = -20
transform[3d][Shift] = 10
transform[3d][Perspective] = 40
