К содержанию

Разбор файла на слоты врезки

Ставьте рекламу там, где история и так делает паузу.

AdBreak читает файл, который вы передали: стыки сцен, чёрные кадры, речь, тишину, громкость и движение. Тот же проход по речи автоматически пишет субтитры и переводит их на 22 языка. В ответ — время, куда может войти реклама, почему это окно удержалось, и метка для пакетировщика. Ролик он не вставляет. Для большой библиотеки тот же разбор может идти автоматическим пайплайном, а результаты выгружаются по S3, FTP или похожему каналу.

Готовые разборы

Три файла на входе. Слоты, метки и субтитры на выходе.

Каждая карточка — один законченный разбор. Числа — то, что вернул этот файл: удержанные слоты и реплики субтитров того же прохода по речи.

  • 00:09:25.064 people

    Первый стык 00:09:27.066

    Длина 00:22:38.618

    Удержано слотов: 2

    Реплик субтитров: 426

  • 00:05:22.239 unknown

    Первый стык 00:05:24.241

    Длина 00:57:34.880

    Удержано слотов: 3

    Реплик субтитров: 714

  • 00:23:58.480 people

    Первый стык 00:24:01.400

    Длина 01:34:44.768

    Удержано слотов: 8

    Реплик субтитров: 286

SCTE-35 того же разбора

Метка splice insert для слота в 00:09:27.067. Пакетировщик получает её. Ролик здесь не вставляется.

splice_insert
00:09:27.067 – 00:09:28.067
PTS 13596
Вне сети
Ожидается выходов: 2

Одна реплика субтитров

Этот проход по речи записал такую реплику WebVTT. Язык страницы и язык файла — разные вещи.

00:09:37.240 --> 00:09:42.640
Please, come on, come on.

Оверлей обработанного файла

Кадры размеченного разбора. Часы, сцена и теги объектов на кадре показывают, что находится в этом кадре в это время.

00:09:04.545 unknown

00:09:04.545

unknown

aeroplane

00:45:15.299 indoor/kitchen

00:45:15.299

indoor/kitchen

bench, cell phone, diningtable, oven · 3 чел.

01:01:41.869 people

01:01:41.869

people

motorbike, person · 3 чел.

01

Просмотр

Несколько секунд до слота и несколько секунд после.

Фрагменты и кадры обработанных файлов. Ролик начинается за несколько секунд до выбранного слота и заканчивается через несколько секунд после него. До слота идёт обратный отсчёт, а на время слота кадр залит цветом. На оверлее остаются часы, сцена и теги объектов. Факторы под роликом — те, из которых сложился счёт.

Слоты

Преролл · Мидролл · Постролл

Отдача

SCTE-35 · HLS cue · VMAP

Сигналы

Читаем файл · Снимаем небезопасное окно · Отдаём метку

02

Разрыв

Контекст ролика — это ещё не точка врезки.

01

Таймер режет вслепую

Мидролл каждые несколько минут попадает в реплику, в шутку или в панораму. Зритель уходит, а ролик начинается с разорванного кадра.

02

Библиотека без меток не продаётся

У архивных файлов часто нет SCTE-35, а программа передач слишком грубая для мидролла. Без метки серверной вставке некуда честно встать.

03

Жанр выпуска не описывает окно

Название «кулинария» не говорит, что за секунды до врезки: спокойный показ или ожог. Это окно оценивают и покупатель, и правила бренда.

03

Метод

Один файл на входе. Метка на выходе.

Движок работает по файлу, не по живому коммутатору и не по имени файла. Речь, картинка и громкость читаются вместе, и окно остаётся, только если проходит проверки.

01

Читаем файл

Стыки сцен и чёрные кадры, границы фраз и голосовая активность, тишина, громкость и движение. Начальные и финальные титры отмечаются отдельно. Определение тегов называет сцену, объекты и людей на каждом участке картинки, а оверлей пишет эти теги на кадры. Тот же проход по речи пишет SRT и WebVTT, и эти субтитры переводятся на 22 языка.

02

Снимаем небезопасное окно

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

03

Отдаём метку

У оставшегося слота есть время стыка, вид брейка, причина, уверенность и расстояние до речи. Те же времена могут уйти как SCTE-35 или cue HLS, с притяжкой к ключевому кадру. Оверлей нужен, чтобы человек сначала посмотрел кадр.

04

Зачем этот стык

Метка, которую действительно потребляет рекламный сервер.

Полезный выход — время, которое потребляет пакетировщик, и достаточно разбора, чтобы человек принял или снял слот.

01

Время, а не жанр

Жанр передачи не говорит, куда резать. Слот — это время стыка на этом файле и вид брейка: стык, смена сцены или чёрный кадр.

02

Речь — это ограничение

Границы фраз и голосовая активность держат врезку вне реплики. У слота указано, как далеко речь от стыка и было ли это расстояние безопасным.

03

Активная картинка проигрывает

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

04

Врезка — это сам стык

Отданное время — кадр стыка или тёмный кадр, а не секунда до него. Точки SCTE-35 притягиваются к ключевому кадру, пока это не выключено.

05

Сначала кадр, потом метка

Оверлей пишет на кадр часы, сцену, теги объектов и бейдж счёта, так что по времени видно, какие объекты в кадре. Дальше уходит метка SCTE-35 или cue HLS. AdBreak ролик не показывает.

06

Вынужденный — значит вынужденный

Если задан минимум, слоты ниже порога можно поднять, и они помечаются. Редактор может их снять. Меньше чистых слотов лучше, чем тихая ложь.

05

Выход

Один пакет — те же слоты на шкале.

Девять мидроллов из одного обработанного файла (01:34:44.768). Названия сцен и строка причины остаются на английском, как их записал движок.

Шкала

Обработан

  1. 00:09:04.545

    Мидролл
    Стык

    unknown

    aeroplane

    cut within scene (cut 14.85), pause 10.8 s

    Уверенность 1 · 5.4 с от речи

  2. 00:18:37.159

    Мидролл
    Стык

    outdoor/street

    aeroplane, car, cat, chair · 2 чел.

    cut within scene (cut 16.52), pause 44.1 s

    Уверенность 1 · 22.04 с от речи

  3. 00:28:16.280

    Мидролл
    Стык

    people

    backpack, bird, person, tie · 4 чел.

    cut within scene (cut 14.73), pause 30.5 s

    Уверенность 1 · 15.24 с от речи

  4. 00:36:25.686

    Мидролл
    Стык

    people

    backpack, boat, book, dog · 3 чел.

    cut within scene (cut 8.47), pause 4.3 s

    Уверенность 1 · 2.16 с от речи

  5. 00:45:15.299

    Мидролл
    Смена сцены

    indoor/kitchen

    cell phone, oven, person, sink · 3 чел.

    scene change (cut 23.69), pause 23.1 s

    Уверенность 1 · 11.56 с от речи

  6. 00:52:22.643

    Мидролл
    Смена сцены

    outdoor/nature

    backpack, book, cat, cow · 2 чел.

    scene change (cut 21.37), pause 20.2 s

    Уверенность 1 · 10.12 с от речи

  7. 01:01:41.869

    Мидролл
    Чёрное

    people

    motorbike, person · 3 чел.

    black 1.67 s, pause 5.8 s

    Уверенность 1 · 2.91 с от речи

  8. 01:10:23.765

    Мидролл
    Стык

    people

    baseball glove, bird, frisbee, person · 2 чел.

    cut within scene (cut 17.2), pause 15.3 s

    Уверенность 1 · 7.64 с от речи

  9. 01:19:27.100

    Мидролл
    Стык

    unknown

    dog

    cut within scene (cut 13.88), pause 15.0 s

    Уверенность 1 · 7.51 с от речи

Пакет

{
  "assetId": "",
  "duration": "01:34:44.768",
  "slots": [
    {
      "role": "mid-roll",
      "time": "00:09:04.545",
      "confidence": 1,
      "kind": "cut",
      "scene": "unknown",
      "tags": [
        "aeroplane"
      ],
      "people": 0,
      "reason": "cut within scene (cut 14.85), pause 10.8 s",
      "speechDistanceSec": 5.4,
      "speechSafe": true
    },
    {
      "role": "mid-roll",
      "time": "00:18:37.159",
      "confidence": 1,
      "kind": "cut",
      "scene": "outdoor/street",
      "tags": [
        "aeroplane",
        "car",
        "cat",
        "chair"
      ],
      "people": 2,
      "reason": "cut within scene (cut 16.52), pause 44.1 s",
      "speechDistanceSec": 22.04,
      "speechSafe": true
    },
    {
      "role": "mid-roll",
      "time": "00:28:16.280",
      "confidence": 1,
      "kind": "cut",
      "scene": "people",
      "tags": [
        "backpack",
        "bird",
        "person",
        "tie"
      ],
      "people": 4,
      "reason": "cut within scene (cut 14.73), pause 30.5 s",
      "speechDistanceSec": 15.24,
      "speechSafe": true
    },
    {
      "role": "mid-roll",
      "time": "00:36:25.686",
      "confidence": 1,
      "kind": "cut",
      "scene": "people",
      "tags": [
        "backpack",
        "boat",
        "book",
        "dog"
      ],
      "people": 3,
      "reason": "cut within scene (cut 8.47), pause 4.3 s",
      "speechDistanceSec": 2.16,
      "speechSafe": true
    },
    {
      "role": "mid-roll",
      "time": "00:45:15.299",
      "confidence": 1,
      "kind": "scene",
      "scene": "indoor/kitchen",
      "tags": [
        "cell phone",
        "oven",
        "person",
        "sink"
      ],
      "people": 3,
      "reason": "scene change (cut 23.69), pause 23.1 s",
      "speechDistanceSec": 11.56,
      "speechSafe": true
    },
    {
      "role": "mid-roll",
      "time": "00:52:22.643",
      "confidence": 1,
      "kind": "scene",
      "scene": "outdoor/nature",
      "tags": [
        "backpack",
        "book",
        "cat",
        "cow"
      ],
      "people": 2,
      "reason": "scene change (cut 21.37), pause 20.2 s",
      "speechDistanceSec": 10.12,
      "speechSafe": true
    },
    {
      "role": "mid-roll",
      "time": "01:01:41.869",
      "confidence": 1,
      "kind": "black",
      "scene": "people",
      "tags": [
        "motorbike",
        "person"
      ],
      "people": 3,
      "reason": "black 1.67 s, pause 5.8 s",
      "speechDistanceSec": 2.91,
      "speechSafe": true
    },
    {
      "role": "mid-roll",
      "time": "01:10:23.765",
      "confidence": 1,
      "kind": "cut",
      "scene": "people",
      "tags": [
        "baseball glove",
        "bird",
        "frisbee",
        "person"
      ],
      "people": 2,
      "reason": "cut within scene (cut 17.2), pause 15.3 s",
      "speechDistanceSec": 7.64,
      "speechSafe": true
    },
    {
      "role": "mid-roll",
      "time": "01:19:27.100",
      "confidence": 1,
      "kind": "cut",
      "scene": "unknown",
      "tags": [
        "dog"
      ],
      "people": 0,
      "reason": "cut within scene (cut 13.88), pause 15.0 s",
      "speechDistanceSec": 7.51,
      "speechSafe": true
    }
  ]
}

Счёт слота

Обработан

Один оставленный слот из обработанного разбора этого файла. Счёт — сумма всех факторов ниже. Уверенность — тот же итог, переведённый в значение от 0 до 1.

01:00:24.791

01:00:23.667–01:00:27.667

3.971 с от речи

Счёт16.4362

Уверенность0.97

Найдено

Чёрный кадр
Тишина
Аудиостингер
Смена музыки
Пауза в речи
Граница сцены

Факторы

  • Сцена и чёрный кадр0.0000
  • Чёрный кадр+5.0000
  • Тишина+4.5000
  • Конец фразы0.0000
  • Смена музыки+2.0000
  • Длина сцены0.0000
  • Затухание звука+1.3734
  • Статичная камера+0.8000
  • Переход яркости0.0000
  • Сильный стык сцены0.0000
  • Контекст+0.6000
  • Конец предложения0.0000
  • Середина фразы0.0000
  • Темп монтажа0.0000
  • Движение+0.1015
  • Лица в кадре0.0000
  • Музыкальная граница+2.0613
  • Спектральная новизна0.0000
  • Тихий LUFS0.0000
  • Уход в чёрное0.0000
  • Смена аудио0.0000
  • Почти тишина0.0000
  • Граница главы0.0000
  • Бампер0.0000
  • Аудиопереход0.0000
  • Спектральный поток0.0000
  • Структурный приор0.0000
  • Плотность кандидатов0.0000
  • Штраф за речь0.0000
  • Штраф за активность0.0000

06

Кому это

Команде, которая владеет файлом.

01

Издатели VOD

Монетизируйте архивные выпуски, которые закончили до появления динамической вставки.

02

Каналы перед эфиром

Если файл пришёл без меток, разметьте его до выдачи. Это разбор файла, а не живой кадроточный коммутатор.

03

Рекламные операции

Вместо долгой ручной прокрутки — короткий список кандидатов, который человек подтверждает.

07

Объём

Крупным клиентам — автоматический пайплайн.

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

01

Обработка по поступлению

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

02

Выгрузка по S3 или FTP

Готовые пакеты, метки и файлы субтитров можно записать в S3, на FTP или в похожий канал, который у вас уже есть. Отдача — эти файлы.

03

Ограничения те же

Объём не вставляет ролик и не готовит поток. Человек по-прежнему может принять или снять слот до того, как метка уйдёт.

08

Вопросы

Что разбор делает и чего не трогает.

Пришлите файл, который вы вправе размечать.

Напишите тип материала — файл или упакованный VOD — и нужны ли преролл, мидролл или оба. Для большой библиотеки напишите об этом: мы подключаем автоматический пайплайн, который обрабатывает файлы и выгружает результаты по S3, FTP или похожему каналу. В ответе будет, как отдаются метки.

Написать в AdBreak