Как получить информацию о видео в формате h264?

Как я могу получить конкретную информацию о видео h264 из видео файла? Мне нужно знать профиль (Baseline/Main/High) и есть ли B-кадры в фильме?

29
задан Zelenov 21 January 2012 в 16:28
поделиться

2 ответа

Я обнаружил, что для этого лучше всего использовать FFprobe с параметром -show_streams. Он показывает как профиль h.264, так и использование B-кадров для видеопотоков фильма.

ffprobe -show_streams -i "file.mp4"

[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=High
codec_type=video
codec_time_base=1001/48000
codec_tag_string=avc1
codec_tag=0x31637661
width=1920
height=1080
has_b_frames=0
sample_aspect_ratio=0:1
display_aspect_ratio=0:1
pix_fmt=yuv420p
level=40
timecode=N/A
is_avc=1
nal_length_size=4
id=N/A
r_frame_rate=24000/1001
avg_frame_rate=24000/1001
time_base=1/48000
start_time=0.000000
duration=252.168583
bit_rate=5617233
nb_frames=6046
nb_read_frames=N/A
nb_read_packets=N/A
TAG:creation_time=1970-01-01 00:00:00
TAG:language=und
TAG:handler_name=VideoHandler
[/STREAM]
42
ответ дан 28 November 2019 в 01:20
поделиться

ffprobe, начиная с версии 1.0.7, предоставляет хорошо отформатированный вывод JSON с переключателем команды -print_format json.

Вы можете использовать его следующим образом:

ffprobe -v quiet -print_format json -show_format Ramp \ - \ Apathy.mp3

, который производит следующий вывод:

{
    "format": {
        "filename": "Ramp - Apathy.mp3",
        "nb_streams": 2,
        "format_name": "mp3",
        "format_long_name": "MP2/3 (MPEG audio layer 2/3)",
        "start_time": "0.000000",
        "duration": "203.638856",
        "size": "4072777",
        "bit_rate": "159999",
        "tags": {
            "title": "Apathy",
            "artist": "Ramp",
            "album": "Evolution Devolution Revolution",
            "date": "1999",
            "genre": "Metal"
        }
    }
}
6
ответ дан 28 November 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: