Перейти к содержанию

SDK 0.3 · формат v2 · Совместимость с SDK

Обработка медиа ​

media работает с файлами изображений, аудио и видео. Параметры зависят от операции и выбранного плагина.

Параметры ​

ПараметрНазначениеПо умолчанию
operationimage_process; новые операции — в таблице охватаОбязательно
fileFileRef исходного файлаОбязательно
formatЦелевой формат, разрешённый операциейСохранить поддерживаемый
quality1–100 для JPEG/WebPНе задано
max_width, max_heightПредельные размеры изображенияНе заданы
auto_orientУчесть EXIFtrue
strip_metadataУдалить метаданные изображенияtrue

Другие типы медиа получают свои параметры операции, а не неограниченный список флагов.

Пример ​

YAMLФрагмент формата v2
yaml
- id: cover
  block: media
  params:
    operation: image_process
    file: "{inputs.photo}"
    format: webp
    max_width: 1200
    max_height: 1200
    quality: 85

Результат ​

image_process: file, width, height, format, size, re_encoded. Между шагами передаётся FileRef, не массив байтов. Схемы аудио/видео включают длительность, кодеки и характеристики соответствующего потока.

Поведение ​

Для изображений пропорции сохраняются, увеличения нет. quality с PNG — ошибка. При JPEG прозрачность накладывается на белый фон. re_encoded показывает перекодирование. Повреждённый файл завершает шаг ошибкой.

Неподдержанные типы и сочетания параметров отклоняются явно. Кодек и формат выбираются из списка возможностей установки.

Базовый охват ​

ТипОперацииПопулярные сценарии
Все три типаprobeФормат, размер, длительность и параметры потоков
Изображенияimage_processJPEG/PNG/WebP, размеры, качество, EXIF и метаданные
Аудиоaudio_processMP3/WAV/Opus, преобразование, обрезка, частота дискретизации, каналы
Видеоvideo_processMP4/WebM, преобразование, обрезка, размеры, удаление аудиодорожки
Видеоextract_audio, thumbnailИзвлечь звук в аудиофайл; получить кадр-превью

Для аудио/видео используется общий адаптер FFmpeg, подключаемый соответствующими плагинами; доступные кодеки зависят от поставки. Произвольные shell-команды и флаги не становятся интерфейсом media.

Распознавание речи, генерация и сложный монтаж не входят в этот стартовый набор. PDF и офисные документы требуют отдельного решения о границах блока.

Параметры операций ​

У всех операций один файловый вход и явный выбор операции; специальные параметры привязаны к типу медиа:

ОперацияСпециальные параметры начального контракта
probeТолько file; чтение характеристик без преобразования
image_processformat, quality, max_width, max_height, auto_orient, strip_metadata
audio_processformat, start_seconds=0, end_seconds=null, sample_rate, channels, bitrate, strip_metadata=true
video_processformat, start_seconds=0, end_seconds=null, max_width, max_height, fps, keep_audio=true, strip_metadata=true
extract_audioformat=wav, sample_rate, channels
thumbnailat_seconds=0, format=jpeg, max_width, max_height

Незаданные параметры потоков сохраняют свойства исходника. end_seconds должен быть больше начала; время — конечное неотрицательное число. quality изображения и bitrate аудио не объединяем: это разные величины. Для длительности и кодеков нужны отдельные схемы результата каждой операции.

Pillow и FFmpeg подключаются опционально по общей схеме. Объявленный формат не снимает ограничения файлового хранилища.

Плагины и установка ​

В составе блока: Общий контракт и FileRef. Обработчиков по умолчанию нет.

ПлагинВозможности
imagesХарактеристики и обработка изображений
audioХарактеристики и обработка аудио
videoОбработка видео, извлечение звука и превью

probe работает для типов установленных плагинов. Аудио и видео используют общую интеграцию FFmpeg; бинарник и доступные кодеки определяются окружением. video включает извлечение звука и кадра без обязательной установки плагинов audio/images.