带私有视频的Web API C#

时间:2016-10-18 06:44:15

标签: asp.net asp.net-web-api video-streaming

我正在制作一个小型网络应用程序,它接收来自客户端的请求并将视频流回复给他们。

我有一个如下的api:

[GET] api / video?id = {videoId}

哪些客户端会在标头中传递授权令牌以接收来自服务的视频流(我不希望没有权限的人在服务上访问受保护的视频 - 就像Youtube中的私人视频。

我已阅读并实施了本教程:http://www.strathweb.com/2013/01/asynchronously-streaming-video-with-asp-net-web-api/

但是,我想知道我的实施是否是最好的方法?因为我的系统现在很小,但是将来,我可以变得更大,为越来越多的客户服务。

有人能帮帮我吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

如果您尝试提供“私人”视频,我相信您可以将架构分为两种基本类型:

  • 对文件的实际受保护访问 - 对文件(视频)没有真正的http物理访问权限,它存储在数据库中,或者只有IIS应用程序池用户可以访问的地方(光盘/内部网络/等。)
  • FAKE保护对文件的访问 - 其中有一个真正的http路径,允许访问该文件,但路径是如此“奇怪”和随机...的概率为发现它是如此之低,以至于用户根本不会花时间去寻找“其他东西”....但当然,那些用暴力或其他东西......在X时代之后,可能会出现“弹出”。

你还指出了“开始”小而且变大的事实....这基本上是一个高度可扩展性的设计问题....这一切都取决于很多事情....(从垂直或水平开始缩放)....缓存,CDN,复制等.....

其他因素:可用资源(开发商),资金,“机器”(计算机/服务器),带宽/速度等...当前用户数量和未来使用预测.....等...有了这个,我只想说,有时候PRESENT解决方案不是FUTURE解决方案,但它是允许你开始赚钱的那个......而且“时间”你可以用不同的方式让它变得更好“当时可以使用的资源。

有了这样的说法:你指出的文章Asynchronously streaming video with ASP.NET Web API是一个很好的起点,它会起作用,但如果你只是想做一个快速的实施,那就先用“FAKE PRIVATE”逻辑去吧。 ...在那里你真的不需要担心“异步串流”代码,因为浏览器播放器会为你做这件事。