Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

User1980's avatar

Need advice for video hosting with Laravel please

Hi all,

I have just been asked by a friend to create a subscription-based video platform where people can watch/unlock his videos after a subscription payment.

My biggest problem is, where to host his videos? I am worried to host them on his VPS because of the server bandwidth and disk i/o, any recommendation of perhaps a service with an API that would work well with Laravel and offers video upload where you can link the video player back into your own platform?

Thanks,

0 likes
17 replies
Sinnbeck's avatar

Laracasts has all their videos on vimeo. You can limit them to a specific domain, and require login and subscription in laravel to show it

3 likes
jlrdw's avatar

I would suggest checking out viemo.

3 likes
User1980's avatar

@jlrdw I wish I could also set your answer as the best as you both helped me!! Thank you so much.

1 like
martinbean's avatar

My biggest problem is, where to host his videos? I am worried to host them on his VPS because of the server bandwidth and disk i/o, any recommendation of perhaps a service with an API that would work well with Laravel and offers video upload where you can link the video player back into your own platform?

@user1980 I’ve ran a video on demand website since 2014 now. I originally hosted, transcoded, and streamed them using AWS. However, I recently switched to Mux for the transcoding and delivery part (the original videos are still uploaded to an S3 bucket in my AWS account).

If you’re truly interested in building a secure video streaming website with Laravel, then I happen to be preparing a video course on just that! I’ve set up a mailing list where I’m sending updates: getrevue.co/profile/martinbean. ETA for the course is looking like mid-May/early-June.

2 likes
User1980's avatar

@martinbean Hey Martin, thank you so much for the wonderful reply, really cool :-) I will register later on today. Today I spoke to Vimeo on the phone, my friend's project is only for 100 hosted Videos with a max of 500 viewers at once at any time(health videos). Most videos will be 10 minutes in length encoded in 1080p/25. It looks like for Vimeo the upfront cost is about 2000 USD and then you have to pay some kind of monthly payments through a platform called OTT. I am not understanding everything at the moment but it looks like you can customize the OTT platform somehow.

I am wondering if your solution and by using Amazon for a small project like this would be much cheaper. There are other things to consider like video encoding, DRM and perhaps more I am more aware of. Apparently, certain players can make video downloads very difficult for video served based on a subscription service through some kind of special encoding. If your solution is great, cheap and does not take months and months to code, then it will make sense for me to purchase your course.

User1980's avatar

@martinbean I just checked the price of MUX, I think your solution will make 100% more sense than using Vimeo. The only issue for me will be to block access to the videos(based on a subscription).

martinbean's avatar
Level 80

@User1980 Yeah, Vimeo’s getting more and more expensive. They recently put the prices of their pro plan up that made a lot of creators irate.

I am wondering if your solution and by using Amazon for a small project like this would be much cheaper. There are other things to consider like video encoding, DRM and perhaps more I am more aware of. Apparently, certain players can make video downloads very difficult for video served based on a subscription service through some kind of special encoding.

Using S3 and Mux, your costs would be pay as you go rather than subscription-based like Vimeo is. Mux will encoded your videos using HLS. This creates multiple versions of your video so that your video is less likely to buffer if the user’s network gets congested (think Netflix where the picture quality drops for a short period).

You can also make playback “signed”, whereby videos will only play if the URL includes a JWT created by your application. This is what I use in my own subscription-based video on demand platform, and what I’ll be covering in my course. You can also add an additional layer of playback protected by creating playback restrictions. This basically whitelists the domain(s) the video can be played on. So if someone did grab a HLS playlist and video segments, they wouldn’t be usable on any other domain.

User1980's avatar

@martinbean This is brilliant! Will you cover all of this in your course? By the way, what is your video course website please(if you have any)? Thanks

martinbean's avatar

@User1980 Yeah. The course is going to cover building a Netflix or Laracasts clone basically. So uploading and processing videos with Mux and then securing playback to only users who have an active subscription (using Stripe and Cashier to handle that).

There’s no website yet. I recently completed the course app itself, which will use Mux and Stripe—dogfooding! I’ll be sending the discounted early access information and pricing in the next newsletter.

If you DM me on Twitter, I’ll sort out a discount coupon that you can use once the course is up and running.

Please or to participate in this conversation.