asp.net - 带有私有(private)视频 C# 的 Web API

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

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

我有一个 api,例如:

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

哪些客户端将在 header 中传递他们的授权 token 以接收来自服务的视频流(我不希望无权访问服务上 protected 视频的人 - 就像YouTube 中的私有(private)视频)。

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

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

有人可以帮我吗? 谢谢。

最佳答案

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

  • 对文件的真正 protected 访问 - 对文件(视频)没有真正的 http 物理访问,它存储在数据库中,或者只有 IIS 应用程序池用户有权访问的位置(光盘/内部网络/等等..)
  • 对文件的假 protected 访问 - 其中存在允许访问文件的真实 http 路径,但该路径是如此“奇怪”和随机......以至于有可能发现它是如此之低,以至于用户根本不会花时间去尝试寻找“其他东西”......但是当然,通过暴力或其他东西......在X时间之后,可能会有东西“弹出窗口”。

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

其他因素:可用资源(开发人员)、资金、“机器”(计算机/服务器)、带宽/速度等...当前用户数量以及对 future 使用的预测...等... ……我只想说,有时现在的解决方案并不是 future 的解决方案,但它是让你开始并赚钱的解决方案......并且有了“时间”,你可以用不同的“方法让它变得更好”那时您可以使用的资源”。

话虽这么说:您指出的文章Asynchronously Streaming video with ASP.NET Web API是一个很好的起点,并且它会起作用,但如果您只想快速实现,只需首先使用“FAKE PRIVATE”逻辑......在那里你真的不需要担心“异步流”代码,因为浏览器播放器会为你做这件事。

关于asp.net - 带有私有(private)视频 C# 的 Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40101275/

相关文章:

c# - asp.net 从 mysql 为用户/ session 分配角色

html - asp.net 表单设计使用 css 绝对位置

javascript - Ajax web api 文件上传带进度条

c# - 将 FCM 与 Asp.net web api 2 结合使用

ffmpeg - 当多个循环输入缓冲区中的任何一个溢出时如何使ffmpeg失败

c++ - 裁剪具有定义的宽度、长度和像素位置的视频文件

asp.net-core - 是否可以将 ffmpeg 命令的输出流式传输到具有 dot net core 的客户端?

asp.net - 如何在我的 ASP.NET 项目中使用 JavaScript 文件?

c# - 使用将 net461 设置为唯一框架的 ASP.NET Core Web 应用程序 (.NET Core) 与使用 (.NET Framework) 模板之间的区别

.net - IIS 无法连接到 LocalDB