Figure 1. The bitrate of two files, CBR in red and capped CRF in green.

Replace Bitrate Viewer with FFBitrateViewer

Recently I was asked to visually illustrate the data rate difference between two HEVC files, one encoded with CBR at 6 Mbps, the other using capped CRF with the same cap. Of course, everyone’s go-to bitrate visualization viewer has always been Bitrate Viewer, which does a great job displaying the bitrate of a single H.264-encoded file. Unfortunately, it can’t input any codecs newer than H.264, and only displays a single bitrate at that. 

Then I remembered a program a buddy had shared with me called FFbitrateViewer, which was free and open source. It also can input multiple files and most newer codecs supported by FFprobe, including AV1 (Figure 3). That’s what I used to produce the graphic above. 

FFbitrateViewer is a Windows-only program written by fifonik, who also wrote FFMetrics, which you can read about here. You can download the FFbitrateViewer v0.8.0-beta.2 here. It’s a bit hard to find if you don’t speak GitHub, so I’ve included the screen as Figure 2. 

Download the zip file FFBitrateViewer.zip on the bottom left and unzip it. Click on FFbitrateViewer.exe in the extracted folder to run the program. Note that you must install Microsoft’s .NET framework to run FFBitrateViewer. 

Here's where you download FFBitrateViewer
Figure 2. Here’s where you download FFBitrateViewer

Program operation is simple; you add files by selecting them via the Add files button or by dragging them into the top window. Press Start to run FFProbe and display the bitrates. You have two visualization options; frame-based and second-based. I found second-based more useful, but your experience may vary. Shades of Bitrate Viewer, you see the average and max bitrates for each file on the top right. 

You can load multiple files, but when displaying more than one or two files, I found the visualization much less useful. You see this in Figure 3, where the program displays HEVC, H.264, AVI, and VP9-encoded files simultaneously. 

You hate to criticize a free product, but it feels like this interface could be much more useful with a few simple changes, like displaying the average bitrate in a smooth curve. Bitrate Viewer is a good template here. That said, for single-file bitrate visualizations, it’s quite functional as is. 

With four files, FFBitrateViewer's plot gets a bit jumbled.
Figure 3. After two or three files, the visualization became less usable.

Once computed, you can click Ctrl + C to copy the plot only to the clipboard and click Ctrl + S to save the plot to disk as either a PNG or SVG file. I saved the Frames plot to disk and display it as Figure 4. Click the image to display it at full resolution. 

You can de-select files to display in the plot view via the checkbox on the left of each file. To remove files, click them in the top window, and then click the Remove selected button. 

This shows FFBitrateViewer's frame view.
Figure 4. Here’s what the frame view looks like.

Overall, because the bitrates of my CBR and capped CBR file were so disparate, FFBitrateViewer worked well for this discrete task, and certainly it’s great for a single file for any supported codec. It’s definitely worth checking out for your Windows computers, though hopefully, fifonik will invest a bit more time to make the multifile visualization more useful. 

About Jan Ozer

Avatar photo
I help companies train new technical hires in streaming media-related positions; I also help companies optimize their codec selections and encoding stacks and evaluate new encoders and codecs. I am a contributing editor to Streaming Media Magazine, writing about codecs and encoding tools. I have written multiple authoritative books on video encoding, including Video Encoding by the Numbers: Eliminate the Guesswork from your Streaming Video (https://amzn.to/3kV6R1j) and Learn to Produce Video with FFmpeg: In Thirty Minutes or Less (https://amzn.to/3ZJih7e). I have multiple courses relating to streaming media production, all available at https://bit.ly/slc_courses. I currently work as www.netint.com as a Senior Director in Marketing.

Check Also

B-Frames, Ultra Low-Latency Encoding, and Parking Lot Rules

One of my sweetest memories of bringing up our two daughters was weekly trips to …

Figure 2. Cost per hour to produce a single 1080p stream using the x264 codec and FFmpeg. Graviton is clearly the most cost effective.

Which is the Best AWS CPU for FFmpeg?

If you encode with FFmpeg on AWS, you probably know that you have three CPU …

A Guide to VVC Deployment

Below are six video presentations and downloadable PDFs relating to VVC deployment from a session …

Leave a Reply

Your email address will not be published. Required fields are marked *