Wednesday, April 10, 2013

Video - Measuring Video Bitrate Over Network

There are 2 ways to measure bitrate for a video streams. You can do it via VLC and Wireshark.


VLC provide statistical information for user to understand the input bitrate for video. However, the statistic provided by VLC is current statistic, and thus, it is not the overall average bitrate for the video stream.

To use VLC for seeing current bitrate for a video stream, do the followings

1. Open a network video stream via VLC

2. When the video stream had set up and started playing, go to Tools -> Codec Information

3. Click on the Statistics Tab

4. Look at Input/Read -> Content Bitrate. That will be the current bitrate for your current video stream. At the screenshot, it shows 3kbps. This means that during the time of capture, the bitrate for the video stream is at 3kbps. Thus, this value varies over time.


Wireshark provide statistical analysis on your captured network information and it is a very good tool to understand the average bitrate, maximum bitrate and minimum bitrate for a video stream.

To use Wireshark for seeing bitrate of a video stream, do the followings

1. Open a video stream through your LAN interface. The video stream can be open by any players such as VLC, webpage, etc... 

2.When the video stream had set up and started playing, allow the video stream to play for about 1 minute to stabilize the connection and streaming.

3. After 1 minutes, open Wireshark, click on "List the available capture interfaces" button and start capturing packets from LAN interface.

4. Allow Wireshark to capture at least 1 minutes of video packets.

5. After 1 minutes, stop packet capture by pressing "Stop the running live capture" button

Now, you have all the packets needed to analyze your bitrate for this video stream. There are 2 way Wireshark can do it.

Via Conversation Statistics

Conversation statistics will provide an overview of traffic information for all network conversation captured in Wireshark. Conversation statistics will tells us the average bitrate of the video stream.

To see bitrate of conversation, do the followings

1. Go to Statistics -> Conversations

2. At the open window, look for a column "bps a <- 5.2kbps="" a.="" a="" address="" and="" at="" average="" axis="" b="" below="" bits="" bps="" camera.="" column="" div="" from="" is="" laptop="" means="" my="" per="" referring="" screenshot="" second="" so="" stream="" tells="" the="" this="" to="" transferring="" video="" you="">

Via IO Graph

IO Graph statistics will provide a graph view of the bitrate over time for your network. Applying to our discussion, this will show the bitrate over time for a particular video stream; that include the maximum and minimum bitrate of for the video stream

To see bitrate of IO Graph, do the following

1. Find a video packet in the Wireshark window. Right click -> Follow TCP stream

2. Step 1 will open a Follow TCP Stream window. However, we are not using it. So, just close it.

3. The purpose of performing step 1 is to ask Wireshark to create a logic statement that filter and capture all video packets for the video stream. If you look at the below screenshot, Wireshark create a logic filter " eq 0" to get all video packets for the video stream. Please note that 0 is just a TCP stream index by Wireshark, it can be a different index number for other captures.

4. Now, go to Statistics -> IO Graph

5. It will open an windows that display a graph. Change the y-axis to Bits/Tick to get a graph that show Bits over time. From the below screenshot, it shows that the video steam has a maximum bitrate up to 25kbps and minimum bitrate of 1kbps.



No comments:

Post a Comment

PuTTY - Keeping session alive

If you have some VPN tunnels that timeout based on activity, you could try the following setting if you are using PuTTY 1) Open PuTTY and...