- Print
- DarkLight
- PDF
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.
Quality metrics
Buffering Ratio | A 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 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 starts | The number of times a stream has failed to start. |
Avg. Resolution | The 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.
Parameter | Description |
---|---|
aid | ViewLift's internal client ID for your account. |
cid | ViewLift's internal client ID for your account. |
pfm | The platform on which the video is being played, such as Web or iOS. |
vid | Viewlift's video ID. |
uid | User ID in ViewLift. |
origip | The user's IP address. |
tstamp | The timestamp of the event in UTC (GMT). |
useragent | The 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. |
ref | The referral URL, if available on Web. |
url | The URL of the video. |
vpos | The video position or marker. |
apos | The ad position in multiple ads. |
apod | Group of ads that are played back-to-back within a single ad break. |
continent | The continent where the user is located. |
countryisocode | The ISO code of the country where the user is located. |
cityname | The name of the city where the user is located. |
latitude | The latitude of the user's location. |
longitude | The longitude of the user's location. |
timezone | The timezone of the user's location. |
ttfirstframe | The time to first frame. |
connectionspeed | The connection speed of the device, when available. |
resolutionheight | The height of the video resolution. |
resolutionwidth | The width of the video resolution. |
ispname | The name of the ISP. |