Minimum Video Quality

Is there a way to specify a minimum resolution? Currently the first 5-10secs of a video are the lowest quality (240p) before stepping up. My users would rather wait for a higher quality video to be delivered than start with a poorer quality video.

Thanks

1 Like

Hi - Thanks for the post, and the great question. The api.video player is designed to deliver high quality video with a fast startup time. Starting with a high bitrate by default has several limitations:

  1. Video Playback takes longer to start - Since the initial video segments are of higher quality, they are larger in size, and take longer to download, delaying playback.
  2. Playback on slower connections will have higher stalls. If your customers are on a slower connection, the high bitrate playback could lead to increased stalling.
  3. Higher dimension video can lead to wasted data - serving 1920x1080 video on a screen with a width of 1080 results in 75% of the pixels to be removed from the video.

We start with the lower bitrate to ensure fast video startup for all users, knowing that it will quickly adapt to the maximum size for the screen and the available network.

If you would still like to change to a higher initial bitrate, there are plugins available in video.js that allow this to occur- you’d have to use your own player to playback the video.

Again - thank you for the great question.

Doug

Hi Doug, thanks for you reply. I take it from you answer that ‘rolling my own’ player with video.js is allowed/supported? Is there anything that I need to be aware of regarding AES keys and so on? I did try passing the HLS URL to a demo player and it only played the first few seconds

Thanks again
Tom

Tom - It should Just work. If you take the m3u8 url from your video, you can just paste it into Safari and it will play (Safari has a HLS player built into the browser).

You can try it with this url (while it is a famous song, I promise there is no Rick Astley):
https://cdn.api.video/vod/vi2wFCQx0cgFtsd0bosbQQx7/hls/manifest.m3u8

If you are still having issues - we can look at code and see what is going on.

Doug

Hi Doug

Sorry, I should have been more specific - I cannot seem to get private videos to play in video.js

Is there anything I need to do differently for private videos?

Thanks in advance for your help

Tom

I thought I would post a quick update to make sure nobody spends time investigating further. Looking at this post lead me to investigate using Clappr which appears to play private videos, so I think I have a way forward

Thanks again for your help

Thanks Tom! I am glad you found a solution!

FYI, you can use the private token directly with the m3u8 manifest but you must enable withCredentials: true on XmlHttpRequests

Have a great weekend.
Doug