但要做到音视频的超低延迟确是很不容易, 编码延迟, 网络丢包, 网络抖动, 多节点relay,视频分段传输,播放端缓存等等都会带来延迟....实际上除了网络丢包和网络抖动不太可控之外, 其他的各各环节都有一定的优化方案, 比如使用x264的-preset ultrafast和zerolatency, 可以降低编码的延迟,
分段传输部分可以把GOP...需要注意的问题
当然事情不可能那么完美, 让RTMP和WebRTC可以很好的互通也需要做一些额外的工作:
1, RTMP推流端低延迟以及GOP大小
如果想做到低延迟, 我们需要在推流端尽可能的快,...同时RTMP-CDN一般都会有GOP cache, 会缓存最近的一个GOP, GOP太大是没法做到低延迟的, 可以考虑把GOP设置在1秒....在我们这个场景下RTMP的源站和边缘站除了做一些GOP cache外, 其他缓存要尽可能的小.
3, 编码器参数设置
WebRTC对H264的支持还没有那么完美, 比如在chrome支持H264的baseline