Personal View site logo
Official StreamParser topic
  • 95 Replies sorted by
  • Indeed, thanks Chris, for providing such an indispensible tool for AVCHD patch testing. The elemental stream macroblock statistics log in the latest version comes just in time to fill in the gap, not that Elecard's Streameye Slim is no longer available.

  • I've put up a wiki page for Streamparser here:

    The attachments below are only there for the wiki page - nothing to look at.

    658 x 579 - 100K
    672 x 403 - 88K
    672 x 422 - 82K
    672 x 354 - 88K
    672 x 416 - 96K
    672 x 448 - 96K
    672 x 354 - 84K
    678 x 626 - 82K
    746 x 398 - 60K
    746 x 272 - 41K
    746 x 398 - 72K
  • @cbrandin Chris, This is a wonderful program now. Just wanna say a big thanks to all the hard work you put into this.

  • StreamParser 2.6 is now available.

    Per VK's suggestion I have added a "Snapshot Report" feature under "File>Generate Snapshot Report". This creates a graphics short-form report suitable for posting on forums, etc... The report generated when StreamParser in in Frames mode looks like this:


    A similar report for Time Mode can also be produced.

    Other changes include a user guide that can be accessed by clicking on "Help>User Guide".

    Other changes include minor bug fixes and prettying-up some windows.


    746 x 398 - 60K
  • Added a thumbnail to the Snapshot report when the Stream Player is Opened and not detached:



    746 x 398 - 72K
  • This just keeps getting better and better. All serious testers should be using this.

  • @cbrandin

    Thanks for your incredible hard work, Chris! :-)

  • Can we donate for your hard work as well? Your program is fantastic.

  • Thanks, Chris!

  • @mpgxsvcd

    You certainly can donate to VK!

    Thanks for the kind words.


  • Thanks Chris. Adding my voice to the choir, your tool is invaluable for settings development.

    Today I think I might have spotted a bug. On a 30p HBR video it looks like a STEP click on the viewer isn't in synch with the frame cursor on the timeline. Instead it looks like the cursor is moving at half speed. The shutter speed was at 1/2.5s so I set it for GOP 12. However you can see it's got new content at frame 6. Here:

  • @duartix - Thanks for making the file available.

    I looked at the file with the JM-SP decoder in StreamParser and got this:


    The problem is that the clip has many invalid elements in it and it is confusing the stream player. I don't think I can do anything about it. The problems are:

    1) Fallback matrices are being used - resulting in very low frame quality.

    2) There are empty (I assume - the headers are invalid so it's hard to tell) frames that contain invalid parameters per the H.264 spec.

    3) The only frames (almost) containing data come in pairs - I frames and the P frames immediately preceding them. It seems that there are a couple of extra lone P frames in there as well.

    4) There are huge numbers of skipped (not encoded) macroblocks - even in frames that are actually encoded.

    You can look at this yourself by first creating an elementary stream file ("Tools>Create Video Elementary Stream File"), and then running the JM-SP decoder ("Tools>Decode Elementary Stream File (JM-SP Decoder)").


    658 x 588 - 87K
  • :)

    Thanks Chris, that would be the best news of the week!!!

    You're basically telling me I'm doing everything as I should! LOL.

    It's really not a bug, it's a feature! ;)

    It's the way my settings were supposed to work, although the IQ has it's glitches so it's not totally there.

    If I find that problem with a well behaved file, I'll post it here too. Many many thanks!!!

    BTW, is QST = Quantizer Scaling Tables? And what is DC?

  • DC is the effective QP value within a macroblock for the DC coefficient after scaling tables have been factored in. The values that show up are impossible - so there is something terribly wrong with the clip.

  • Can the fact that the Scaling Tables for P-Frames were a bag full of 0xFFFF justify it?

    I was trying to make them as small as possible!

  • Yeah, that's why it's happening. Also, the I frames are a little strange - the even lines are encoded with normal matrices and the odd lines are encoded with the 255 matrices. Interlaced I frames are actually two slices - one I slice and one P slice. If you run the JM-SP decoder with trace on the trace file shows these slices separately and you can see the matrices used.

  • I believe that was an early test where I was trashing both P and B with Scaling Tables while keeping I at top quality. It's interesting to see that in that case, the encoder uses the scaling tables for I instead of P, even though it is a P-Frame.

    However there must be some kind of extra-reference to earlier P-Frames in that P slice, because this caused a lot of shimmering.

  • @cbrandin I'm currently use AVSPmod macros to generate user friendly avisynth scripts and would like to automatically detect whether the MTS-file is interlaced or not. How did you do this with streamparser. AVSPmod macros are based on python programming language and there might be the possibilitiy to read out a special location within the MTS-file.

  • @cbrandin: I was wondering if you could add just one more column to your I/P/B size summary saying how much percentage of the total bitrate was spent on each of these types of frames considering the GOP structure. Thanks.

  • @cbrandin - "Interlaced I frames are actually two slices - one I slice and one P slice."

    Do you know whether the P-slice in an interlaced I-frame uses the Inter Scaling Table for P-frames, or the I-frame Inter Scaling Table?

  • I don't know - they are the same in the GH2. You'll have to load custom tables that are different to figure it out.

  • Cheers Chris, it is me, you worst unsatisfied client ever... ;)

    Is there a possibility (in the Elementary Stream Decoder) to report Average Quantizer? It would be a boon for VBR developers and would almost instantly kill my sporadic needs to use StreamEye...


  • Hey Chris, absolutely stunning tool thanks.

    One thing, can you avoid writing the .YUV file when decoding via JM, or make it optional (disabled by default)? This contains uncompressed frames and takes a lot of disk space & time to write, especially for longer frame counts. It's not actually used in the analysis right?

  • Cheers Chris,

    This is from one of my Timebuster 24p clips. Is it possible that the player in StreamParser is one frame ahead of the cursor? It's showing heavily posterised I-Frames when these should be the ones with good quality, and the frame sizes supports it.