gpt4 book ai didi

.net - 如何处理与实时流媒体服务器连接的缓慢的消费者/客户端

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:37:57 29 4
gpt4 key购买 nike

我正在使用自定义编解码器开发实时流媒体服务器(必须使用它,没办法绕过它)。多个客户端将连接到服务器以获取实时提要。在理想情况下,所有客户端都将通过宽带连接进行连接,编码后我可以将所有编码帧以循环方式转发到每个套接字。但在现实生活中,我可以让客户端通过高延迟连接以及慢速/移动连接进行连接。这将导致很少有客户端能够快速摄取数据,而其他客户端则会滞后。

显然,循环法等技术在这里行不通。另一种可行的技术是对每个连接进行编码,但这会在服务器端消耗过多的 CPU——这也是 Not Acceptable 。最后,我想到了改进的 h264 i 帧技术。基本上不管内容,每隔1-2秒加一个I帧就可以了。这样一个缓慢的消费者将能够在每个 I 帧与其他消费者同步。反馈?是否有任何标准技术/算法来处理这种情况?

最佳答案

  • 您至少需要 2 种编码,一种是普通编码(高带宽),一种是较小编码(低带宽)。
  • 将 .NET 4.5 的 await/async 语法与套接字结合使用。*与使用循环同步套接字、使用 IO 完成端口和更少的阻塞相比,异步方法还可以带来一些额外的性能。 (一个这样的例子:https://stackoverflow.com/a/12631467/884862)
  • 最后确定是在不实现自适应比特率流媒体的情况下为您的客户提供高带宽版本还是低带宽版本。
    • 给用户一个选择
    • 进行带宽测试,向客户端发送一个包含 128KB 数据的回显请求,并使用发送时间和返回时间来确定客户端是否足够快以支持高带宽版本。

关于.net - 如何处理与实时流媒体服务器连接的缓慢的消费者/客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34238346/

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