AT&T Developer
  • Sign In
  • Download Video Optimizer

AT&T Video Optimizer

  • Tour
  • Docs
  • Best Practices
  • Blog

Video Streams and TCP Connections

Introduction

To manage the efficiency of the network connections used in video streaming, it is important to be able to view the number of separate TCP connections for a given video, and whether they are persistent or not.

Background

TCP stands for Transport Control Protocol. You will often see it referred to along with the related Internet Protocol, as TCP/IP, which is at the center of all Internet traffic. TCP is used by many of the most popular applications on the internet, including streaming media applications.

TCP is a connection-oriented, end-to-end reliable protocol which supports multi-network applications. TCP is able to operate above a wide spectrum of communication systems ranging from hard-wired connections to packet-switched or circuit-switched networks.

Because TCP was designed with a series of requests and responses to verify file transfers, it is ideal for applications that need guaranteed delivery. It provides handling for both timeouts and retransmissions, by establishing virtual connection between two endpoints. Each endpoint is defined by an IP address and a TCP port number.

The Issue

Like so many other issues in video streaming, managing the type and number of TCP connections is a balancing act.

Creating more TCP streams to send video will give the client more flexibility to choose the best quality based on the available bitrate and display capabilities.

However, each different version adds additional complexity to the process, and may require more organization of media files. The added complexity may be worth the extra work, but it is good to examine the results to know if your strategy is successful.

An example of the added complexity of spreading delivery of one video over more than one TCP connection is that each additional video file needs to be tracked, and each needs to be stored.

Best Practice Recommendation

It is a good practice to understand how efficiently you are using TCP connections to stream video.

When determining streaming efficiency in relationship to TCP, two questions arise:

  1. How many separate TCP connections are being used for a single video?
  2. What kind of TCP connections do you have?

Using more than one connection may offer some load balancing opportunities, and can give the streaming client more flexibility to choose the best quality based on the available bitrate and display capabilities.

However, each additional connection adds additional complexity and may not improve delivery. It is also good to be aware if your connections are persistent or not. Sending small video segment (chunks) over non-persistent connections can result in more overhead because of the need to establish a TCP connection to the server after each segment.

Each video file is unique and every situation is different. It is up to the developer, video producer, or content provider, to experiment and determine the most efficient approach.

To help you make the right choices for your app, the Video Optimizer will determine (1) if video segments are being sent over one TCP connection or multiple connections, and (2) whether TCP connections carrying your video are persistent, or non-persistent.

Video and other types of rich media are on the rise in mobile apps and in the future we plan on offering more guidance on streaming and other video technology in our Mobile Development Best Practices recommendations.

  • 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