How do you set the default stream video quality to 1080p?

Hello,

When my wordpress webpage loads my cloudflare videos, the “auto” quality is very blurry. This leaves the user with a very bad first impression.

Is there a way to set my stream options to default the quality to it’s highest 1080p settings, so that the user doesn’t have to set this?

Because my website is a portfolio website it is CRITICAL that the video quality be as sharp as possible. I am not concerned with load time as much as quality. Switching the player to 1080p looks great and plays with good performance, but can’t I just make that the default player setting?

Thanks

2 Likes

Is it blurry for everybody, or just those with slow connections?

But to answer your question, I don’t see any way to auto-set this, nor do I expect Cloudflare to do this, as it’s an adaptive bitrate.

1 Like

Thanks for the feedback. Are there other streaming video companies you’d recommend?

hey i know this is old but currently i have the same problem
have you found a solution to adjust the start quality?

thanks for your help

1 Like

@fs360 could you share your video id?

Since the original post, we did a few changes, including moving videos into iframes so that Cloudflare Stream can remember the user bandwidth estimation to give the best possible video quality to the viewers.
There are few other things you can do to improve the quality such as using video thumbnails if your video is short in duration.

2 Likes

Hi! @renan I’ve started implementing cloudflare streaming just now and am experiencing the same thing with this video: a258fa3ae31fdbc5ec7b50537bda9809
The first “chunk” of the video appears to be of lower quality than than the remainder of the video.
For me, it changes for the better after a few seconds, at the same time as the text in video changes from “this was today” to “this is today”

Also, and maybe this should be a different thread: Are there any plans to enable controlling video quality programmatically? We have our own controls on top of the cloudflare player and would like to mimic the behaviour of the quality-picker.

Best regards!

Hi,

I’m having a similar challenge. Even on my gigabit symmetric fiber internet connection, which my Cisco Meraki router limits to 400Mbps symmetric, I’m seeing my originally-4K video play at 360p on Cloudflare Stream for at least the first few seconds. It’s distracting, and any speed increase isn’t worth the quality reduction.

Video ID: 4dff4ebbee79b818aea9ff777c484d8f
Speed test: Speed result of 406.6/453.2 Mbps | DSLReports, ISP Information

I’d like to be able to specify that the video is always 1080p, and not offer any lower quality settings. In my use-case, quality and consistency is much more important than load time.

Thanks

1 Like

Ideally you would be able to change the default order of the renditions in the video manifest. I have not played with Stream enough to know if that is possible, but you can pass a clientBandwidthHint parameter with the manifest URL to only provide renditions above the hinted bitrate.

I just tried the specific video and it seems to play at the highest quality level:

Do you know if the video had finished encoding all quality levels when you got the lower quality video?

Also, you can press shift+D in the Stream Player to get additional debug info such as your bandwidth (according to the Stream Player) and bandwidth required for various quality levels.

+1 for ability to start playing the video at a high quality even if it means the user had to wait a bit longer, rather than start sooner but blurry

1 Like

Is there any update to this?
Whenever I stream an embedded cloudflare stream video, it seems to default to 360p even though I am using a 200mbit connection. It seems very reluctant to use the 1080p setting.

Any way to force a default of using the highest quality and only go lower if there is an actual buffering issue?

1 Like

Would you be able to play a video on Stream, get log information by pressing Shift+D and sharing the log information here or via email (zaid at Cloudflare)? This will help us figure out why you’re getting a lower quality stream.

Hey thanks for the reply.
Here are the debug results:

{ “width”: 426, “height”: 240, “streamBandwidth”: 661887, “decodedFrames”: 1075, “droppedFrames”: 0, “corruptedFrames”: null, “estimatedBandwidth”: null, “completionPercent”: 1, “loadLatency”: 0.3320000171661377, “manifestTimeSeconds”: 0.2689998149871826, “drmTimeSeconds”: null, “playTime”: 44.87299990653992, “pauseTime”: 3.4579999446868896, “bufferingTime”: 0.0559999942779541, “licenseTime”: null, “liveLatency”: null, “maxSegmentDuration”: 4.0106875, “stateHistory”: [ { “timestamp”: 1630653494.785, “state”: “buffering”, “duration”: 0.0559999942779541 }, { “timestamp”: 1630653494.841, “state”: “paused”, “duration”: 3.4579999446868896 }, { “timestamp”: 1630653498.299, “state”: “playing”, “duration”: 44.87299990653992 } ], “switchHistory”: [ { “timestamp”: 1630653494.786, “id”: 3, “type”: “variant”, “fromAdaptation”: true, “bandwidth”: 1543609 }, { “timestamp”: 1630653498.427, “id”: 2, “type”: “variant”, “fromAdaptation”: true, “bandwidth”: 661887 } ], “bufferedInfo”: { “total”: [ { “start”: 16.016, “end”: 76.076 } ], “audio”: [ { “start”: 12.693333, “end”: 76.202666 } ], “video”: [ { “start”: 8.091, “end”: 8.091416 }, { “start”: 16.016, “end”: 76.076 } ], “text”: }, “bandwidthHistory”: , “videoId”: “f1db031f33bf5bf31b595f9327920214”, “userAgent”: “Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Firefox/91.0”, “initialBandwidthEstimate”: 2973947 }

Connection Used:

Really helpful. We will investigate what may be causing this next week and update this post with our findings.

Thank you!
It does usually eventually switch to 1080p, but sometimes not for 5-10 minutes later which is a poor user experience in my view.

Hello. Any update with this? I’m having the exact problem!

Over a month later, any updates?

We have same issue where videos always start at a very low quality before slowly improving. This is not good for short auto play videos.

The ?clientBandwidthHint= parameter would be useful if it could be used to always start the video stream at a higher bitrate and still allow the video bitrate to decrease during playback if needs be. However it appears to enforce a MINIMUM video quality which breaks the streams ability to downgrade when required.

Can you press Shift+D while watching one of your short videos and share a screenshot of the player log?

We are using video.js to play full screen background/decorative videos without any controls. The player simply points to the Cloudflare hosted DASH/HLS streams.

On top of defaults we pass

      videoOptions: {
        autoplay: false,
        controls: false,
        loop:true,
        preload: 'auto',
        aspectRatio: '16:9',
        sources: [
          {
            src: "https://videodelivery.net/"+VIDEO_ID+"/manifest/video.mpd", // ?clientBandwidthHint=1
            type: "application/dash+xml",
          },
          {
            src: "https://videodelivery.net/"+VIDEO_ID+"/manifest/video.m3u8",
            type: "application/x-mpegURL",
          },
        ]
      },

https://docs.videojs.com/index.html

Testing the same video source using the embedded player on dash.Cloudflare seems to produce a better starting quality. So perhaps I am looking for additional settings/requirements to get video.js to pick up a better stream - any guidance for Cloudflare streams via video.js?