如何在django应用程序中流式传输视频

时间:2022-10-08 20:23:09

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).

我希望将视频流作为django应用程序的一部分,但我从未对视频做过任何事情,也不知道从哪里开始。我还没有关于该项目的所有细节,但我期待一个或两个人上传的相当小的视频库(想想少于100个长约5分钟的视频)。

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)

我正在寻找一种允许用户使用django admin上传视频的解决方案。我想要覆盖大多数桌面浏览器(95%以上),显然我想降低成本。说我喜欢使用某种基于云的CDN的想法(我不知道是否可能/适合这个大小的项目)

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. 是否可以使用django和apache web服务器将视频流式传输到浏览器?

  3. What cloud hosting providers will support easy integration with a django app?
  4. 哪些云托管服务提供商将支持与django应用轻松集成?

  5. Will I need to convert the format of my video's before they're ready to stream?
  6. 在准备好播放之前,我是否需要转换视频的格式?

  7. Can I use Red5 with a cloud hosting solution.
  8. 我可以将Red5与云托管解决方案一起使用吗?

  9. 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.
  10. 我想在Ubuntu服务器上托管项目,我用它来托管其他几个(低流量)django应用程序 - 在具有现有站点的服务器上安装Red5是错误的。

  11. 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).
  12. 从回忆中,服务器有12GB RAM和4个核心(在1和1英国数据中心)。我是否有足够的功率/带宽来同时传输3-5个视频? (假设是red5 / wowza)。

  13. 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?
  14. 我对Flash不感兴趣,因为我正在为Apple工作。我是否需要重新评估我的偏见,以免我的无知?

1 个解决方案

#1


5  

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.

我从未使用Django / Python流式传输视频,但我在前端应用程序中的流视频领域有一些经验。我当然不能回答你的所有问题。根据我的经验,视频托管的位置并不重要,如果您想在全球范围内分发视频,CDN就可以了。我个人认为你应该从关于如何在浏览器中播放视频的问题开始。选择一个合适的视频播放器(可能是html5视频),你就知道什么是可以玩的,什么不可以。

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.

3)格式取决于您希望如何流式传输视频。渐进式下载(例如mp4)?直播(不进阶,例如HLS)?您可以在线查找示例视频,并测试您的视频播放器是否可以在您要支持的平台上播放视频。

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).

7)如上所述,您需要查看在这种情况下使用哪个播放器。 HTML5视频在我看来还不够广泛支持,但可以在最现代的浏览器(Chrome,Safari)中播放大多数格式。

Hope that helps.

希望有所帮助。

#1


5  

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.

我从未使用Django / Python流式传输视频,但我在前端应用程序中的流视频领域有一些经验。我当然不能回答你的所有问题。根据我的经验,视频托管的位置并不重要,如果您想在全球范围内分发视频,CDN就可以了。我个人认为你应该从关于如何在浏览器中播放视频的问题开始。选择一个合适的视频播放器(可能是html5视频),你就知道什么是可以玩的,什么不可以。

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.

3)格式取决于您希望如何流式传输视频。渐进式下载(例如mp4)?直播(不进阶,例如HLS)?您可以在线查找示例视频,并测试您的视频播放器是否可以在您要支持的平台上播放视频。

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).

7)如上所述,您需要查看在这种情况下使用哪个播放器。 HTML5视频在我看来还不够广泛支持,但可以在最现代的浏览器(Chrome,Safari)中播放大多数格式。

Hope that helps.

希望有所帮助。