ffprobe — утилита для получения информации о медиафайлах. Она может быть полезна для быстрой сверки параметров видео, для скриптинга (его мы рассмотрим уже совсем скоро) или в цепочке более сложных программ.
Есть два основных параметра: -show_format — показывает общую информацию о файле, например, название, длительность, формат, битрейт, длительность и т.д. -show_streams — показывает информацию о потоках видео и аудио, а именно название кодеков, разрешение, длительность, цветовой профиль и многое другое.
ffprobe поддерживает форматы xml, csv, json, ini, которые можно указать при помощи ключа -print_format или -of
Чтобы убрать из вывода всё лишнее, можно воспользоваться ключом -v, указав ему параметр error или quiet (это работает и для ffmpeg и ffplay).
Вывод базовой информации в человекочитаемом (насколько это возможно) формате:
"codec_long_name":"PCM 32-bit floating point little-endian",
"codec_type":"audio",
"codec_time_base":"1/44100",
"codec_tag_string":"[3][0][0][0]",
"codec_tag":"0x0003",
"sample_fmt":"flt",
"sample_rate":"44100",
"channels":1,
"bits_per_sample":32,
"r_frame_rate":"0/0",
"avg_frame_rate":"0/0",
"time_base":"1/44100",
"duration_ts":5388998,
"duration":"122.199501",
"bit_rate":"1411200",
"disposition":{
"default":0,
"dub":0,
"original":0,
"comment":0,
"lyrics":0,
"karaoke":0,
"forced":0,
"hearing_impaired":0,
"visual_impaired":0,
"clean_effects":0,
"attached_pic":0,
"timed_thumbnails":0
}
}
],
"format":{
"filename":"result.wav",
"nb_streams":1,
"nb_programs":0,
"format_name":"wav",
"format_long_name":"WAV / WAVE (Waveform Audio)",
"duration":"122.199501",
"size":"21556072",
"bit_rate":"1411205",
"probe_score":99
}
}
Выбор потоковТакже можно выбирать интересующие потоки и выводить только нужные данные. Чтобы выбрать поток, используется ключ: -select_streams идентификатор Где идентификатором может быть — тип — буква, a - audio, v - video, s - subtitles — тип:индекс Например: -select_streams a — выберет все аудиопотоки -select_streams v:0 — выберет первый видеопоток
ffprobe -v error -select_streams a -show_streams video.ts
Вывод нужных параметровДля вывода только нужных параметров, используется ключ: -show_entries список_параметров Параметры разделяются символом : Параметр должен содержать название секции, например, в примерах выше в [FORMAT] был параметр bit_rate, а в [STREAMS] был coded_width, поэтому указываем так: