2012-01-21 20 views
26

¿Cómo puedo obtener información de video h264 específica del archivo de video? Necesito saber el perfil (Baseline/Main/High) y ¿hay B-Frames en la película?¿Cómo obtener información de video h264?

+1

¿Acaba de obtener la información en general? Parece fuera de tema para este sitio. Si intenta obtenerlo en código, cuéntenos más sobre el código. Idioma, entorno, etc. – David

+0

¿Qué es un archivo de video? Hay varios formatos de contenedor, capaces o no de almacenar videos H.264. –

+0

Estoy buscando cualquier forma posible de determinar esto, cualquier biblioteca, cualquier aplicación de línea de comandos. En mi trabajo utilizo la aplicación C# y ffmpeg, pero no puede proporcionarme información especial sobre códec. – Zelenov

Respuesta

35

He descubierto que la mejor manera para que esto está utilizando FFprobe con el parámetro -show_streams. Muestra el perfil h.264 y el uso de B-frames para transmisiones de video de la película.

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] 
+1

En la última versión de Ubuntu:' avprobe -show_streams file.mp4' – Pitel

+3

¿Con qué herramienta puedo obtener información como el tamaño GOP? Valor para CRF y etc.? –

3

Utilice G-Spot para detectar la información.

Get it here

+0

Pero no muestra ningún número para GOP tamaño o cuadro B? –

10

Hace mediainfo proporcionar la salida que necesita? http://mediainfo.sourceforge.net/en

(si estás en un Mac, puede instalar fácilmente con cerveza.> Brebaje medio de instalación-info)

$ 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 
+0

+1 trabajado con ubuntu 12.10 '$ sudo apt-get install mediainfo; ' – YumYumYum

+0

mediainfo inspecciona las 264 configuraciones de formato (por ejemplo, CABAC) mientras que ffprobe no lo hace – Harvey

3

ffprobe, a partir de la versión 1.0.7 proporciona una salida de JSON muy bien formateado con el interruptor de mando JSON -print_format.

Se puede utilizar la siguiente manera:

ffprobe -v tranquila JSON -print_format -show_format Rampa \ - \ Apathy.mp3

que produce la salida siguientes aparatos:

{ 
    "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" 
     } 
    } 
} 
+1

@ ρss He actualizado la respuesta con el contenido adecuado. –

Cuestiones relacionadas