FFmpeg: Invalid data found when processing input

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

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

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Проверка файла
  5. Параметры чтения
  6. Восстановление

#Что означает ошибка

Сообщение
Invalid data found when processing input

Сообщение FFmpeg «Invalid data found when processing input» означает, что утилита не смогла разобрать входной файл: он повреждён, не дописан, зашифрован, имеет нестандартный контейнер или это вообще не медиафайл (например, HTML-страница, скачанная вместо видео).

Сначала определите, что за файл реально находится по пути. Затем выберите способ чтения.

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

Ошибка означает, что FFmpeg не смог разобрать входной файл: он повреждён, неполон или имеет нестандартную структуру. Для MP4 частая причина — отсутствие блока moov.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Неполная загрузка файлаРазмер мал.Скачайте заново.
Повреждённый контейнерОшибки.Попробуйте восстановить.
Неверный форматРасширение не совпадает.Проверьте.
Запись не завершенаПрервали.Используйте инструменты восстановления.

#Пошаговое решение

  1. Убедитесь, что это медиафайлСоздайте копию входного файла. В терминале Linux/macOS откройте папку с копией и запустите file input.mp4; в Windows можно посмотреть размер через «Свойства» и использовать ffprobe -hide_banner input.mp4 после установки FFmpeg. Замените имя реальным. Если ffprobe пишет Invalid data found, проверьте, что вы скачали именно видео, а не HTML-страницу ошибки с расширением .mp4.
  2. Задайте форматПараметр -f задают только когда точный контейнер или поток известен, например необработанный H.264. Не добавляйте -f mp4 к случайному файлу: это не восстанавливает заголовки. Сначала посмотрите расширение, технические характеристики у отправителя и вывод ffprobe. Параметры анализа -analyzeduration и -probesize помогают не всем форматам, поэтому проверяйте изменения на отдельной копии.
  3. Игнорируйте ошибки потокаЕсли часть кадров повреждена, в отдельную папку положите копию input.mp4 и попробуйте команду ffmpeg -err_detect ignore_err -fflags +discardcorrupt -i input.mp4 -c copy salvaged.mkv. Откройте полученный MKV и проверьте начало, середину и конец. Пропуск повреждённых пакетов может приводить к разрывам звука и изображения, а при отсутствующем заголовке контейнера команда не сработает. Оригинал сохраните.
  4. Попробуйте восстановить контейнерЕсли MP4 оборван во время записи и отсутствует важный служебный блок, FFmpeg может оказаться бессилен. При наличии второго исправного ролика с той же камеры и настройками изучите специализированное средство untrunc и работайте только с копиями; инструмент не гарантирует восстановления. Для MKV можно попробовать открыть файл в MKVToolNix и пересобрать контейнер, если потоки читаются.
  5. Скачайте файл зановоЕсли файл получен из сети, ещё раз скачайте его по исходной ссылке, дождитесь полного завершения и сравните размер и контрольную сумму, когда она доступна. Если проблема только у вашего экземпляра, используйте новую копию. Если сам источник выдаёт неполное видео, запросите исходную запись у автора: неподходящие параметры FFmpeg не восстановят отсутствующие данные.

#Проверка файла

Выполните ffprobe -hide_banner файл и file файл (Linux/macOS/Git Bash). Если file показывает HTML document или ASCII text, значит, вы скачали страницу ошибки. Проверьте размер: нулевой или подозрительно маленький файл — незавершённая загрузка. Сравните хэш sha256sum, если он известен.

#Параметры чтения

Увеличьте анализ входа: ffmpeg -analyzeduration 100M -probesize 100M -i in.ts -c copy out.mp4. Явно задайте формат: -f mpegts или -f h264. Для потоков с ошибками добавьте -err_detect ignore_err -fflags +discardcorrupt+genpts. Для M3U8 при ошибках сертификата добавьте -protocol_whitelist file,http,https,tcp,tls,crypto.

#Восстановление

Если у MP4 нет атома moov, файл не завершился записью. Используйте untrunc с рабочим файлом той же камеры. Для MKV можно попробовать mkvmerge -o fixed.mkv broken.mkv. Записанное с экрана видео часто не дописано при сбое питания.

Linux · Терминал (Bash)Команда
Диагностика и попытка пересобрать файл без перекодирования.
ffprobe -hide_banner input.mp4
ffmpeg -err_detect ignore_err -fflags +discardcorrupt+genpts -i input.mp4 -c copy fixed.mp4

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 1 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.