2012-01-21 15 views
26

Come posso ottenere informazioni specifiche sul video h264 dal file video? Devo conoscere il profilo (Baseline/Main/High) e ci sono B-Frames nel film?Come ottenere informazioni video h264?

+1

È sufficiente ottenere le informazioni in generale? Sembra fuori tema per questo sito. Se stai cercando di inserirlo nel codice, dicci di più sul codice. Lingua, ambiente, ecc. – David

+0

Che cos'è il file video? Esistono vari formati contenitore, in grado o meno di memorizzare video H.264. –

+0

Sto cercando un modo per determinare queste cose, qualsiasi libreria, qualsiasi applicazione da riga di comando. Nel mio lavoro uso l'app C# e ffmpeg, ma non può darmi informazioni speciali sul codec. – Zelenov

risposta

35

ho scoperto che il modo migliore per questo sta usando FFprobe con il parametro -show_streams. Mostra sia il profilo h.264 che l'uso dei frame B per i flussi video del film.

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

Sull'ultima Ubuntu:' avprobe -show_streams file.mp4' – Pitel

+3

Con quale strumento posso ottenere alcune informazioni come la dimensione GOP ?! Valore per CRF ed ecc. ?! –

3

Utilizzare G-Spot per rilevare le informazioni.

garantita here

+0

Ma non mostra alcun numero per GOP dimensione o cornice B !? –

10

Fa mediainfo fornire l'output è necessario? http://mediainfo.sourceforge.net/en

(se siete su un Mac, è possibile installare facilmente con birra.> Brew installare supporti-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 ha funzionato con ubuntu 12.10 '$ sudo apt-get install mediainfo; ' – YumYumYum

+0

mediainfo ispeziona le impostazioni del formato 264 (ad esempio CABAC) mentre ffprobe non è – Harvey

3

ffprobe, dalla versione 1.0.7 fornisce un'uscita JSON ben formattato con l'interruttore di comando json -print_format.

Si può usare in questo modo:

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

che produce l'uscita 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" 
     } 
    } 
} 
+1

@ ρss Ho aggiornato la risposta con il contenuto corretto. –

Problemi correlati