gpt4 book ai didi

asp.net - 如何直接从 SQL Server 通过 HTTP 有效地流式传输视频?

转载 作者:行者123 更新时间:2023-12-02 04:45:14 25 4
gpt4 key购买 nike

我正在尝试实现视频流服务。我使用 ASP.NET Web API,正如我搜索的那样,PushStreamContent 正是我想要的,它工作得很好,向客户端发送 HTTP 响应 206(部分内容),保持连接事件并推送(写入)流输出的字节数。

但是,我无法扩展。因为我无法从数据库中检索部分二进制数据。例如,假设我的 SQL Server 表(varbinary 字段)中有一个 300MB 的视频,我使用 Entity Framework 获取记录,然后使用 PushStreamContent 将其推送到客户端。

但是,这会极大地影响 RAM。对于客户端执行的每个 seeking 操作,RAM 都会额外使用 600MB 的空间。看看它的实际效果:

1) 第一次请求视频 enter image description here

2)第二个请求(寻找到视频中间) enter image description here

3) 第三次请求(寻找视频的最后四分之一) enter image description here

这根本无法缩放。 10 位用户正在观看这部电影,我们的服务器已关闭。

我该怎么办?如何直接从 SQL Server 表流式传输视频,而无需使用 Entity Framework 将整个视频加载到 RAM,然后通过 PushStreamContent 将其推送到客户端?

最佳答案

您可以结合 SUBSTRING函数 VARBINARY字段,以返回部分数据。但我怀疑您更喜欢不需要从一个 block 跳到下一个 block 的解决方案。

您可能还想查看此 similar question .

关于asp.net - 如何直接从 SQL Server 通过 HTTP 有效地流式传输视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33645346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com