【问题标题】:Config WebRTC android for the lowest latency配置 WebRTC android 以获得最低延迟
【发布时间】:2017-06-02 09:43:06
【问题描述】:

如何配置 WebRTC 以实现最低延迟,以便通过 Android 上的 WebRTC 应用程序仅从 Android 手机摄像头到 PC 的一侧流式传输实时视频到 Firefox PC? 画质可能是 15-24 fps,也可能是 640 x 480?

我的应用需要在 android 手机中实时流式传输视频并尽可能实时地将其传输到 PC 以在 Firefox PC 中查看(使用 P2P 协议)。那个应用看起来像控制一些机器人,玩直播视频游戏。

如何做到最好?也许它可以通过 3G/4G 网络实现 50 毫秒的延迟? 谢谢。

【问题讨论】:

    标签: android performance webrtc live-streaming


    【解决方案1】:

    也许它可以通过 3G/4G 网络实现 50 毫秒的延迟?谢谢。

    不可能。您无法通过移动网络发送具有如此短延迟的单个数据包,更不用说捕获视频、编码视频、将视频与音频混合、发送、接收、缓冲、解复用、解码、呈现。每帧 50 毫秒的延迟并不比模拟传输的延迟高很多!

    您会发现,当系统获取数据以使用它时,即使是手机上的许多摄像头也会有那么长的延迟。

    您意识到人类甚至可能需要大约 200 毫秒才能对视觉刺激做出反应?我的电视至少需要 150 毫秒才能显示来自其无损 HDMI 输入的帧。

    您的项目要求与现实完全脱节。您还应该花时间了解当您将数字视频推入低延迟的极端时所发生的权衡。您将通过低于 1 秒或 500 毫秒左右做出一些真正的牺牲。考虑在这里阅读我的帖子:https://stackoverflow.com/a/37475943/362536 特别是“为什么不[这里的魔法技术]”部分。

    【讨论】:

    • 感谢您回答我。那么,如何配置 640 x 480 分辨率以获得最低延迟?,我在谷歌上搜索,但不是关于它(例如:配置编解码器 h264 或 VP8,禁用语音,缓冲区大小,webrtc 的一些配置,fps 配置,而不是缩放.. .etc)
    • @user198829 视频来自哪里?如果它来自带有 getUserMedia 的相机,那么您可以在 getUserMedia 约束中指定 640x480。除此之外,WebRTC 已经针对最低的合理延迟进行了优化。它会自动协商它将与另一方使用哪个编解码器,选择具有低延迟的编解码器参数等。它还会随着带宽的变化自动缩放视频质量......但如果你的源是 640x480,我希望它会留在那里。
    • 哦,如果 webrtc auto 的延迟最低,我不需要关心它,那就太好了:D
    猜你喜欢
    • 2021-08-28
    • 1970-01-01
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多