Словарь

Format name что это за формат?

Краткое название формата показывает, какой контейнерный формат использует медиафайл, например MP4 или WAV. Полное название формата описывает тот же формат словами, которые легче читать.

format-name

Format Name это краткое имя контейнерного формата медиафайла. Оно показывает, как программа FFmpeg называет формат вашего файла. Контейнером называют файловый формат, который содержит один или несколько аудио- или видеопотоков и метаданные, чтобы их можно было воспроизводить вместе.

Format Long Name это второе поле, которое описывает тот же формат более понятными словами. Программа FFmpeg ffprobe выводит эти два поля как format_name и format_long_name.

Как выглядят значения

FFmpeg читает каждый тип файлов с помощью компонента, который называется демультиплексором (demuxer). Краткое имя формата это короткое имя этого демультиплексора, а длинное имя это его описание. Один демультиплексор может читать несколько родственных форматов, поэтому краткое имя формата может быть списком, разделенным запятыми.

Эти пары взяты из исходного кода FFmpeg, сначала указано краткое имя формата:

  • mov,mp4,m4a,3gp,3g2,mj2 и QuickTime / MOV для файлов MP4, MOV и M4A
  • matroska,webm и Matroska / WebM для файлов MKV и WebM
  • mp3 и MP2/3 (MPEG audio layer 2/3) для аудио MP3
  • wav и WAV / WAVE (Waveform Audio) для аудио WAV
  • mpeg и MPEG-PS (MPEG-2 Program Stream) для программного потока MPEG-2, который может заканчиваться на .mpg
  • png_pipe и piped png sequence для изображения PNG

В некоторых сборках FFmpeg длинные имена форматов отсутствуют. Тогда длинное имя может отображаться как unknown или не выводиться вовсе.

Откуда берется значение

Файл не хранит свое краткое имя формата. FFmpeg читает начало файла и выставляет каждому известному формату оценку. Он выбирает формат с наивысшей оценкой, и поле probe score показывает эту оценку.

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

Почему в файле MP4 может отображаться QuickTime

Файл MP4 показывает краткое имя формата mov,mp4,m4a,3gp,3g2,mj2 и длинное имя QuickTime / MOV. Это нормально и не означает, что файл является MOV. FFmpeg использует один демультиплексор для 6 родственных форматов, поэтому эти же значения отображаются для файлов MOV, MP4, M4A, 3GP, 3G2 и MJ2.

Эти форматы связаны тем, что MP4 основан на формате ISO base media file, а тот, в свою очередь, происходит от формата файлов QuickTime. MP4 и QuickTime родственные, но различаются, поэтому один не всегда может заменить другой.

У этих файлов также может быть тег major_brand. FFmpeg трактует значение qt как файл QuickTime, а другие значения как файл формата ISO base media.

Какие файлы его содержат

Краткое имя формата отображается у файлов, которые FFmpeg может открыть как медиа: видео, аудио и многие форматы изображений. Если ffprobe не может распознать файл как мультимедийный, он возвращает ошибку, и краткого имени формата нет. Для таких файлов смотрите поле File Type.

FFmpeg также назначает краткое имя формата файлам без привычного контейнера. Файл MP3, например, представляет собой поток аудиокадров, часто с тегами ID3.

Почему это важно для вашего файла

Высокая оценка имеет больший приоритет, чем имя файла, поэтому краткое имя формата обычно показывает контейнер, который файл действительно использует. Если имя файла оканчивается на .mp3, а краткое имя формата wav, файл начинается с заголовка WAV. Тогда имя файла не соответствует содержимому.

Краткое имя формата не всегда показывает, какие кодеки использует файл. Codec Long Name описывает, как закодирован один поток внутри контейнера, поэтому у каждого потока свое значение.

Файл MP4, например, может содержать видео в AVC (H.264), AV1 или VP9 и аудио в AAC, FLAC или Opus. Поэтому одно и то же краткое имя формата может встречаться у файлов с разными кодеками.

Мета-ключи