Как я могу получить конкретную видеоинформацию h264 из видеофайла? Мне нужно знать профиль (Baseline/Main/High) и есть ли B-Frames в фильме?Как получить видеоинформацию h264?
ответ
Я обнаружил, что лучший способ для этого является использование 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]
В последнем Ubuntu:' avprobe -show_streams file.mp4' – Pitel
С помощью какого инструмента я могу получить некоторую информацию, такую как размер GOP ?! Значение для CRF и т. Д. ?! –
ли MediaInfo обеспечить вывод, что нужно? http://mediainfo.sourceforge.net/en
(если вы на Mac, вы можете легко установить с варевом.> Заварить установить медиа-инфо)
$ mediainfo Dream.House.sample.mkv
General
Unique ID : 247222296143464620093895254679791638636 (0xB9FD4845398D136BB4A1628DB750986C)
Complete name : Dream.House.sample.mkv
Format : Matroska
Format version : Version 2
File size : 126 MiB
Duration : 1mn 56s
Overall bit rate : 9 042 Kbps
Encoded date : UTC 2011-12-15 03:44:07
Writing application : mkvmerge v3.0.0 ('Hang up your Hang-Ups') built on Dec 12 2009 15:20:35
Writing library : libebml v0.7.9 + libmatroska v0.8.1
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 1mn 56s
Bit rate : 5 843 Kbps
Width : 1 280 pixels
Height : 544 pixels
Display aspect ratio : 2.40:1
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.350
Stream size : 81.5 MiB (65%)
Language : English
Audio #1
ID : 2
Format : DTS
Format/Info : Digital Theater Systems
Codec ID : A_DTS
Duration : 1mn 56s
Bit rate mode : Constant
Bit rate : 1 510 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossy
Delay relative to video : 67ms
Stream size : 21.1 MiB (17%)
Language : Russian
Audio #2
ID : 3
Format : DTS
Format/Info : Digital Theater Systems
Codec ID : A_DTS
Duration : 1mn 56s
Bit rate mode : Constant
Bit rate : 1 510 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossy
Delay relative to video : 67ms
Stream size : 21.1 MiB (17%)
Language : English
ffprobe, в версии 1.0.7 обеспечивает хорошо отформатированный вывод JSON с помощью переключателя команд JSON -print_format.
Вы можете использовать его как это:
ffprobe -v тихий -print_format -show_format Ramp JSON \ - \ Apathy.mp3
Который производит follwing вывод:
{
"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"
}
}
}
@ ρss Я обновил ответ соответствующим содержанием. –
Просто получить информацию в целом? Звучит не по теме для этого сайта. Если вы пытаетесь получить его в коде, расскажите нам больше о коде. Язык, среда и т. Д. – David
Что такое видеофайл? Существуют различные форматы контейнеров, способные или не сохраняющие видео H.264. –
Я ищу любой возможный способ определить это, любую библиотеку, любое приложение из командной строки. В моей работе я использую C# и ffmpeg приложение, но он не может дать мне специальную информацию о кодеках. – Zelenov