Overall
  • 31 May 2023
  • 3 Minutes to read
  • Contributors
  • Dark
    Light
  • PDF

Overall

  • Dark
    Light
  • PDF

Article summary

To debug high TTFB, buffering ratio, and failed requests of video players across platforms, use the Quality of Service > Overall report. Also, learn about the factors contributing to streaming issues. 

TTFB looks problematic on Roku Fire TV and Android platforms

 Quality metrics

Buffering RatioA low buffering ratio is good for viewer retention, especially critical for live streams.
Avg. TTFB (time to first byte)TTFB is the time (calculated in seconds) the player takes to load content upon request. To put it simply, it is the time between when you click on a video and it starts playing.

The streaming starts over a three-step process:
Step 1. Loading master-manifest file(m3u8)(e.g. https://cdn-ue1-prod.tsv2.amagi.tv/asvod/viewlift-example-tv/L34-123-OTT/L34-123-OTT.m3u8)

Step 2. Loading sub-manifest file(m3u8) mentioned inside the master-manifest file. sub-manifests are bitrate/resolution-specific playlists and will be selected by the player based on the bandwidth and other parameters
Step 3. Loading the video segments mentioned inside the sub-manifest file
So TTFB is equal to the sum of time taken in the above 3 steps.

Example:

Let's take an example to understand the TTFB (Time to First Byte) value for a video streaming directly from the origin server/from a cached copy. 

The TTFB for Master Manifest may take about 0.6 seconds. For the Child Manifest, it may be 3.8 seconds, and for the first Video Segment, the TTFB can be 1.6 seconds. When we add up these values, the minimum TTFB on the CDN side is 6 seconds, which is considered reasonable for a long video or playlist.

Number of dropped streams

If during playback of a video, an error occurs at some point, and playback is stopped, we count it as “Dropped Stream”, but if the video failed to even start and did not play for even a second, we count it as “Failed Start”.

Number of failed stream startsThe number of times a stream has failed to start.
Avg. ResolutionThe average resolution of the supported video renditions such as 480p, 720p, and 1080p.

Platform

Review the quality of service by each Platform. Reference the image below, you will see a highly elevated '# of Failed Stream Starts' for the Website platform. Note that this can also come from the mobile web environment (such as Chrome mobile web browser on Android devices and Safari web browser on iOS apps ). It's a known fact that websites often load slowly in a mobile web environment. This is because mobile devices often have connectivity issues, which can result in streaming problems. Even if a user opens a website on the mobile web, it is still counted as a web request. This means that the website will be loaded using the same resources as a website that is processed on a desktop. As a result, mobile users might sometimes experience longer loading times and buffering issues.

QoS logs

If you need further debugging for QoS with higher numbers, please reach out to our Support team. We can provide QoS logs which may help you track quality trends down at the viewer level. 

The screenshot below shows a log file in CSV format for a given date range. 

The following are definitions of the relevant column headers for analysis.

ParameterDescription
aidViewLift's internal client ID for your account. 
cidViewLift's internal client ID for your account. 
pfmThe platform on which the video is being played, such as Web or iOS.
vidViewlift's video ID.
uidUser ID in ViewLift.
origipThe user's IP address.
tstampThe timestamp of the event in UTC (GMT).
useragentThe user agent of the device that is playing the video. It typically includes details such as the browser name, version, and operating system. Example, "Roku/DVP-10.0 (10.0.0.4209-94)". The user agent includes the platform name "Roku" followed by the device model and firmware version information.
refThe referral URL, if available on Web.
urlThe URL of the video.
vposThe video position or marker.
aposThe ad position in multiple ads.
apodGroup of ads that are played back-to-back within a single ad break.
continentThe continent where the user is located.
countryisocodeThe ISO code of the country where the user is located.
citynameThe name of the city where the user is located.
latitudeThe latitude of the user's location.
longitudeThe longitude of the user's location.
timezoneThe timezone of the user's location.
ttfirstframeThe time to first frame.
connectionspeedThe connection speed of the device, when available.
resolutionheightThe height of the video resolution.
resolutionwidthThe width of the video resolution.
ispnameThe name of the ISP.

Was this article helpful?

What's Next