AT&T Developer
  • Sign In
  • Download Video Optimizer

AT&T Video Optimizer

  • Tour
  • Docs
  • Best Practices
  • Blog

Documentation

  • Overview
  • Best Practices
  • Requirements
  • Installation
  • Data Analysis
  • Testing
  • Effective Testing
  • Help
  • Release Notes
  • FAQs

1. Overview

AT&T Video Optimizer is a free, open-source tool for developers and testers that provides recommendations to optimize the network performance of video and applications on mobile devices.

Video Optimizer runs traces on a mobile device, collecting network traffic, battery statistics, a video of the screen, and more. Post collection, the results are analyzed against 43 Best Practices, which helps developers pinpoint performance issues in their network traffic, and provides advice on how to resolve the issues. Adhering to these Best Practices has been shown to dramatically improve app and website performance, all of which lead to higher customer engagement and retention.

Video Optimizer complements standard functional and user-based testing as part of any quality assurance program. Video Optimizer allows for simple integration into existing test automation. We recommend that you execute a set of standardized tests such as AQuA's Testing Criteria while using Video Optimizer to qualify your product for readiness.

Video Optimizer User Guide

2. Best Practices

The following Best Practices documents are reinforced by the Best Practice tests in Video Optimizer, and are organized in the same categories.

File Download: These documents provide recommendations for cache management, reducing duplicate content, and compressing and managing the way you download files and images. Smaller files can be delivered in less time, speeding up the rendering of your application.

Connections: These documents provide recommendations for efficiently managing TCP connections. By optimizing how you use the device's radio, you can speed the delivery of content and reduce the battery consumption of your app.

HTML: These documents provide recommendations for optimizing the handling of external files in your HTML. Optimizing your HTTP connectivity can further reduce your application's battery consumption.

Other: Reducing the usage of device peripherals can further reduce the battery consumption of your app.

Video: Analyses of the video packets sent during the data collection to examine for startup delays, stalls and more.

General Topics: These documents provide background on the LTE and 3G energy models and optimizing your app for mobile devices.

3. System Requirements

Before you download Video Optimizer, make sure you meet the following system requirements for your operating system:

  • At least 4GB of RAM, but suggested is 8GB
  • Java 17 or above
  • Android SDK Level 24 or above including ADB
  • FFmpeg

Windows

  • Wireshark (Install Npcap addon with Winpcap API-compatible mode)
  • VLC media player 3.x.x or higher

Mac

  • Homebrew
  • For iOS developers, use latest version of Xcode and OS X
  • Ifuse
  • OSXFuse
  • libimobiledevice and ideviceinstaller (for taking iOS traces)
  • Wireshark
  • VLC media player- 3.x.x or higher

Linux

  • Wireshark
  • For Ubuntu 18.04.x LTS (and newer) users, use VLC media player version 3.x.x
  • For Ubuntu 16.04.x LTS (and older) users, use VLC media player version 3.x.x up to 3.0.8

4. Installation

Video Optimizer available on three platforms:

  • Windows 10 (64 bit)
  • Mac OS X
  • Linux

Download the latest version of AT&T Video Optimizer and follow the instructions below for OS.

Windows

  1. Download and install Java 17 (or update to latest version if already installed).
  2. Download and install Wireshark including WinPcap. When you see the Npcap installation options, you must check "install Npcap in WinPcap API-compatible Mode."
  3. Download and install the VLC Media Player (3.x.x or higher).
  4. Download and extract FFmpeg to any location you choose (ie: Program Files)
    1. Click Start Button>Type "Control Panel" and click to open>System>Advanced system settings>Environment Variables.
    2. Scroll down System variables to Path and select Edit.
    3. Add new path to the ffmpeg/bin folder.
    4. Save the new path variables.
  5. Run the Video Optimizer Installer that you downloaded. The steps are similar to any application install; accept the terms and conditions, specify the location of the install and complete the install using the default settings.
  6. Download and install the Android SDK platform tools for Windows. If Android Studio is installed, then configure in File>Preferences>ADB Path as Android\platform-tools-latest-windows\platform-tools\adb.exe.
  7. To collect Android traces, user must enable USB debugging on the device.
    1. On the device, go to Settings>About Device>tap on "Build Number" five times. This enables the developer options menu which is available in the default settings page.
    2. Then go up a level to Developer Options and turn on USB Debugging. See the Video Optimizer User Guide for additional information on capturing traces.
  8. To collect a trace, connect a device to the computer. When asked, let the device trust computer, and allow the computer to install any drivers needed.
  9. The first time you open Video Optimizer. Go to File>Preferences. Set the ADB path by browsing to the adb.exe file.
  10. Collect a trace by navigating to DataCollector>Start Collector. Your connected device should be visible in the device list.

For a step-by-step installation video, see How to set up Video Optimizer on your Windows computer.


Mac OSX

  1. Download and install Java 17 (or update to latest version if already installed).
  2. Download and install the latest version of Apple's Xcode. A valid Apple ID is required to download Xcode from Apple's website. If Apple devices are associated with your Apple ID, you will need one of them on hand to complete the two-factor authorization.
  3. Install Xcode CLI tools by launching a terminal window and running the command,

    xcode-select --install

  4. Install Homebrew (https://brew.sh). Note – Install Xcode before installing Homebrew.
  5. Install FFmpeg from the Terminal window "brew install ffmpeg". It will also install ffprobe.
  6. PATH - MacOS by default uses ZShell for its terminal. Environment/PATH variables for ZShell are configured by creating/modifying the .zprofile file in your user home directory. Please configure your .zprofile to include your Java and Android SDK paths. For Apple silicon, please include the Homebrew path in the .zprofile. For additional information see the Video Optimizer User Guide.
  7. Download and install Wireshark.
    • For Intel (Macs 2019 and before) — Install the Intel version of Wireshark into /Applications
    • For Apple silicon — Install the appropriate version (depending on which architecture of Java you have installed) -

      If you are using Intel builds of Java, you must install the macOS Intel 64-bit version.

      If you are using Arm 64-bit version of Java, then you must install the macOS Arm 64-bit version.

  8. Download and install the VLC Media Player (3.x.x or higher).
    • For Intel (Macs 2019 and before) — Install the macOS version
    • For Apple silicon — Install the appropriate version (depending on which architecture of Java you have installed) -

      If you are using Intel builds of Java, you must install the macOS Intel 64-bit version.

      If you are using Arm 64-bit version of Java, then you must install the macOS Arm 64-bit version.

  9. Download Video Optimizer.dmg and complete the installation with standard settings.
  10. For collecting traces on iOS devices, MacFuse and other dependencies must be installed. You can download MacFuse here: https://osxfuse.github.io/
    We have created a script which can be run from the Mac Terminal that will install the other dependencies. That script is available here: https://raw.githubusercontent.com/attdevsupport/VideoOptimzer/master/vo_dependency_installer.sh

    Note – The script relies on having Brew configured in your path variable. Please verify before proceeding to execute the script. You can find a sample .zprofile in the link below that can be used to configure your path variable.
    https://raw.githubusercontent.com/attdevsupport/VideoOptimzer/master/sample.zprofile.txt

    Once the script completes, run the following two additional commands (which will require you to also enter your password):

    sudo installer -pkg /Applications/Xcode.app/Contents/Resources/Packages/MobileDeviceDevelopment.pkg -target /
    sudo kextload /Library/Apple/System/Library/Extensions/RemoteVirtualInterface.kext

    Note – See the Video Optimizer User Guide for additional information.

  11. The first time you connect an iOS device to your Mac you need to first open Xcode and navigate to Window>Devices and Simulators. Your device should be recognized by Xcode and if any device configuration is needed Xcode will proceed with that configuration. Once configuration is complete it is best to hide Xcode rather than closing it while you are taking traces.
  12. To collect Android traces, download and install Android SDK platform tools for Mac.
  13. User must enable USB debugging on an Android device.
    1. On the device, go to Settings>About Device>tap on "Build Number" five times. This enables the developer options menu which is available in the default settings page.
    2. Then go up a level to Developer Options and turn on USB Debugging. See the Video Optimizer User Guide for additional information on capturing traces.
  14. To collect a trace, connect a device to the computer. When asked, let the device trust computer, and allow the computer to install any drivers needed.
  15. The first time you open Video Optimizer. Go to File>Preferences. Set the ADB path by browsing to the adb.exe file.
  16. Collect a trace by navigating to Data Collector>Start Collector. Your connected device should be visible in the device list.

For a step-by-step installation video, see How to set up Video Optimizer on your Macintosh computer.


Linux (ubuntu)

  1. Install Java 17 or above
  2. Launch Terminal and follow the following commands to install pre-requisites:
    • sudo add-apt-repository ppa:wireshark-dev/stable
    • sudo apt update
    • sudo apt upgrade -y
    • sudo apt-get install wireshark
    • sudo apt-get install tshark
    • sudo apt-get install vlc
    • sudo apt-get install ffmpeg
  3. Complete the Video Optimizer installation and run Video Optimizer.
  4. Download and install the Android SDK platform tools for Linux.
  5. To collect an Android trace, set the ADB path in Video Optimizer. Go to File>Preferences and browse for the ADB path. It will usually be found under Users>"username">Library>Android>sdk>platform-tools
  6. User must enable USB debugging on the device.
    • On the device, go to Settings>About Device>tap on "Build Number" five times. This enables the developer options menu which is available in the default settings page.
    • Then go up a level to Developer Options and turn on USB Debugging. See the Video Optimizer User Guide for additional information on capturing traces.
  7. To collect a trace, connect a device to the computer. When asked, let the device trust computer, and allow the computer to install any drivers needed.
  8. The first time you open Video Optimizer. Go to File>Preferences. Set the ADB path by browsing to the adb.exe file.
  9. Collect a trace by navigating to Data Collector>Start Collector. Your connected device should be visible in the device list.

5. Using Video Optimizer for Data Analysis

Video Optimizer takes the trace data collected from your app, evaluates it against the Video Optimizer Best Practices tests, and presents the results in the form of diagnostics and statistics that provide a layered view into the performance of your app. The quickest way to get started with Video Optimizer is to download a sample trace, open it in the Data Analyzer, and review the Video Optimizer Best Practice test results.


Starting the Analysis

As soon as you open a trace file in Video Optimizer, it will begin its trace analysis by evaluating the data against a set of recommended best practices. Once the analysis is complete, the Video Optimizer will automatically display the results.


Reviewing Video Optimizer Results

The best place to start reviewing Video Optimizer’s test results is in Video Optimizer’s Best Practices / Results tab. This tab contains a high-level overview of the results. When Video Optimizer runs an analysis of your trace, it evaluates the trace, it evaluates the trace data against a set of Best Practices benchmarks for over 20 distinct tests. If your trace’s data does not fall within the range of one of these benchmarks, it fails Video Optimizer’s test. The suggested best practices tests are categorized into five types: File Download, Connections, HTML, Video and Other.

  • If all of the best practice tests in a category pass, the whole category passes.
  • If one best practice test in a category fails, the whole category fails.

At the bottom of the Video Optimizer Best Practices / Results tab you’ll find a section called ‘Tests Conducted’. This is a summary of how your trace performed for each of Video Optimizer’s Best Practices tests. By scrolling further down the tab, you will see detailed information about each test result, including a Learn More link that will take you to a Best Practices document which examines the development practice that is being tested in detail. Each failed result contains specific information that includes a hyper linked word or phrase. By clicking on this link, you will be taken to a specific location in the Overview tab or Diagnostics tab that has more detailed results corresponding to the failure.

6. Testing

Video Optimizer User Guide

The Video Optimizer User Guide helps you develop a testing strategy, shows you how Video Optimizer fits into that strategy, explains the test cases in Video Optimizer, and describes the best approach for using them to test your application.

For analysis, the Video Optimizer User Guide describes methods for collecting an application trace using the Video Optimizer Data Collector, how to install, launch, and open a trace in the Video Optimizer Data Analyzer, and contains a full reference of the tabs, menus, options, charts, graphs, and statistics in Video Optimizer.

For best practices, the Video Optimizer User Guide describes each of the tests that are used to evaluate an application, and provides examples to help you interpret the detailed results generated by Video Optimizer.

AT&T Video Optimizer User Guide

This document provides guidance on how to use Video Optimizer to test an application.

7. Effective Testing

To get the most informative test results from Video Optimizer, it’s important to capture trace data that represents how your users really use your app.

To do this, you need a clear testing strategy that takes the following issues into account:

  • Your app’s major user types and user behaviors.
  • How quickly or slowly users execute functions in your app.
  • The features of your app that generate the most network activity.
  • Other applications and device peripherals your app uses.

When using Video Optimizer, it’s important to capture these different scenarios in separate traces. Organizing your testing strategy into distinct user scenarios and collecting traces for each of them will make it easier to narrow down areas that you’d like to improve.

In general, when testing any scenario with Video Optimizer, you should always collect one trace each of the following distinct states:


Active Scenario

Use your app for 20 minutes the same way your users would. Even better, enlist a friend to use your app on your test device, while you document the timing and execution of the functions they use.


Idle Scenario

Launch your app and leave it idle for 30 minutes.

The idle trace is a bit like the control of your testing experiment — it helps you gauge the amount of baseline network activity and battery use that your app generates independent of using the app itself.

For more information about planning and testing user scenarios, including scenarios for specific app types, see the following tutorials and guides.

  • Video Optimizer User Guide
  • Best Practices Guides from App Quality Alliance (AQUA)
  • Five Strategies for Performance Testing Mobile Applications (from SOASTA)

 

8. Help

Need Help with AT&T Video Optimizer?

Our Support Center can help you get answers to your questions quickly and easily.

For help with an issue that you would like to see resolved, submit a ticket directly to Video Optimizer Support.

 

AT&T Video Optimizer Documentation

The following documentation is provided to help you use AT&T Video Optimizer for testing, analyzing, and optimizing your application.

AT&T Video Optimizer Command Line Interface Guide
  • Provides detailed instructions on how to use command line access to make Video Optimizer easier to integrate with other tools.
  • Lists the system prerequisites for using the AT&T Video Optimizer Command Line Interface, tells you how to prepare your device for testing with Video Optimizer, and shows you how to use Video Optimizer from the command line.
  • Includes a complete summary of all the Video Optimizer Command Line Interface commands and error messages.
AT&T Video Optimizer User Guide
  • Helps you develop a testing strategy for your application that makes use of Video Optimizer.
  • Provides detailed instructions on how to collect data using the Video Optimizer Data Collector, how to analyze the data in the Video Optimizer Data Analyzer, and contains a complete reference of the tabs, menus, charts, graphs, statistical tables, and error messages in Video Optimizer.
  • Describes each of the suggested best practices tests that are used to evaluate an application, and provides examples to help you interpret the detailed results generated by Video Optimizer.

AT&T Video Optimizer Video Tutorials

The following videos demonstrate how to:

  • Use the test results, diagnostic information, analytical data, and statistics in the Video Optimizer Data Analyzer to get a full analysis of your app.
  • Test your app using the Video Optimizer Data Collector, and collect trace data on various test platforms.
  • Use the in-depth analysis and statistical information in Video Optimizer to optimize your app.
Introduction to Video Optimizer
Provides an overview of how Video Optimizer works and describes the value of using Video Optimizer to improve the development process.
Video Optimzier Data Collector
Describes the basics of how to use the Video Optimizer Data Collector.
Video Optimizer iOS Collector
Shows you how to collect a network trace on an iOS device natively using the Video Optimizer iOS Collector introduced in Video Optimizer release 3.1.
Introduction to the Video Optimizer Diagnostic Tab
Provides an introduction to the Diagnostic Tab in Video Optimizer, which displays analysis information in the form of an interactive chart that can be used to analyze throughput, uploaded packets, downloaded packets, bursts, user Inputs, Radio Resource Control (RRC) states, and other information.
Video Optimizer Diagnostic Tab Advanced
Takes a deep dive into the analysis information displayed in the Diagnostic Tab of the Video Optimizer tool, and shows you how to access features that can help you discover exactly what is happening in your mobile app.
Turbocharge Your Mobile App
Provides an in-depth look at why speed is extremely important to the success of mobile apps, describes how Video Optimizer determines your app speed, and gives you specific details of how to optimize your app by closing connections explicitly, caching data, and managing connections.
Application Startup Test
Describes the importance of fast start-up times for mobile apps, and shows you how to use Video Optimizer to test, analyze, and optimize the start-up time of your app.
Radio Resource Control (RRC) State Machine
Explains how the Radio Resource Control (RRC) State Machine affects mobile devices, and uses Video Optimizer to show you how knowledge of the way the RRC State Machine works can help you optimize your mobile app.

Other Resources

The following resources provide additional references and important background information for issues related to Video Optimizer.

  • AT&T Developer Program Blogs
  • Check out Best Practices from AQUA to get more tips on how to build a faster, more efficient app.

9. Release Notes

Before you download Video Optimizer 5.4.1, make sure you meet the following system requirements for your operating system:

Video Optimizer 5.4.1 System Requirements & Software Prerequisites

  • At least 4GB of RAM but suggested is 8GB
  • Java 17 or above
  • For Android developers, Android SDK Level 24 or above
  • VLC media player 3.x.x or higher
  • FFMpeg (including FFProbe)
  • Windows requirements
    • Wireshark (Install Npcap addon with Winpcap API-compatible mode)
  • Mac requirements
    • Brew (or any similar package manager)
    • Ifuse
    • MacFuse (formerly known as OSXFuse)
    • Libimobiledevice & ideviceinstaller
    • For iOS developers, use latest version of Xcode and OS X
    • Wireshark
  • Linux requirements
    • For Ubuntu 18.04.x LTS (and newer) users, use VLC media player version 3.x.x
    • For Ubuntu 16.04.x LTS (and older) users, use VLC media player version 3.x.x up to 3.0.8
    • Wireshark

This release includes the following enhancements:

  • Bulk Export of Header only PCAP enhancements:
    • New optional flag to export Metadata (--metadata for CLI): This feature when enabled will export the following files: metadata.json, device_details, traffic.log, time and environment_details.json into the destination folder when available at source.

This release includes the following bug fixes:

  • Bulk Export Header Only PCAP is now supported in Linux.
  • The Flows table Reset function works after the user has used the Reassign with No Limits function.

Known Issues in Release 5.4.1

  • For attenuated trace collection, there can be performance and network issues when switching between videos or applications.
  • PCAP header-only export currently does not support PCAPNG files.
  • Bulk Export Header Only PCAP does not support using the source folder as the destination folder. Doing so will delete the source files.
  • Editing the color of a flow group will not get saved in the trace folder immediately. To ensure that it gets saved, an additional change must be made in the table, such as editing a label, adding a flow group, or changing another group's color.
  • In the Flows tab: Flows table and Flows summary, the peak kbps value is displayed incorrectly when the scale is set to 5s in the Diagnostics tab graph.
  • Secure collection is still done using the old VPN collector implementation. To differentiate the legacy application from the current version of the VPN collector, the legacy VPN collector has a lock symbol on the icon.

 

 

Past Release Notes

Back To Top
  • ADDITIONAL RESOURCES
    • Release Notes
    • User Guide
    • Best Practices
  • SUPPORT
    • Contact Us
    • FAQs
    • Twitter
  • AT&T Developer Program on Github
  • AT&T Developer Program on Facebook
  • AT&T Developer Program on Twitter
AT&T Logo

Terms of Use   Privacy Policy   Your Privacy Choices California Consumer Privacy Act (CCPA) Opt-Out Icon
©2025 AT&T Intellectual Property. All rights reserved

AT&T, the AT&T logo and all other AT&T marks contained herein are trademark of AT&T Intellectual Property and/or AT&T affiliated companies.

14100000
Session Expiring

Your session is about to expire in !

Stay Signed In
Session Expired

Sorry! Your session has expired.

Skip to content