【问题标题】:Streaming protocol latency test, there are some questions流媒体协议延迟测试,有一些问题
【发布时间】:2025-12-01 15:45:01
【问题描述】:

我做了一个实验来比较 RTSP 和 RTMP 的端到端延迟。

下面的实验是一样的。

约束

  • 网络环境相同。

  • 使用 Wowza 媒体流引擎作为媒体服务器。

  • 使用 VLC 播放器作为流媒体播放器。

实验 1。

1) 使用 Larix Broadcaster(Android App),向媒体服务器发送 RTSP 流。

2) 然后使用 VLC 播放器,将视频流作为 RTSP 流进行流式传输。

3) 结果端到端延迟 - 1.53 秒

实验 2。

1) 同实验 1-1。

2) 与实验 1-2 相同,但将视频流作为 RTMP 流进行流式传输。

3) 结果端到端延迟 - 3.54 秒

实验 3。

1) 使用 Wowza Gocoder(Android App),将 RTMP 流发送到媒体服务器。

2) 然后使用 VLC 播放器,将视频流作为 RTSP 流进行流式传输。

3) 结果端到端延迟 - 1.3 秒

实验 4。

1) 同实验 3-1。

2) 与实验 3-2 相同,但将视频流作为 RTMP 流进行流式传输。

3) 结果端到端延迟 - 3.47 秒

实验总结

  • 输入---输出---延迟

    RTSP---RTSP---1.53​​

    RTSP---RTMP---3.54

    RTMP---RTSP---1.3

    RTMP---RTMP---3.47

根据这个结果,我可以发现输入流协议对端到端延迟没有影响。

但据我所知,无论输入还是输出,流式传输协议应该具有的延迟都是相同的。对不对?

如果不是,那为什么?或者如果是,那么如何解释上面的实验结果?

【问题讨论】:

    标签: android streaming protocols


    【解决方案1】:

    不,每个流式传输协议都不同,并且延迟不一样。

    这里有很多因素需要考虑,不仅是协议本身,还有客户端中的实现或配置。 我不知道 VLC 是如何播放 RTMP 的,也许(我不知道)VLC 配置为 RTMP 比 RTSP 有更大的缓冲区。

    我可以告诉你,使用 WOWZA 和 Flowplayer,我的测试延迟不到 1 秒。在 Wowza 和 Flowplayer 中使用特殊配置。

    【讨论】: