Under the Hood: File Analysis Tools for Streaming Video
The most serious limitations relate to QuickTime files, where Semaphore can’t load files that have been hinted for streaming or have a compressed header for Fast Start. So if you’re producing files for the QuickTime server, or for progressive download, Semaphore is definitely not for you. On a positive note, H.264 producers can determine B-frame statistics by paging through a couple of GOPs and identifying the particular frame types, though they'll eventually need to resort to MediaInfo to figure out whether a file was encoded with CABAC or CAVLC.
Overall, Semaphore is comprehensive and highly usable, though, as mentioned, Windows-only. Beyond the QuickTime-related limitations, it’s hard to imagine a serious streaming producer who couldn’t benefit from having the product in her shop.
MediaInfo
MediaInfo is a cross-platform tool that offers an extensive and often unique range of data and the ability to export file-based information for printing or further analysis. The Windows version is available in 23 different languages, including simple and traditional Chinese, and both Mac and Windows versions are free, though donations are gladly appreciated.
You can download the Windows version at http://mediainfo.sourceforge.net/en, and the Mac version, which is produced by another developer but based upon Windows code libraries, at http://massanti.com/mediainfo. The Windows version is more feature-rich, supplying more file-related data, allowing you to open multiple instances, and offering multiple data views. Still, the Mac version is a great complement to QuickTime Pro for MOV files and also supports Windows Media and FLV files.
Both versions load via drag or drop or via traditional menu or button controls. In the Windows version, you have six different views, including text, HTML, and the Mac-style tree view. Click Debug > Advanced Mode in the windows version, and the program shows about three times the data, though most of the critical data is available in the Basic view.
The Mac version of MediaInfo is only able to export a simple text file while the Windows version can output CSV, HMTL, text, and custom formats. The Windows version can also analyze all files in a folder, either collecting reports in a single file or assembling multiple files into a single report. The Windows version also has a Your Systems view that shows all audio and video codecs installed on your system.
For all files, both MediaInfo versions show the resolution, data rate, and QF calculation, which, as with GSpot, is the bits per pixel per frame, again a convenient way to compare data rates for files produced to different output resolutions. The program calculates total bitrate and presents it correctly, but appears to use the video bitrate from the file header, which is the target bitrate and often varies from the actual bitrate. The Windows version of MediaInfo displays the file creation date, but the Mac version doesn’t.
For WMV files, the Windows version of MediaInfo shows whether the file was produced using VBR or CBR techniques, a nice data point if you like to experiment. However, the tool doesn’t identify multiple bitrate files, or the WMFSDK version.
Both Mac and Windows versions can analyze Flash files, identifying codec, resolution, and similar parameters, but little else. For MOV files, MediaInfo for Windows is the only program I found that identified whether the file was encoded with CABAC or CAVLC, which is a commonly exposed encoding parameter, but doesn’t show the B-frame interval, which would have been useful information to have. Like Semaphore, MediaInfo also provides no information about whether the file is hinted for streaming, or whether it was produced with the Fast Start option.
Though the Mac version is less full-featured than the Windows version, it’s the only option I found for analyzing a broad spectrum of files on the Mac, making it a natural for most producers who stray beyond MOV and H.264 files. The tool also reveals enough unique file characteristics on Windows—like VBR/CBR for Windows Media files and CABAC/CAVLC for H.264—to make it valuable for most Windows producers.Sliq Media’s WMSnoop
Sliq Media’s WMSnoop does only one thing—analyze Windows Media files—but it does that one thing very well. Throw in the free price tag and it’s a must-have tool for anyone who creates, distributes, or even just seriously watches Windows Media (www.sliq.com/default.asp?view=wmsnoop).
The program has at least three tabs for each WMV file: one for general Attributes, one for Video, and one for Audio. The Attributes tab contains a comprehensive list of file characteristics, such as whether the video is Seekable or Stridable, and, more importantly, which Windows Media Format SDK version was used to create the file. If you’re wondering whether the file was encoded with SDK 10 or 11, this is one of the few ways to tell, and the only free one as far as I know.
Each Video tab contains the resolution and target bitrate for the stream, and the level and profile, but not the frame rate, though you can calculate this with information provided in other windows. The Audio tab contains all the expected data, plus it indicates whether the audio file was produced with VBR or CBR encoding. With multiple-bitrate files, one tab details each audio and video stream, which you can’t get elsewhere at any price.
If you click the Snoop Details button, you’re rewarded with the graphic view on the right. You can gauge the variability of the data stream, identify I-frames (those tall yellow frames on the lower right) or view the size of any frame in the file. I’ve used this to visualize the differences between VBR and CBR encoding, to compare third-party encoding tools, and to see how the bitstreams encoded by third-party vendors compares to that produced by the Windows Media Encoder. You can also determine if an encoding tool is inserting key frames at scene changes, another valuable quality control metric.
Considering the price and utility, if you’re a Windows Media producer who can’t afford to spring for Semaphore, downloading this tool is a total no-brainer. If you’re working with multiple bitrate files, WMSnoop provides specifics about the multiple streams that even Semaphore can’t provide.
Conclusion
That’s it. I’m sure there are some tools out there that I’ve missed. If you know of any, particularly any that provide features not available in the tools that I’ve mentioned, please let me know.