sarahjohnson21's avatar

Building a VOD platform using Laravel

I’m working on building a VOD platform using Laravel and looking for guidance on integrating third-party video delivery and DRM features. Has anyone here used Laravel with platforms like VPlayed? I’d like to understand how to manage video content securely (e.g., tokenized URLs, DRM), handle subscriptions, and integrate APIs for multi-device playback. What’s the best architecture to follow when combining Laravel with an OTT backend like VPlayed?

0 likes
1 reply
martinbean's avatar

EDIT: After reading their profile, it seems “sarahjohnson21” is just a shill for the service they mention. Leaving my answer for any one else who might actually be interested in creating a video on demand platform using Laravel.


I’ve built and operated a video on demand platform, created with Laravel, for just over 10 years now.

I originally started with a custom AWS-based solution using Elastic Transcoder. I then started evaluating the AWS Elemental offerings such as MediaConvert, but it was going to get expensive fast, transcoding took quite a long time, and I couldn’t do different bitrate encodings concurrently for some reason (again, think it was price plan-related), so costs were getting too high and the end user experience was poor; especially given my end users upload content that can be multiple hours in duration.

A couple of years ago I switched to Mux and haven’t looked back. It is a very developer-focused company so their APIs are easy to integrate with. I call them “the Stripe of video”. And they support all the features you mention, such as signed URLs for playback, thumbnails, etc. They also recently introduced DRM in an ongoing public beta: https://www.mux.com/beta/drm

If you are intending to build a video on demand platform, then I created a video streaming with Laravel course. If you (or any one else reading this) wanted a 50% discount code for the course, then feel free to DM me on 𝕏 (https://x.com/martinbean).

2 likes

Please or to participate in this conversation.