开发直播程序过程中关于播放器的两点应用

发布来源:云豹科技
发布人:云豹科技
2019-02-15 09:03:40

随着直播平台适配需求的不断增长,导致流媒体自适应码率播放模式的兴起,这也使得开发者们无法自由修改播放器中的多媒体引擎等逻辑。再加上不同直播应用场景的增加,人们对于功能的需求和要求也越来越高。而播放器在直播程序开发的过程中,就有两点不同的应用,即直播服务和点播服务。

直播源码

1. 直播服务和点播服务的定义

(1)直播服务

服务端实时发送直播来源的数据流,客户端通过支持流媒体协议的播放器实时播放同样的内容,不可以拖动进度。

(2)点播服务

服务端存放多个视频文件,客户端可通过网路点播客户端任意观看其中一个视频,并可拖动进度进行观看。

2.播放器在直播服务中的应用

1)首帧秒开

在优化之前,播放器拿到解码之后的数据需要经过音视频的同步等待,从而下载一定的数据才能看到视频。就拿阿里云的播放器SDK来说,它会对第一帧进行解码然后省去缓冲时间,用户点开直播即可直接进行观看,从而也就实现了我们所说的秒开效果,给用户体验带来一定的提升。

直播系统源码

(2)低延时策略

通常在直播过程中,会出现网络抖动或者是由于其他因素所导致的延时过大的情况,这个时候播放器也需要进行一定的配合与处理。大部分的播放器SDK都会提供一个参数去控制播放端延时的大小。播放器中下载缓存去有一定的缓存视频,将缓存视频的长度和用户延时长度进行对比,一旦缓存视频长度超过了用户延时长度,其就会采取动态丢帧策略并找到缓存区中的最后一帧,丢弃之前的帧,这样一来就可以控制延时长度,最终保障终端观看直播的效果。

3.播放器在点播服务中的应用

1)加密播放

在教育或是金融等业务场景中,防止视频内容泄露是非常重要的。播放器会通过视频加密转码和解密播放的过程,对视频内容作出进一步的安全保护,从而达到有效的保护视频版权的目的。

(3)离线下载

从字面意思就可以看出,离线下载就是将视频资源下载到本地,在没有网络的情况下实现播放,其实这个功能很常见,大部分的播放器都可以在基础能力上提供更多属性。不仅支持安全下载,还可以把加密的视频缓存到本地并且进行重新加密,与APP进行绑定,就算“有心人”拷贝走了也无法进行再次播放。

4.点播和直播播放器发生冲突该如何解决?

现在有很多直播平台在开发时都会遇到这类需求,既有播放网络视频的需求也有直播播放视频流的需求,如果这个时候用户先集成了点播播放器,再去集成直播播放器,那么这个时候就会出现冲突报错的情况。

直播软件源码

(1)解决方法

可以只使用直播播放器,如果有播放视频需求的用户,可以通过点播服务开放的API接口来获取视频Url,从而播放视频。
2)原因

直播播放器:解决最原始的播放需求,可以播放rtmp、http等直播流,也可以播放视频Url。

点播播放器:除了解决直播播放器的需求之外,还可封装一些点播服务的业务。

实际上,直播播放器和点播播放器的底层是一样的,只不过由于两者之间的业务不同,所以接口不同。所以在开发直播程序的过程中,遇到直播和点播业务都要的情况时,可以只选择使用直播播放器的方案。

本文声明原创,转载请注明出处。(www.yunbaokj.com)

上一篇:直播系统搭建时嵌入小视频功能的意义何在


声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任