What are the best CDNs to use for serving external Canvas course content?

Jump to solution
ShayneB
Community Member

Friends of mine are using the ‘free for teachers’ version of Canvas and have asked me to look into their best CDN options for delivering audio and video assets into their course. After spending a couple of hours looking into this, I’m still no closer to a solution. As such, I need the community’s help.

YouTube - This works to embed videos (using the iframe code provided by YT), but there are several negatives.

  1. The video’s permissions must be set to Unlisted on YT, which allows anyone with the URL to share the video.
  2. The player serves up ads, YT branding, and suggested videos.

Amazon S3

  1. Similar to YouTube, media files can be embedded using an iframe, but the issue of ‘anyone with the link can share the asset’ remains.
  2. I can modify the S3 bucket’s permissions to limit requests to a specific domain/referrer, but I’ve not been able to get this to work with a Canvas install.

Bunny.net

  1. Some of the embed options work (some don’t maintain pixel aspect ratio), but the player is branded and I’m unsure whether any domain/referrer restrictions can be applied…or it it a matter of anyone with the link can share.

Can those of you using an external CDN to deliver media assets into your courses please share what you’re using? Has anyone successfully restricted file requests to their Canvas site’s domain to protect from their files being shared?

Thanks in advance for any assistance you can offer.

Labels (2)
0 Likes
1 Solution
chriscas
Community Coach
Community Coach

Hi @ShayneB,

In my opinion as a Canvas admin, if you want something that secures the videos beyond a secret/private URL, you're really going to need to investigate platforms that use the LTI standard, which can authenticate users from Canvas over to the 3rd party tools.  I know of a few different options off the top of my head, which are: Canvas Studio, Kaltura, Panopto, Yuja, and Mediasite (but I'm sure there are more).  There would all come at a cost, so the question would be how much the extra security is worth to your users

Now having said that, using the "free for teacher" Canvas instance complicates things, because it's really not possible to integrate things like a video service in that instance since there are no exposed accounts, administrators, etc...  a self-hosted open source version of Canvas coule be used instead, where you'd only need to pay for hosting and costs of someone to maintain the system, but you won't get all of the features of a paid Canvas install (or even the Instructure-hosted "free for teacher" version).  More info about features is available at Canvas Account Comparison - Instructure Community - 387052 and FAQ · instructure/canvas-lms Wiki · GitHub).

I hope this at least gives you a starting point fo things to consider, and perhaps others will chime in with more info.  I didn't want to get too into the weeds in the first response, but please do let us know if you have additional questions or would like to discuss any details further here!

-Chris

View solution in original post