LMS: hosting your academic training videos

WordPress is used for many things, and one of them is everything related to LMS (Learning Management Systems), or, in short, setting up an online course platform.

The biggest problem of this type of platform is the hosting of videos. The simplest solution is usually to go to Vimeo. It is usually the answer to several problems. One of them, that you upload a video in a size and format, and generates all the sizes, weights and others for the different devices. Next is the protection that is done to block requests from a domain, something that could be skipped with some work.

The problem comes when the thing takes its way, and you grow more than you have to. Normal plans no longer work, and you have to go to higher levels, since the limit in the case of Vimeo is mainly in the volume of reproductions.

What is the solution for these cases?

Several options depending on the technical and editorial complication. If you want to simplify the technique, the publishing house grows, and if you intend to simplify the publishing house, the technique grows.

The simplest solution is to find a platform that allows you to host the videos cheaply, that the cost of broadcasting is proportional to consumption, and that take care of all the composition of the videos and security.

There are several platforms that do this, and that usually carry a CDN behind them.

Easy technical (but not editorial) solution

Normally, these systems that host the videos have their own player, so if you use theirs, all the problems are solved regarding security and even technical. They give you an HTML code, you include it where you want the video to be seen, and that’s it!

What’s the downside? That the upload of videos you have to do on their platform, and that they have to give you the code and copy it in the WordPress. That is, the management, simple, is done outside of WordPress.

Easy editorial (but not technical) solution

Video playback platforms usually allow the upload and management of content through an API. This helps that from the WordPress itself you can upload a video, as if you uploaded it to the Media, and from there embed it in the content. Yes, it sounds very exciting, but…

In this case, it is complicated a little more, since the reproduction of the video is in the hands of WordPress and its plugins, which means that the player usually has to be one that supports HLS. HTTP Live Streaming is, as the name suggests, a system that makes a video broadcast as if it were live. Basically, what is done is that a video is divided into thousands of small parts and those small parts are read one after another so that you cannot download the video by yourself.

An example that surely has happened to you, and that the HLS allows, is the adjustment of the bitrate according to your connection, so if suddenly your internet connection goes worse, the system will adjust the video to worse quality, and the moment it returns to a correct connection, it will return to a higher quality, at least, if you set it to automatic.

Which solution is better?

It depends.

Especially what you want to spend on preparing the infrastructure, on plugin licenses or on the level of customization you need in each case. If the video is simply a commodity, the best option (and the one I think I would use) is the first, that of technical ease. In the end, having to upload a video to a platform, to give me a code and paste it is something “easy”, although I always have that external player code.

The second option, editorial management, is basically for WordPress to take care of absolutely everything, except that the video URL is out. Yes, maybe everything is much more integrated into the system, and you can even customize the player in much more detail, but it is still a system in which you depend on that plugin and that has lock-in.

This must be expensive, right?

The answer is: it depends. But not theoretically.

The interesting thing about these platforms is that you usually pay for the use you make. If you have plenty of videos, you’ll pay more. If your users are in many places around the world, you will pay more. If videos play a lot, you will pay more. If you delete videos, or broadcast less, then you will pay less.

What prices are we talking about?

The first thing we have to analyze is where to host the videos. The grace of DNS is that videos can be hosted on more than one site at a time, which makes it cheaper if you are near that area. The base cost is usually 1 ct / GB. If for example you have users in North America, Europe and South America, you may be interested in choosing those 3 zones, so you could get for 3 cts / GB.

Let’s put those 3 zones, that we have 100 videos of about 1 GB each, for hosting we would pay:

0.03 €/GB X 1 GB X 100 videos
= 3.00 € / mes

Now it would remain to see the cost for the retransmission of those videos. The average price is usually €5 / TB (that is, €0.005 / GB).

Let’s say we have 10 courses of 25 students who have 8 subjects and each subject has 10 classes with its corresponding video (1 GB).

10 courses X 25 students X 8 subjects X 10 classes X 1 GB X 5 €/TB
= 100,00 € / mes

Keep in mind that, as not everyone always sees the same amount every month, it would be variable. The interesting thing about this is actually that you can calculate what the cost of each of the courses can be according to the number of students. Come on, the issue price per student and, therefore, include it in the price of the subscription.


If you are interested, let’s talk, whether it is for the most technical option or the most editorial. The goal will always be the same: that students can watch the videos and learn.

About this document

This document is regulated by the EUPL v1.2 license, published in WP SysAdmin and created by Javier Casares. Please, if you use this content in your website, your presentation or any material you distribute, remember to mention this site or its author, and having to put the material you create under EUPL license.

WordPress System Administration Services

Do you have a high traffic WordPress website? Are you an Agency with servers with cPanel, Plesk or other panel on which you maintain WordPress for your clients?

If so, and you are interested in a professional WordPress infrastructure maintenance and performance improvement service for your or your clients’ websites, contact me.