View Full Version : H.264 bitstream analyzer
zambelli
8th February 2013, 22:17
Any recommendations for H.264 bitstream analysis tools?
I'm looking for something that will tell me for each coded frame its type (IDR, I, P, B), compressed size, quantizer level, SPS/PPS/slice header info, and VUI/SEI metadata if available. And if it can dump all that info into a CSV, that'd be awesome.
Free or commercial, though free is always nice. :)
LoRd_MuldeR
8th February 2013, 23:08
Elecard StreamEye:
http://www.elecard.com/en/products/professional/analysis/streameye.html
CodecVisa (formerly H264Visa):
http://www.codecian.com/downloads.html
These come to my mind. I don't know if any of them has a CSV export function though...
drmpeg
9th February 2013, 03:08
I have something cheap and simple (command prompt only). It will do most of the things you mention, but not quant levels.
http://www.w6rz.net/h264_parse.zip
Ron
Blue_MiSfit
9th February 2013, 06:53
Elecard is decent for basic stuff. I'm looking into purchasing Interra Vega, but we'll see if that makes it into my budget :D
sonnati
9th February 2013, 11:14
Blue_MiSfits, where are you working ?
Blue_MiSfit
10th February 2013, 04:38
A major broadcasting company. We're looking into Vega for its deep support for a wide variety of containers and video essences, including broadcast specific stuff like Closed Captions.
Parabola
10th February 2013, 21:39
For simple, high-level information dumped to file, I can't help wondering if the most suitable thing is an instrumented decoder. Take the reference decoder, add some prints to stdout and you're done. Could take someone familiar with the standard and JM less than a day.
Quantizer level is a tricky one... Qp can vary throughout the frame so you need to derive and report some sort of picture average for Y, Cr and Cb. This implies deeper decoding than just looking at headers.
If this was a question about HEVC, I could help zambelli with some commercial software or at least a trial :) .
benwaggoner
12th February 2013, 00:23
Hey Alex!
This is what I've been using: Tektronix MTS4SA (http://www.tek.com/document/brochure/mts4sa-pc-based-mpeg-analysis-tools)
It's what I inherited, so I didn't do a big comparison, but it does everything you're asking about, and more.
About the complete opposite of free, though :)!
LigH
28th August 2014, 11:50
I just wonder if LAV Filters/Splitters expose useful data about video streams, or if a fork would help creating some statistical tool based on them, to report details beyond MediaInfo's header analysis, e.g. GOP length distrubution...
nevcairiel
28th August 2014, 12:13
They just use ffmpeg for parsing and decoding, if you want any extra information, use ffmpeg directly and/or fork it to expose internal information.
LigH
28th August 2014, 12:29
I am no C(++) programmer, can't fork, sorry...
benwaggoner
30th August 2014, 21:24
They just use ffmpeg for parsing and decoding, if you want any extra information, use ffmpeg directly and/or fork it to expose internal information.
Isn't that what ffprobe is for?
pandy
1st September 2014, 14:20
I just wonder if LAV Filters/Splitters expose useful data about video streams, or if a fork would help creating some statistical tool based on them, to report details beyond MediaInfo's header analysis, e.g. GOP length distrubution...
Not sure about ffprobe capabilities - typical data are relatively easy to access but more complex?
For example - basic info works nicely:
@ffprobe -v quiet -pretty -print_format json -show_entries "format=size,bit_rate:frame=coded_picture_number,pkt_pts_time,pkt_pts,pkt_dts_time,pkt_dts,pkt_duration_time,pict_type,interlaced_frame,top_field_first,repeat_pict,width,height,sample_aspect_ratio,display_aspect_ratio,r_frame_rate,avg_frame_rate,time_base,pkt_size" -select_streams v:0 %1 > %1.json
provide this as a result
{
"pkt_pts": 0,
"pkt_pts_time": "0:00:00.000000",
"pkt_dts": 0,
"pkt_dts_time": "0:00:00.000000",
"pkt_duration_time": "0:00:00.040000",
"pkt_size": "116620",
"width": 1920,
"height": 1080,
"pict_type": "I",
"coded_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0
},
But not more... :(
Perhaps some analyzer can be build around ffprobe (ffmpeg)...
raffriff42
7th September 2014, 01:34
Expanding on pandy's post above, here an ffprobe report in CSV format, suitable for importing into a spreadsheet:
Save as <something>.bat, then drag your media file on it to generate the report: @echo off
:: ***** set path to ffprobe.exe if required *****
set FPROB="ffprobe.exe"
@echo entry,media_type,key_frame,pkt_pts,pkt_pts_time,pkt_dts,pkt_dts_time,best_effort_timestamp,^
best_effort_timestamp_time,pkt_duration,pkt_duration_time,pkt_pos,pkt_size,^
width,height,pix_fmt,sample_aspect_ratio,pict_type,coded_picture_number,^
display_picture_number,interlaced_frame,top_field_first,repeat_pict > "%~dpn1-ffdump.csv"
%FPROB% -select_streams v -print_format csv -show_entries frame "%~dpnx1" >> "%~dpn1-ffdump.csv"
if errorlevel 1 pause
exit 0
EDIT see also, my post on ffplay -debug :
http://forum.doom9.org/showthread.php?p=1692797#post1692797
LigH
7th September 2014, 14:46
Thank you for this contribution. I hope it will be useful for the user originally asking in the german forum.
raffriff42
17th September 2014, 04:55
problem 99.9% solved IMHO - see my post, here (http://forum.doom9.org/showthread.php?p=1693552#post1693552).
posdnya
27th October 2015, 09:03
Just curios are anybody out of US interested in Mac version of the Analyzer?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.