What is the network test tool?
The Network Test tool is a powerful aid to testing the suitability of streaming from any particular network. It contains a suite of different tests that allow you to assess different aspects of your connectivity, including direct tests to the IBM ingest and viewership connection servers.
How to install the Network Test Tool
The Network Test Tool runs inside of a Docker container, so a free account with Docker is required. In order to get one, you can follow these steps:
(If you already have a Docker instance running on your local machine and have a login, skip to steps 5.)
- Download Docker for either Mac or Windows.
- Install Docker.
- Run Docker and finish any installation steps.
- Once Docker is running, click the 'Sign in / Create a Docker ID' button and create a Docker ID.
- Open your terminal and type docker login and enter the username and password that you created at the prompt.
Once Docker is installed and you are logged in via the command line, type the following to open the Network Test Tool.
docker run -ti --rm --network host arpadkun/ibm-cloud-video-test-tool
After running the tool for the first time, it will be downloaded and cached on your machine. If you come back later to test again, you should ensure you run the latest version of the tool by updating it.
You can update to the latest version by running
$ docker pull arpadkun/ibm-cloud-video-test-tool and run it again with the same command:
$ docker run -ti --rm --network host arpadkun/ibm-cloud-video-test-tool
Explanation of the different available tests
The Network Test Tool runs in the terminal, but does not require experience at running command line commands or flags. There is a simple GUI that explains each possible option. The tool can be navigated by using the arrow keys, or by typing the key character (colored red. Press 'enter' to select the option currently highlighted.
There are 6 different tests that can be run using the Network Test Tool.
The traceroute test runs a simple traceroute to all the available ingest servers and measures loss and latency for each of these connections. After beginning the test, you will be prompted to select the number of tests to run against each hop. You can run 10,20,50,100, or 500 tests.
After selecting the number of tests you wish to run, select OK and click enter to begin the test. The test will continue to run until the number of selected traceroutes have been run to every available ingest server. You can stop the test from running before it is complete by typing Control+C and then hit [ENTER].
The test itself will start with a notification of the detected public IP address where the test is being run, as well as the GeoIP designation of that address. Below that, the results of the test will be displayed. The results of all the tests to a single ingest server will be consolidated into a single element, and each test will be separated by a double thick dashed line.
For each ingest server, the IP address of the tester will be displayed as well as the name of the server being tested. Below the single dashed line will be the results of the test. The results will show:
- Percentage of packets lost (Loss%)
- Number of tests ran to this server (Snt)
- Miliseconds taken to complete the last test (Last)
- Average time taken to complete all the tests (Avg)
- Best result (Best)
- Worst result (Wrst).
The ping test runs a simple ping to each ingest server, asking it to echo back to the tester (yes/no). This is not currently active in the Network Test Tool, but will be incorporated in the next iteration.
This test checks your ability to reach each ingest server over port 1935. The results for each different test will separated by a double thick dashed line.
This test checks the availability of ECDN edges from your location. Choose a Channel ID with a live stream to test against. This test will only return successful results if you have ECDN servers deployed in your network and they are currently online and active.
FLOT stands for Front Line Of Troops. Your specific FLOT connection determines which network(s) your content can be distributed over. The FLOT test will check the availability of any CDNs from your location. You will then be prompted to enter the Channel ID (CID) of a channel that is live in order to test how that channel would be distributed to you. If you do not know the ID of a channel that is currently live, you can use the default value in the tool to test against TWiT Live (CID 1524).
The test will show you a success (or failure) message for connecting to a FLOT server, and then the subsequent results for connecting to the available CDNs. In the above example, we can see success connecting to the FLOT servers, and then a successful connection to akamai and also to UHS. This means that the content can be played back over either of these CDNs. Note: ECDN is not included in this test. To test ECDN connections, refer to the ECDN test.
The broadcast test allows you to test a live stream to a channel that you own. You will need to have the RTMP URL and Stream Key for the channel to which you will broadcast, in order to run this test successfully. Additionally, be sure that the channel is not currently live from another source before running this test.
After selecting 'broadcast' from the main menu and hitting enter, you will be prompted to enter the RTMP URL for your channel. Enter this value and choose 'OK'. In the next panel, enter the Stream Key for your channel and choose 'OK'.
After entering both your RTMP URL and Stream Key in the previous fields, you will need to select the video that you wish to use to test. All the videos are open source royalty-free HD videos. You can select the resolution and bitrate you wish to test, and then choose 'OK'. Please note that you will not see the video streaming from your terminal, but you will see the command line encoder FFmpeg running in the terminal window if your stream is successful. To view the video streaming live, open your channel page.