What happens when you change video resolution on a player (netflix, youtube, vimeo)?

0

1

Of course the overall quality goes down and the bitrate is lowered, but is the actual pixel count lowered? If so, how? When you upload a video it is usually transcoded into various bitrates, but is there actual upscaling/downscaling done during the transcoding process as well? That is to say, are multiple renditions of the same video created at different resolutions? Say you have you have one master uncompressed HD video file to stream in an abr format like hls... when you upload/encode the video should you (or the backend transcoding system) be making various renditions at different resolutions AND bit rates, or just transcoding to different bitrates? What is the player actually doing to the video when you change the resolution if it does not have pre-encoded video at multiple resolutions to choose from?

Does the video hosting or streaming service is storing the same video, "video x", in, for example, 1080 HD at bitrates A, B and C, 720 at bitrates D, E, and F and 480 at bitrates G, H, and I for adaptive bitrate streams (HLS, HDS, Dash). This is what I would think..because you can change the "resolution" from the player, however all of the streaming architecture I can find online makes it seem like 1 HD video is delivered at various bitrates without having different resolutions to choose from. But that doesn't explain the ability to change the "resolution". Perhaps I am getting caught up in the verbiage, or maybe the downscaling is done in real time on the player side? I am just trying to get a solid idea of exactly what media needs to be either uploaded to, or transcoded by, the hosting service for adaptive bitrate streaming. If there are not multiple resolutions created (like there are bitrates) then would I be correct in assuming the player must have the ability to downscale/upscale the pixel count in realtime?

Sean McCarthy

Posted 2016-01-21T15:09:26.227

Reputation: 15

Answers

1

When encoding a video for adaptive streaming you would normally encode the alternative streams at different bitrates (for a given resolution) and different resolutions. It depends on the capabilities of the device(s) you want to support. Take a look at Apple's HLS encoding recommendations for an example. You always want to generate your variants from a high quality source (HD). For the lower resolution versions, the downscaling will take place during the transcoding process.

If you play a low resolution version of your video in full screen mode on a device with a high resolution screen, the player will upscale it (if there are no alternative streams) to match the dimensions of the screen, but the quality won't be good - the picture will look blurry. This is why it's generally a good idea to have multiple versions at different resolutions.

Simon

Posted 2016-01-21T15:09:26.227

Reputation: 126

@SeanMcCarthy If it was what you were looking for you can mark this answer as your accepted answer (and upvote it too if you want to). – llogan – 2016-01-26T17:47:28.310