← Все гайды AI Release
EN Подписаться на @ai_release1

Как распознать дипфейк в видео и звонке: проверка, инструменты и защита от мошенников

Обновлено: 26.10.2026 · AI Release · @ai_release1
Как распознать дипфейк в видео и звонке: проверка, инструменты и защита от мошенников

TL;DR

Требования и подготовка

Иллюстрация к разделу «Требования и подготовка»
Иллюстрация к разделу «Требования и подготовка»
ffprobe -version | head -n 1
exiftool -ver
python3 -c "import cv2, numpy; print(cv2.__version__)"

Пример: корректный вывод — три строки, например ffprobe version ..., 12.xx, 4.x.x. Если любая команда отвечает command not found — переходите в раздел «Возможные проблемы».

Шаг 1. Соберите технические метаданные файла

Что сделать: сохраните подозрительное видео локально (не открывайте его из мессенджера по ссылке) и снимите паспорт файла.

mkdir -p ~/dfcheck && cd ~/dfcheck
cp <путь-к-файлу.mp4> ./sample.mp4
ffprobe -v error -show_entries format=format_name,duration,size,bit_rate -show_entries stream=codec_type,codec_name,width,height,r_frame_rate,sample_rate -of default=noprint_wrappers=1 ./sample.mp4 | tee probe.txt
exiftool ./sample.mp4 > meta.txt && cat meta.txt

Зачем: метаданные отвечают на два вопроса: чем файл собран (Encoder, Handler, Software) и совпадает ли частота кадров/аудио с типичным захватом с телефона. Видео, «пересобранное» генератором или конвертером, часто имеет ровную частоту кадров и стерильные теги. Это косвенный признак — сам по себе он ничего не доказывает.

Как проверить: откройте probe.txt — должны быть строки codec_type=video и codec_type=audio; в meta.txt ищите поля Encoder, Create Date, Software.

Пример: r_frame_rate=25/1, codec_name=h264, Encoder= Lavf58.76.100 — файл прошёл через ffmpeg-пересборку. Запись прямо с телефона обычно несёт бренд-теги производителя; их отсутствие — повод для следующих шагов, но не приговор.

Шаг 2. Проверьте артефакты генерации: покадровый анализ и синхрон звука

Иллюстрация к разделу «Шаг 2. Проверьте артефакты генерации: покадровый анализ и синхрон звука»
Иллюстрация к разделу «Шаг 2. Проверьте артефакты генерации: покадровый анализ и синхрон звука»

Что сделать: выгрузите кадры в зоне рта/глаз и посчитайте подвижность этой зоны, параллельно найдите участки тишины в звуке.

ffmpeg -i ./sample.mp4 -vf "fps=10,crop=iw*0.4:ih*0.3:iw*0.3:ih*0.6" -q:v 2 ./frames/mouth_%04d.jpg
ffmpeg -i ./sample.mp4 -af "silencedetect=noise=-30dB:d=0.3" -f null - 2> silence.txt
grep -E "silence_(start|end)" silence.txt | head
import cv2, csv, sys
path = sys.argv[1] if len(sys.argv) > 1 else "sample.mp4"
cap, prev, idx = cv2.VideoCapture(path), None, 0
fps = cap.get(cv2.CAP_PROP_FPS) or 25.0
rows = []
while True:
    ok, frame = cap.read()
    if not ok:
        break
    h, w = frame.shape[:2]
    mouth = cv2.cvtColor(frame[int(h*0.6):int(h*0.9), int(w*0.3):int(w*0.7)], cv2.COLOR_BGR2GRAY)
    mouth = cv2.resize(mouth, (160, 80)).astype("float32")
    if prev is not None:
        rows.append((idx, round(idx/fps, 3), round(float(abs(mouth - prev).mean()), 2)))
    prev, idx = mouth, idx + 1
cap.release()
with open("mouth_motion.csv", "w", newline="") as f:
    wr = csv.writer(f); wr.writerow(["frame", "t_sec", "mouth_diff"]); wr.writerows(rows)
print(f"frames={idx} fps={fps:.2f} rows={len(rows)}")

Зачем: генераторы видео чаще всего «плывут» в двух местах — мелкая мимика вокруг рта и рассинхрон губ со звуком. Скрипт даёт числовой ряд mouth_diff: резкие одиночные выбросы и «залипание» на нуле при громкой речи — сигнал посмотреть кадры глазами. silencedetect показывает интервалы тишины: если в эти секунды рот на видео активно двигается — вероятен рассинхрон.

Как проверить: скрипт печатает frames=<N> fps=<F> rows=<N-1> и создаёт mouth_motion.csv. В silence.txt строки вида silence_start: 12.4.

Пример: frames=412 fps=25.00 rows=411; далее python3 -c "import csv;r=list(csv.DictReader(open('mouth_motion.csv')));print(max(float(x['mouth_diff']) for x in r))" — сравните максимум со средним: единичный пик в 5–10 раз выше среднего на ровном фоне типичен для подмены лица.

Почему это работает: артефакты сжатия и мимики локальны, поэтому их видно именно в кропе лица; скрипт не «детектирует дипфейк», а подсвечивает участки для ручного просмотра. Как устроен синтез видео на уровне кадров, разобрано в гайде Как создавать видео с помощью ИИ и Remotion.

Шаг 3. Проверьте звонок по протоколу и вынесите решение

Иллюстрация к разделу «Шаг 3. Проверьте звонок по протоколу и вынесите решение»
Иллюстрация к разделу «Шаг 3. Проверьте звонок по протоколу и вынесите решение»

Что сделать: не спорьте с «руководителем» в звонке, а переведите разговор в проверяемую плоскость и заполните чек-лист.

Зачем: технический детектор даёт вероятность, а не доказательство; протокол «перезвони по известному номеру + кодовое слово» закрывает риск независимо от качества подделки и не требует инструментов.

Как проверить: результат — заполненный чек-лист с датой и хотя бы один факт, полученный по независимому каналу. Если перезвон подтвердил личность и кодовое слово совпало — инцидент закрыт; если нет — эскалация в безопасность.

ПризнакГде смотретьЛожные срабатывания
Рассинхрон губ и звука`silence.txt` + покадровый просмотрплохая связь, буферизация записи
Стерильные метаданные`meta.txt`, поле `Encoder`любая пересылка через мессенджер
Скачки `mouth_diff``mouth_motion.csv`резкая смена освещения, склейка кадра

Пример: звонок «из бухгалтерии» с просьбой подтвердить перевод. Вы прерываете, звоните по номеру с сайта, кодовое слово не совпадает — платёж не подтверждён, номер передан в безопасность. Никаких инструментов, кроме телефона, не понадобилось.

Возможные проблемы и решения

Проблема. Утилита не найдена

Проблема. Python не видит OpenCV

Проблема. ffmpeg отказывается читать файл

Резюме и следующие шаги

Сначала снимайте метаданные и покадровые артефакты, затем закрывайте риск протоколом обратного звонка и кодового слова — это единственная проверка, не зависящая от качества подделки. Для бытовых задач, где нужны ИИ-инструменты без сложной настройки, смотрите подборку ИИ-инструменты для обычных людей.

FAQ

Можно ли определить дипфейк по морганию или по глазам?

Раньше это был заметный признак, сейчас — слабая эвристика: современные модели воспроизводят мимику правдоподобно. Используйте покадровый просмотр как фильтр для отбора подозрительных участков, а не как доказательство.

Работают ли онлайн-сервисы-детекторы дипфейков?

Они дают оценку вероятности и часто ошибаются на сжатом видео из мессенджеров. Конкретные возможности и точность каждого сервиса сверьте с документацией — в этом гайде цифры не приводятся.

Что делать, если «руководитель» требует срочный перевод по видео-звонку?

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

Как защитить родственников, которые верят любому звонку?

Заведите семейное кодовое слово, договоритесь о правиле «любая просьба о деньгах — только после обратного звонка», и напишите это правило на бумаге рядом с телефоном.

🤖 Кратко для ИИ