对于没有发布任何代码,但正在学习关于延迟和WebRTC的人,什么是消除两个或多个共享视频流设备之间延迟的最佳方法?
或者,无论如何,尽可能减少延迟?
考虑到这一点,我想到了只需将设备时钟设置为相同的时间即可延迟来自服务器的请求,这是真正的诀窍吗?
对于没有发布任何代码,但正在学习关于延迟和WebRTC的人,什么是消除两个或多个共享视频流设备之间延迟的最佳方法?
或者,无论如何,尽可能减少延迟?
考虑到这一点,我想到了只需将设备时钟设置为相同的时间即可延迟来自服务器的请求,这是真正的诀窍吗?
延迟是源(麦克风、摄像头)和输出(扬声器、屏幕)之间路径上步骤数量的函数。
更改时钟对延迟没有任何影响。
您可能会遇到以下延迟:
在两个对等点之间的距离方面,您无法改变情况的物理性质,但许多网络特性可以改变实际延迟:
我确定这不是一个完整的分类法,但这应该可以给你一个开始。
除了使用网络速度更快且延迟更低的更好网络之外,我认为你无法做些什么来提高延迟。如果您在同一网络或WiFi上,则应该几乎没有延迟。
我认为,设备处理能力较差时延迟也会增加,因此它们无法快速解码视频,但是你不必担心它,因为所有操作都在浏览器中进行。
你可以尝试的方法 是尝试使用不同的编解码器。因此,在发送SDP之前,您需要操纵m = audio
或m = video
行中的编解码器顺序或删除编解码器。(但选择视频编解码器并不多,只有VP8)
您可以在chrome附带的工具中查看编解码器和网络性能:
chrome://webrtc-internals/
只需在URL栏中输入即可。