Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264

Reply
 
Thread Tools Search this Thread Display Modes
Old 8th February 2013, 22:17   #1  |  Link
zambelli
Doom9ing since 2001
 
zambelli's Avatar
 
Join Date: Oct 2001
Location: Seattle, WA, USA
Posts: 1,967
H.264 bitstream analyzer

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.
__________________
Alex Zambelli | Blog | Twitter
zambelli is offline   Reply With Quote
Old 8th February 2013, 23:08   #2  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,070
Elecard StreamEye:
http://www.elecard.com/en/products/p...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...
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 8th February 2013 at 23:10.
LoRd_MuldeR is offline   Reply With Quote
Old 9th February 2013, 03:08   #3  |  Link
drmpeg
Registered User
 
Join Date: Jan 2003
Location: Silicon Valley
Posts: 458
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
__________________
HD MPEG-2 Test Patterns http://www.w6rz.net
drmpeg is offline   Reply With Quote
Old 9th February 2013, 06:53   #4  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,583
Elecard is decent for basic stuff. I'm looking into purchasing Interra Vega, but we'll see if that makes it into my budget

Last edited by Blue_MiSfit; 10th February 2013 at 04:38.
Blue_MiSfit is offline   Reply With Quote
Old 9th February 2013, 11:14   #5  |  Link
sonnati
Registered User
 
Join Date: Jun 2008
Posts: 19
Blue_MiSfits, where are you working ?
sonnati is offline   Reply With Quote
Old 10th February 2013, 04:38   #6  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,583
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.
Blue_MiSfit is offline   Reply With Quote
Old 10th February 2013, 21:39   #7  |  Link
Parabola
Registered User
 
Parabola's Avatar
 
Join Date: Nov 2012
Posts: 41
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 .
__________________
John @
Parabola Research Limited - HEVC conformance and technology
http://www.parabolaresearch.com/
Parabola is offline   Reply With Quote
Old 12th February 2013, 00:23   #8  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 3,038
Hey Alex!

This is what I've been using: Tektronix MTS4SA

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 !
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book

Last edited by benwaggoner; 12th February 2013 at 00:25. Reason: Left out the link
benwaggoner is offline   Reply With Quote
Old 28th August 2014, 12:50   #9  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,983
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...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 28th August 2014, 13:13   #10  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 9,859
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.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 28th August 2014, 13:29   #11  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,983
I am no C(++) programmer, can't fork, sorry...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 30th August 2014, 22:24   #12  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 3,038
Quote:
Originally Posted by nevcairiel View Post
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?
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 1st September 2014, 15:20   #13  |  Link
pandy
Registered User
 
Join Date: Mar 2006
Posts: 1,044
Quote:
Originally Posted by LigH View Post
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)...
pandy is offline   Reply With Quote
Old 7th September 2014, 02:34   #14  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,377
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:
Code:
@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.ph...97#post1692797

Last edited by raffriff42; 8th September 2014 at 07:15.
raffriff42 is offline   Reply With Quote
Old 7th September 2014, 15:46   #15  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,983
Thank you for this contribution. I hope it will be useful for the user originally asking in the german forum.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 17th September 2014, 05:55   #16  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,377
problem 99.9% solved IMHO - see my post, here.
raffriff42 is offline   Reply With Quote
Old 27th October 2015, 09:03   #17  |  Link
posdnya
Registered User
 
Join Date: Dec 2001
Posts: 21
Mac analyzer

Just curios are anybody out of US interested in Mac version of the Analyzer?
posdnya is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 17:22.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.