细述一对一直播源码的优势-PHP源码


网络在线直播系统,一般过程是:采集
→前处理→编码→推流→分发→拉流→解码→播放,每一个阶段都会占用一部分的时间,所以说为了保障用户观看的及时性,这些流程都需要高度的配合统一,这样才能降低在线直播的延迟问题。

我们先来说说什么原因为导致直播延迟。

第一,网络波动

我们这里所说的网络波动就是说在排序好的数据包中,有任何一包被延迟,就会导致它不按照正确的抵达顺序到达用户端,自然也无法按照接受顺序把内容播放出来,呈现在用户的接收屏上。网路波动会导致网络的内容播放的延迟和直播卡顿,但是这个原因只能算作是直播延时的外部因素,与本身的在线直播源码没有多大的关系。

第二、网络丢包

在线直播源码使用的流媒体传输协议有:
RTMP、HLS、HTTP FLV等,传输过程一般是:主播端向服务端发送连接请求→服务端同意→主播端确认连线。

经过上述的三个过程,主播端才会持续的进行数据的分批发送,每发送完一批数据都需得到服务端的反馈才能进行下一步,若为接收到反馈就是出现了网络丢包的现象,系统会自动传输丢失的包,这就是丢包的自动重传机制,这样中间的间隔就会造成直播的延时。

对于小编上面说到的两点原因,我们该如何去解决直播系统延时的问题呢?由于网络波动属于外部因素,那从直播源码的角度来讲,我们就可以从网络丢包这一问题上进行优化处理。

小编推荐的三种优化方法,大家在开发在线直播源码的过程中可以借鉴:

1、使用RTMP传输协议

RTMP协议是作为直播流媒体传输协议的首选,因为它的延时相对较低,通常能够降低在5s之内,其次它能够被第三方内容分发网络普遍支持,拥有丢包重连机制,及时的保障在线直播的流畅性。

2、使用内容分发网络

将内容分发网络的各个边缘服务器直播内容进行缓存,将内容就近下发,能够有效的降低直播延迟,提升直播内容的传输速度。

3、选择合适的编解码

解编码的原理就是压缩数据包的大小,减少视频传输过程中对宽带的占用率,达到降低延迟的效果。选择合适的编解码当然是能够解决很大一部分的延迟问题。

由网络丢包引起的直播延时问题,在进行直播源码开发时是比较容易解决的,配合搭建
CDN的选择就行。


转载于:https://juejin.im/post/5d06fca3e51d4556da53d0b7

猜你喜欢

转载自blog.csdn.net/weixin_34273046/article/details/93176988
今日推荐