How to stream video in a django app
Asked Answered
A

1

6

I'm looking to stream video's as part of a django app, but I've never done anything with video and don't really know where to start. I don't have all the details of the project yet, but I'm expecting a fairly small library of videos uploaded by one or two people (Think less than 100 videos of about 5 mins length).

I'm looking for a solution that allows users to upload videos using django admin. I want to reach the majority of desktop browsers (95%+), and obviously I want to keep my costs down. Saying that I do like the idea of using some sort of cloud based CDN (I've no idea if that's possible / appropriate for this size of project)

I really want to ask if anyone can point me int he right direction (tutorials / services / projects / code), but I realise that might not be specific enough.

So to be more specific -

  1. Is it possible to stream video to browsers using just django and an apache web server?
  2. What cloud hosting providers will support easy integration with a django app?
  3. Will I need to convert the format of my video's before they're ready to stream?
  4. Can I use Red5 with a cloud hosting solution.
  5. I want to host the project on a Ubuntu server that I use to host a couple of other (low traffic) django apps - would it be a mistake to install Red5 on a server with existing sites.
  6. From recollection, the server has 12GB RAM and 4 cores (in a 1and1 uk datacentre). Will I have enough power / bandwidth to stream say 3-5 video's simultaneously? (assuming red5 / wowza).
  7. I'm not interested in Flash because I was rooting for Apple. Do I need to need to re-evaluate my prejudices to be free of my ignorance?
Alexalexa answered 13/1, 2013 at 10:3 Comment(0)
C
6

I never streamed videos using Django/Python, but I have some experience in the field of streaming video in frontend apps. I can certainly not answer all your questions. In my experience it does not really matter where the video is hosted, a CDN is fine if you want to distribute the video world-wide. I personally think you should start with the question on how you want to play the video in the browser. Choose an appropriate video player (could be html5 video) and you have an idea of what is possible to play and what not.

3) The format matters depending on how you want to stream the video. Progressive download (e.g. mp4)? Live streaming (unprogressive, e.g. HLS)? You can find example videos online and test if your video player can play the videos on the platform you want to support.

7) As said, you need to check out which player to use in this case. HTML5 video is not widely supported enough yet in my opinion, but can play most formats in the most modern browsers (Chrome, Safari).

Hope that helps.

Campy answered 13/1, 2013 at 10:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.