Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Predstavlyaem dekodirovanie video na storone klienta
Dev48

© 2026 · All rights reserved.

Представляем декодирование видео на стороне клиента

Источник: Perceptron

Представляем декодирование видео на стороне клиента

Источник: Perceptron

Более интеллектуальная выборка и видеоаналитика с низкой задержкой

26 сентября 2026 г.

Сегодня мы добавляем новый способ отправки видео в Perceptron Mk1: покадровое видео, декодируемое на стороне клиента. Мы поддерживаем это через часть контента video_frames в нашем API. Если вы уже выполнили выборку кадров на стороне клиента, теперь вы можете передавать их напрямую, вместо того чтобы кодировать их в клип. Каждый кадр имеет свою временную метку, и модель видит именно те кадры, которые вы отправляете.

Почему это важно для существующих конвейеров компьютерного зрения

Стандартный способ отправки видео в Mk1 — через один video_url, который наша платформа декодирует и выполняет выборку с динамической частотой кадров до 2 FPS. Это правильное поведение, когда у вас есть файл и вы хотите, чтобы модель сама определила, на что смотреть. Но это предполагает, что отправной точкой является закодированное видео. Часто это не так. Это предположение нарушается, когда:

  • Ваши кадры уже существуют. Загрузчики данных, экстракторы кадров и конвейеры камер выдают декодированные кадры, а не контейнеры. Перекодирование их в MP4 для загрузки только для того, чтобы сервер снова декодировал и передискретизировал их, — это бесполезная работа с обеих сторон.

Ваши кадры уже существуют. Загрузчики данных, экстракторы кадров и конвейеры камер выдают декодированные кадры, а не контейнеры. Перекодирование их в MP4 для загрузки только для того, чтобы сервер снова декодировал и передискретизировал их, — это бесполезная работа с обеих сторон.

  • Вы знаете, какие кадры важны. Выборка на стороне сервера — это эвристика. Если вы уже выбрали ключевые кадры (например, две секунды вокруг события или один кадр на каждый шаг задачи), передача модели целого клипа лишает вас этого контроля и заставляет надеяться, что алгоритм выборки попадет на те же кадры.

Вы знаете, какие кадры важны. Выборка на стороне сервера — это эвристика. Если вы уже выбрали ключевые кадры (например, две секунды вокруг события или один кадр на каждый шаг задачи), передача модели целого клипа лишает вас этого контроля и заставляет надеяться, что алгоритм выборки попадет на те же кадры.

  • Ваш видеоматериал разрежен. Эпизод робототехники, сохраненный покадрово, камера безопасности, срабатывающая по движению, производственная линия, захватывающая по одному кадру на деталь: это не плавные клипы с частотой 30 FPS, и их оценка при единой фиксированной частоте кадров искажает то, что произошло на самом деле. Вместо этого вы можете захотеть переключаться между низкой и высокой частотой кадров выборки.

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

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

Когда использовать

video_frames наиболее ценен везде, где кадры уже существуют или выбор должен быть точным:

  • Конвейеры выборки на стороне клиента. Подавайте кадры прямо с вашего клиента без перекодирования.

Конвейеры выборки на стороне клиента. Подавайте кадры прямо с вашего клиента без перекодирования.

  • Разреженные ключевые кадры. Отправляйте только важные моменты, несколько кадров вокруг события, вместо того чтобы платить за загрузку и декодирование всего клипа.

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

  • Робототехника и телеуправление. Эпизоды хранятся покадрово с разных камер; передавайте их как есть, с временными метками, записанными политикой, для обнаружения успеха и анализа подзадач.

Робототехника и телеуправление. Эпизоды хранятся покадрово с разных камер; передавайте их как есть, с временными метками, записанными политикой, для обнаружения успеха и анализа подзадач.

  • Периферийные устройства и потоковая передача. Камеры выдают кадры, а не контейнеры. Пересылайте их напрямую по мере поступления.

Периферийные устройства и потоковая передача. Камеры выдают кадры, а не контейнеры. Пересылайте их напрямую по мере поступления.

Как это работает

Передайте часть контента video_frames вместо одного video_url. Каждый кадр — это image_url (HTTP(S) URL или base64 data URL) плюс смещение timestamp_ms от начала клипа. Предоставьте как минимум два кадра, упорядоченных по монотонно неубывающему timestamp_ms:

Кадры в совокупности становятся одним логическим видео, а временные метки дают Mk1 временную структуру, необходимую для рассуждения. Те же функции временного обоснования, создания подписей и ответов на вопросы, которые вы запускали бы для клипа, работают и здесь. video_frames теперь присоединяется к video_url и video_file_id из Files API как третий способ передачи видео в Mk1, независимо от того, в каком формате уже существуют ваши медиафайлы.

Контроль над тем, что видит модель

video_frames дает вам полный контроль над тем, что именно видит модель:

  • Авторитетные кадры без передискретизации. Шлюз не передискретизирует ваши кадры по целевой частоте кадров и не отбрасывает их молча на стороне сервера. Вы сохраняете полный контроль.

Авторитетные кадры без передискретизации. Шлюз не передискретизирует ваши кадры по целевой частоте кадров и не отбрасывает их молча на стороне сервера. Вы сохраняете полный контроль.

  • Миллисекундные временные метки. Каждый кадр несет смещение timestamp_ms, неотрицательное целое число, которое должно быть неубывающим во всем массиве. Вы можете указывать выбранные кадры с миллисекундной точностью.

Миллисекундные временные метки. Каждый кадр несет смещение timestamp_ms, неотрицательное целое число, которое должно быть неубывающим во всем массиве. Вы можете указывать выбранные кадры с миллисекундной точностью.

  • Кадры обрабатываются как части изображения. URL-адреса кадров следуют тому же формату, что и контент image_url: HTTP(S) URL и base64 data URL, стандартные MIME-типы изображений, при этом перенаправления и частные хосты отклоняются. Каждый кадр считается одной медиа-единицей по отношению к ограничению в 256 единиц на запрос.

Кадры обрабатываются как части изображения. URL-адреса кадров следуют тому же формату, что и контент image_url: HTTP(S) URL и base64 data URL, стандартные MIME-типы изображений, при этом перенаправления и частные хосты отклоняются. Каждый кадр считается одной медиа-единицей по отношению к ограничению в 256 единиц на запрос.

Производительность

Поскольку шлюз не загружает и не декодирует клип, время до первого токена для video_frames зависит от того, сколько кадров вы отправляете, а не от того, какой длины был исходный материал. Задержка video_url растет вместе с объемом работы по декодированию, который увеличивается с длиной и разрешением клипа.

Внутренний бенчмарк на стейджинге Perceptron (время до первого токена, один запрос, кадры доставляются как URL-адреса изображений, которые извлекает шлюз):

720p

10с

2.6с

2.1с

720p

30с

4.5с

3.6с

720p

7.6с

4.9с

720p

14.4с

4.0с

720p

19.5с

4.3с

1080p

10с

4.9с

3.6с

1080p

30с

6.2с

3.5с

1080p

12.0с

3.5с

1080p

24.4с

4.3с

1080p

41.5с

4.0с

video_frames остается в диапазоне 2–5 секунд для клипов разной длины, в то время как video_url варьируется от примерно 5 секунд (10 с) до примерно 42 секунд (10 мин) при 1080p. video_frames работает быстрее по всем направлениям, и разрыв увеличивается с длиной и разрешением. Задержка первого токена варьируется в зависимости от количества кадров, разрешения, контента и сети, а исходный материал здесь был с низким уровнем движения, что занижает стоимость декодирования video_url.

Примечание о доставке кадров: эти показатели отправляют каждый кадр в виде URL-адреса изображения, который извлекает шлюз. Отправка тех же кадров в виде встроенных base64 data URL показала схожие результаты в наших тестах. Мы рекомендуем использовать URL-адреса изображений, так как они позволяют уменьшить размер тела запроса и избежать накладных расходов, связанных с встраиванием больших двоичных данных в каждый запрос.

Часть контента video_frames доступна на платформе Perceptron уже сегодня.

API-эндпоинт: api.perceptron.inc/v1/chat/completions

Модель: perceptron-mk1

Дальнейшие планы

video_frames — это часть более масштабной инициативы, направленной на то, чтобы платформа Perceptron могла работать с вашими медиафайлами там, где они уже находятся: будь то файл, который вы загружаете один раз, размещенный вами URL-адрес или уже декодированные кадры. Perceptron Mk1 объединяет передовые возможности анализа видео и эмбодимент-рассуждений в одном вызове API; интеграция Mk1 в ваши существующие конвейеры должна быть простой. Дальше — больше.

← Все статьи

Ещё в разделе «AI и машинное обучение»

Все →
Незащищенные агенты OpenAI опубликовали в интернете 53 изображения пользователей без ведома лабораторииПресса
OpenAI

Незащищенные агенты OpenAI опубликовали в интернете 53 изображения пользователей без ведома лаборатории

Создание производственных агентов с помощью Jev и LangGraph
LangChain

Создание производственных агентов с помощью Jev и LangGraph

LangSmith Custom Apps: создавайте пользовательские интерфейсы для данных ваших агентов
LangChain

LangSmith Custom Apps: создавайте пользовательские интерфейсы для данных ваших агентов

В течение нескольких месяцев рои агентов OpenAI атакуют онлайн-базы данных в поисках малоизвестных фактовПресса
OpenAI

В течение нескольких месяцев рои агентов OpenAI атакуют онлайн-базы данных в поисках малоизвестных фактов

Tesla наконец переходит к электрификации грузоперевозок после десятилетия работы и задержекПресса
Tesla

Tesla наконец переходит к электрификации грузоперевозок после десятилетия работы и задержек

Новое в LangSmith: Engine v2, Managed Deep Agents, дообучение (Fine-Tuning) и многое другое
LangChain

Новое в LangSmith: Engine v2, Managed Deep Agents, дообучение (Fine-Tuning) и многое другое

Ещё от Perceptron

Представляем Perceptron Egocentric API
Perceptron

Представляем Perceptron Egocentric API

Представляем API Perceptron Multilook
Perceptron

Представляем API Perceptron Multilook

Представляем Isaac 0.5
Perceptron

Представляем Isaac 0.5

Представляем Perceptron Mk1.5
Perceptron

Представляем Perceptron Mk1.5