低成本的低延迟的实现
在RTMP直播系统中从推流端到网络传输到播放器都做深度定制确实可以做到比较低的延迟, 但成本也是比较高的, 需要完备的高水平的团队(服务端和客户端), 以及大量的带宽服务器资源....需要注意的问题
当然事情不可能那么完美, 让RTMP和WebRTC可以很好的互通也需要做一些额外的工作:
1, RTMP推流端低延迟以及GOP大小
如果想做到低延迟, 我们需要在推流端尽可能的快,...在我们这个场景下WebRTC服务端会拒绝WebRTR的FIR信息, 通过下一个关键帧来解决关键帧丢失的问题.
2, RTMP源站以及边缘站尽可能的不做任何缓存
在一个帧率为25FPS的直播流中, 缓存一帧就会增加...我们只需要把RTMP流转封装为RTP的流, 喂给相应的WebRTC mediaserver.
这部分可以借助FFmpeg或者gstreamer来完成....如何落地
目前身边完全没有完全匹配的需求, 这个方案目前并没有落地, 设想中的落地方式是, RTMP部分还是用现有的CDN, 自己部署WebRTC的边缘节点, 根据访问请求向CDN拉流.