Годы стримов оставляют после себя архив: прошлые трансляции, лучшие моменты, клипы, экран «скоро начнем» с тем плейлистом, который играл в тот вечер. Если вы хотите узнать, какие записанные песни находятся в этом архиве и где именно, этот рецепт сканирует его с помощью AudD и выдает список для каждого файла: временная метка, исполнитель, название, лейбл. На основе этого списка вы решаете, что заглушить, обрезать или удалить, и сохраняете историю принятых решений.
Что это показывает, а что нет. AudD сопоставляет аудио с собственной базой данных, содержащей около 160 миллионов коммерчески выпущенных песен. Платформы для стриминга запускают собственные алгоритмы обнаружения на основе собственных эталонных файлов и правил. Результаты AudD не предсказывают, что именно отметит платформа, и файл без совпадений в AudD все равно может получить жалобу (и наоборот). Используйте сканирование, чтобы узнать, что находится в вашем архиве. Является ли конкретное использование лицензированным или разрешенным — это отдельный вопрос; эта страница не является юридической консультацией (по состоянию на 12.10.2026).
Что это показывает, а что нет. AudD сопоставляет аудио с собственной базой данных, содержащей около 160 миллионов коммерчески выпущенных песен. Платформы для стриминга запускают собственные алгоритмы обнаружения на основе собственных эталонных файлов и правил. Результаты AudD не предсказывают, что именно отметит платформа, и файл без совпадений в AudD все равно может получить жалобу (и наоборот). Используйте сканирование, чтобы узнать, что находится в вашем архиве. Является ли конкретное использование лицензированным или разрешенным — это отдельный вопрос; эта страница не является юридической консультацией (по состоянию на 12.10.2026).
Что вы создадите
- Сканирование папки с VOD и клипами с выборочной выборкой для снижения затрат.
- archive-music.csv: по одной строке на каждый музыкальный фрагмент в файле, с указанием времени начала и окончания в файле, а также сведений о треке.
- Столбец решений, который вы заполняете (оставить, заглушить, обрезать, удалить), и журнал только для добавления записей о том, что было просканировано, с какими настройками и что вы с этим сделали.
Существует два способа запуска сканирования: CLI AudD без написания кода или небольшой скрипт на Python, если вам нужно, чтобы список сегментов и журнал создавались автоматически. Оба используют корпоративный эндпоинт, который принимает файлы любой длины и возвращает каждое совпадение с указанием его позиции в файле.
Предварительные требования
- API-токен. Получите собственный токен на сайте dashboard.audd.io. ISRC и UPC в результатах требуют тарифный план Startup или выше; исполнитель, название, альбом и лейбл возвращаются и без них.
- Для варианта с CLI: AudD CLI (brew install auddmusic/tap/audd, npm install -g @audd/cli, pipx install audd-cli или другой вариант на этой странице).
- Для варианта со скриптом: Python 3.10+ с командой pip install audd, а также ffmpeg / ffprobe в вашей переменной PATH.
Шаг 1: Получите файлы
Загрузите свои прошлые трансляции и клипы с помощью опции скачивания или экспорта в панели управления создателя вашей платформы. Большинство платформ хранят прошлые трансляции ограниченное время, поэтому скачайте то, что хотите сохранить, до истечения срока их хранения. Сканируйте только тот контент, который принадлежит вам или управляется вашим каналом.
Видеофайлы имеют большой размер, а AudD требуется только аудио. Предварительное извлечение аудиодорожки делает загрузку намного меньше и быстрее:
Временные метки в аудиофайле совпадают с видеофайлом, поэтому результаты легко сопоставляются обратно. CLI и SDK также принимают видеофайлы напрямую, если вы предпочитаете пропустить этот шаг.
Шаг 2: Спланируйте бюджет сканирования
Корпоративный эндпоинт тарифицируется по одному запросу за каждые 12 секунд обрабатываемого аудио. Один час аудио — это 300 фрагментов. Параметры every и skip позволяют распознавать некоторые фрагменты и пропускать остальные: every=1, skip=4 распознает 12 секунд из каждой минуты.
Клипы короткие, поэтому полное покрытие обходится недорого: 45-секундный клип — это 4 фрагмента, а 500 таких клипов обойдутся примерно в 2000 запросов.
Выборочное сканирование (sampling) находит музыку, которая играет какое-то время: плейлист во время геймплея, сегмент диджея, петлю «скоро начнем». Оно может пропустить все, что короче промежутка между проверками, например звук оповещения или песню, которую кто-то включил на 20 секунд. Практичный план для VOD — сначала сделать выборочный проход по всему материалу, а затем выполнить повторное сканирование с полным покрытием только в тех местах, где первый проход нашел музыку (Шаг 4). Для клипов используйте полное покрытие.
Не используйте skip_first_seconds для пропуска экрана «скоро начнем». Музыка под экраном ожидания — это одна из самых частых находок.
Шаг 3: Сканирование с помощью CLI
Сначала предварительно просмотрите план и оценку количества запросов. Флаг --dry-run ничего не отправляет.
--limit — это максимальное количество распознаваемых фрагментов на файл. С параметром --skip 4 для 6-часового VOD требуется около 360 распознанных фрагментов, поэтому --limit 400 покрывает эту задачу с небольшим запасом. --max-files ограничивает количество файлов в пакете. Затем запустите процесс и запишите результат в CSV:
--max-requests останавливает выполнение, до того как будет потрачено больше лимита. Пакет сохраняется после каждого файла, поэтому в случае остановки (достигнут бюджет, нажато Ctrl-C, потеряно соединение) команда audd jobs list показывает это, а audd jobs resume <id> продолжает работу с оставшимися файлами. Результаты кэшируются по содержимому файлов, поэтому повторный запуск для того же файла не тратит запросы заново.
CSV содержит по одной строке на каждое совпадение со следующими полями: input, status, artist, title, album, label, isrc, upc, song_link, score, start_seconds и end_seconds (позиции в файле). Файлы без совпадений получают строку no_match, поэтому вы можете отличить статус «просканировано, ничего не найдено» от «не просканировано».
Для клипов отключите выборочное сканирование:
Чтобы детально изучить один VOD, флаг --tracklist объединяет последовательные совпадения в треки с указанием времени начала и окончания:
Шаг 4: Сканирование с помощью Python и формирование сегментов
Скрипт выполняет такое же выборочное сканирование, объединяет проверки одного трека в сегменты, а затем повторно сканирует окно вокруг каждого сегмента с полным покрытием для определения его точного начала и окончания.
start_seconds и end_seconds — это позиции в вашем файле в секундах. SDK по умолчанию запрашивает точные смещения и вычисляет их на основе позиции фрагмента и смещения внутри фрагмента.
После выборочного прохода границы сегмента известны лишь с точностью до одного интервала проверки: песня могла начаться за минуту до первой проверки, которая ее зафиксировала. Чтобы найти реальные границы, вырежьте локальное окно вокруг сегмента и просканируйте это окно с полным покрытием:
Уточнение 3-минутной песни стоит около 25 фрагментов: сама песня плюс минута с каждой стороны. На 4-часовом VOD, который в основном состоит из разговоров и геймплея, выборочный проход (240 фрагментов) плюс несколько уточнений остаются далеко в пределах лимита полного покрытия (1200 фрагментов).
Уточненный проход также может обнаружить другую песню в этом окне (плейлист сменился); она возвращается как отдельный сегмент.
Шаг 5: Создание списка для каждого файла
Два сегмента одной и той же песни могут перекрываться после уточнения, если их окна пересекаются; удалите точные дубликаты перед проверкой или объедините строки одного и того же файла и ISRC, время которых пересекается.
Шаг 6: Решение о дальнейших действиях
Заполните поле решения для каждой строки. Распространенные варианты:
Для заглушки или локальной обрезки руководство Flag and remove music in a live-event recording создает фильтр заглушки ffmpeg и список для обрезки из аналогичного списка сегментов. Добавьте запас в одну или две секунды с каждой стороны сегмента перед установкой заглушки.
Шаг 7: Ведение журнала
Добавляйте по одной строке на файл в журнал при каждом сканировании или действии с ним. Месяцы спустя это подскажет вам, что проверялось, с какими настройками и что вы сделали.
Сохраняйте настройки выборки при каждом сканировании. Выборочное сканирование без совпадений означает «ничего не найдено в проверенных точках», а не «в файле нет музыки».
Ограничения, которые следует иметь в виду
- AudD идентифицирует записи. Сервис не распознает песню, которую вы спели или сыграли вживую, кавер или ремикс, если он сам по себе не является выпущенной записью.
- Музыка, звучащая тише громкого голоса или игрового аудио, может не совпасть.
- Совпадения находятся только в каталоге AudD; треки, которых там нет, возвращаются как «нет совпадений».
Обработка ошибок
- AudDAuthenticationError: неверный токен. Остановитесь и исправьте его.
- AudDQuotaError: закончились запросы. Пополните баланс, затем перезапустите; при использовании CLI выполните audd jobs resume <id>.
- AudDInvalidAudioError: файл не удалось декодировать. Скачайте или извлеките аудио заново.
- AudDConnectionError: временная ошибка; повторите попытку для этого файла. Отмена запроса в процессе выполнения может все равно привести к списанию запросов.
- Пометка и удаление музыки в записи прямого эфира
- AudD для стримеров на Twitch
- Идентификация музыки из командной строки с помощью AudD CLI
- Контроль расходов корпоративного эндпоинта
- Поля ответа и совпадений для корпоративных клиентов
- Справочник AudD CLI

