【发布时间】:2020-05-23 22:10:25
【问题描述】:
首先我不知道这样的问题是否已经存在,我试过但找不到,所以如果有我道歉。
我正在尝试通过将每个帧发送到客户端然后在网站上使用 Javascript 显示它来流式传输视频。 (所以这一切都可以使用 WebSockets)。
我在 PC 上托管 websocket 服务器(c# 是语言)。所以,我把整个屏幕截图并立即发送给客户。
现在,我的问题是:我应该将多个帧(比如 3 个?)存储到一个文件中,然后上传该文件,还是应该像我已经做的那样逐帧发送?我想知道哪个更快?
谢谢。
【问题讨论】:
-
这实际上取决于“每个文件”的开销。 |然而,流媒体已经规定了如何做到这一点。从视频文件格式开始,它可以处理丢失的部分甚至改变质量水平。
-
我还建议阅读速度咆哮:ericlippert.com/2012/12/17/performance-rant |通常我会告诉人们跳过第 1 部分,但你肯定需要阅读它。
-
通常最好使用一个大文件而不是很多小文件。每个文件/每个请求的开销都会增加。但是,对于视频,您已经天生就有一个大文件。将其拆分为更小的文件确实没有意义。正如@swills044 所写,较低的网络层已经将每个大文件(甚至小文件)拆分成更小的帧、数据包等,这被认为是有用的。生活流媒体本身就是一个完整的主题。虽然非生命流媒体实际上只是“文件下载”。
标签: javascript c# websocket