Issues I ran into when using Cloudflare Stream for a virtual conference of 400+ video presentations

Background:

I’ve integrated Cloudflare Stream with our virtual conference platform. It allows presenters to upload video presentations of themselves, and conference registrants to view / stream video presentations in their browsers.
In late November we opened up for presenters to submit their video presentations by uploading through our platform. We used TUS-based uploading to get the videos to Cloudflare Stream, first saving the raw file in an S3 bucket and then uploading to CloudFlare from our servers (using AWS Lambda).
In December, after all the presentations were uploaded and converted, we opened up the conference on-demand video content to registered attendees. This particular conference had ~415 x 15-minute video presentations. We also uploaded recordings of our live Zoom webinars consisting of video files of 5+ hours.

My experience with Cloudflare Stream for a virtual conference of ~415 video presentations:

As a developer, I found it easy and pleasant to work with Cloudflare Stream and it’s API. Overall I’m happy with the service and its predictable and highly competitive pricing. However, I did experience some trouble along the way and unfortunately, some of these issues absolutely needs to be fixed in order for us to continue using Cloudflare Stream for our future virtual conferences. Here’s a list of all the unresolved issues (as of Dec. 22, 2020) that we encountered:

  1. Quality selector missing from Player: The JavaScript Player sometimes shows the quality selector menu and sometime doesn’t. It varies between browsers, devices and seemingly changes on a day-to-day basis. It’s been reported as a support ticket and also mentioned in the forum, here, here and here.

  2. Crackling noise in videos played in Firefox: Many of our user-uploaded video presentations (often mp4-files created by Office PowerPoint’s “record slides”-feature) had a crackling noise when played back in Firefox on Mac and Windows. This did not happen if the videos were played back by Chrome, Edge or Safari.

  3. Large TUS uploads did not call our backend’s webhook: When we uploaded videos that were several Gb (3+ hours long) the webhook call did not fire, causing our backend to think the videos were still converting when they in fact were ready. This only happens with very large/long videos.

  4. Videos taking 5+ hours to finish converting & not triggering webhook: Occasionally, we’d have small videos (15 min / ~200 Mb) taking forever to convert. Some (I’d say about 50%) of these conversions that seemed stuck did fail with a conversion error after many hours, some succeeded and some failed without triggering our webhook at all. This led to much frustration for the presenter’s who wanted to check if their upload converted successfully before the submission deadline, and to a lot of work for us, having to manually check the Cloudflare dashboard for failures.

  5. Poor video quality: The most frustrating issue for the attendees of the conference, who were viewing the on-demand video presentations using Cloudflare’s JavaScript player, was the poor quality of the videos. The adaptive streaming (auto quality) feature very often didn’t upgrade the quality automatically, even though the end-users internet connection and device clearly could handle the bit rate and the source file was successfully converted and available in 1080p (I’ve reproduced this myself). This, combined with the fact that many didn’t see the quality selector in the JavaScript player, and thus were unable to force 1080p, led to people having to watch the stream in 480p or worse.

I have ongoing support tickets for most of these issues, so I don’t expect a reply from Cloudflare in this thread, but I hope that by posting this I’ll bring more attention to the issues that I’m seeing several other Cloudflare Stream users also struggling with.

3 Likes

Thanks for sharing your experience. I’m coming up on 2000 hours of streaming for a virtual theatre production, and we’re experiencing the same issues #1 and #5. Some rough testing/surveys from my enviroment indicates about 1 in 5 machines get the bugged player and have these quality issues.

It appears that on those machines, the Cloudflare player completely fails to load (or something similar) and the browser falls back to its own native HTML5 player. In Chrome, the native HTML5 player does not have a quality selector, and it seems to fall back to 480p. On Chrome/Safari it surfaces additional unwanted buttons/features such as Cast, Picture-in-Picture, and even a Download button. These differences create confusion for our customers, leads to unnecessary support calls for our staff, and sub-par user experience.

I also have open support ticket, but no response yet. It would be great to hear from @renan or @zaid about this, or any of the (1) other (2) tickets (3) about this issue.

1 Like

The fallback to the browser’s native HTML5 player is interesting and seems to be the main issue / root cause for most of the Stream-tagged problems lately posted in this forum.

Seems like there are both regional differences (as pointed out in this post), OS differences (Android//MacOS/iOS/Windows) and browser differences. Additionally, the problem seems sporadic.

I am no longer able to reproduce the problem on my Win10 machine in Norway (regardless of browser), but I received a report earlier today from a conference registrant in the US who didn’t get the quality selector in the player when using Chrome on Win10.

For the record, we are using the Official Angular component for Cloudflare Stream in our SaaS web app, which is basically a wrapper around https://embed.videodelivery.net/embed/r4xu.fla9.latest.js (seen from the source at github)

Thanks a lot for sharing your detailed feedback. I work on the Product team at Stream and will review each of the issues you describe and share my findings.

1 Like