【问题标题】:Whether use TCP or UDP for video streaming on local network?本地网络上的视频流是使用 TCP 还是 UDP?
【发布时间】:2011-04-04 15:33:18
【问题描述】:

我在这里需要一些建议。您认为 UDP 是将文件从一台电脑发送到另一台电脑或从一台设备发送到另一台设备(如 iphone、android 等)的更好选择吗?

问候

【问题讨论】:

    标签: android sockets network-programming udp


    【解决方案1】:

    您的问题标题为“视频流”,UDP 是一个合适的选择。 UDP 不保证数据包的传递,但这对于视频流来说并不重要。

    但是,您的问题正文显示“发送文件”,这与流式传输并不完全相同。如果您尝试将整个文件从一台设备传输到另一台设备(并且整个文件成功传输很重要),那么 TCP 就是您的最佳选择。

    【讨论】:

    • 感谢您的回复。我想流式传输实时实时视频。现在 UDP 是一个更好的选择,可以将视频从一台机器流式传输到另一台机器或 Tcp。其次如何比较RTSP。我的意思是我需要对这两种方法有一些清晰的了解。因为如果我使用 TCP/UDP,那么我想我实际上会逐帧发送流,如果我选择 RTSP,那么我将不得不公开链接以供不同的机器使用。请对方法进行一些说明。
    【解决方案2】:

    这很难解释。

    在标题中,您说的是“流媒体”,但在正文中,您说的是“文件”。

    最好使用 UDP 进行流传输,因为 TCP 总是按顺序传递数据:如果数据包丢失并且必须重新发送,则应用程序在 TCP 解决之前不会获得任何数据。对于实时数据,这是不可取的。

    最好使用 TCP 发送文件。

    【讨论】:

    • 感谢您的回复。我在描述中提到了错误的文件。我想流式传输实时实时视频。现在 UDP 是一个更好的选择,可以将视频从一台机器流式传输到另一台机器或 Tcp。其次如何比较RTSP。我的意思是我需要对这种方法有一些清晰的了解。
    【解决方案3】:

    当您希望向多个收件人发送邮件时开始考虑 UDP,并且在问题上扔多个盒子的成本变得过高。

    因此评估情况,UDP 传输的开发成本比 TCP 更高甚至显着更高,并且在某种程度上您正在重新发明 TCP。多播的好处是显而易见的,但单播有什么好处呢?在现代硬件上,你有 TCP 加速,这意味着 UDP 单播实际上是一个相当昂贵的替代方案。较低延迟的论点适用于特定应用,即游戏,更重要的是与缺乏可靠性和低数据速率上限有关。

    注意:开发人员看到的 TCP 和 UDP 之间的初始性能差异是 NagleTCP slow start,即拥塞控制,这对于网络间的可扩展性至关重要。对于内部网络应用程序,两者都可以禁用。

    【讨论】:

    • 我想解码和显示视频数据的 CPU 成本会足够大,因此使用 UDP 与 TCP 的 CPU 开销不会是一个重要因素。
    • @Jeremy 你也有视频解码和显示的加速,所以一切的成本都降低了,这样你就可以在更便宜的平台上运行,比如 ARM、Geode,当这种情况发生时,网络协议的重要性就变得相关了再次。
    猜你喜欢
    • 1970-01-01
    • 2017-05-31
    • 2015-03-08
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多