Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
该协议为苹果公司推出的低延迟HLS协议,本次更新新增了对该协议播放支持。 同rtsp库一样,采用了第三方库来实现:**github.com/bluenviron/gohlslib** 1.1 使用方法 通过访问形如http://localhost:8080/llhls/live/test/index.m3u8来播放。 其中**live/test**为streamPath,可以替换成实际的值 1.2 插件配置 在llhls下可以配置http配置,用于修改端口号。插件配置方式可以参考文档 1.3 源码说明 llhls相关代码位于**github.com/Monibuca/plugin-hls** 的 **llhls.go** 中。hls和llhls两个插件共用一个代码仓库,因此引入hls时也同时引入了llhls插件。 2 新增HLS.js测试页面 HLS.js测试页面是将hls.js的编译后的代码嵌入到了hls插件仓库中,以方便调试hls流使用。 2.1 访问地址 http://localhost:8080/hls/index.html 该页面也可以用于测试llhls 3 新增对RTMPS协议支持 该协议为RTMP协议的衍生协议,是在TCP基础上增加了TLS安全加固,原理类似HTTPS。 该协议支持是rtmp插件的增强。需要通过配置TLS端口来开启该功能。 3.1 配置 ```yaml rtmp: tcp: listenaddrtls: :4443 ``` 3.2 推流测试 ``` ffmpeg -i source -f flv rtmps://localhost:4443/live/test ``` 如果配置成443端口,则可以省略端口号 3.3 对外推拉流 已经支持,既可以在配置pull或者push中使用rtmps的远程地址 4 其他更新内容 4.1 优化了HLS纯转发模式的资源消耗 > 当只需要将HLS拉流转发时,可以使用纯转发模式 > 纯转发模式由于不需要解析HLS协议中的TS格式,因此对资源消耗比较小。 > 通过配置HLS插件的 **relaymode: 1**开启 4.2 修复了当开启时光回溯功能时的内存泄漏 具体原因是,在进行时间戳判断时忽略了当时间戳超过最大值时的情况,导致ringbuffer无限扩大 > 所谓时光回溯功能,是指可以缓存较多的数据,以订阅当前画面更早一些的画面 > 通过配置**publish**配置中的**buffertime**来开启时光回溯 > 订阅流时需要指定订阅模式,即需要在订阅时加参数`?mode=2` > 如果需要修改参数名称(有时可能会有冲突,可以通过配置submodeargname 来改变 4.3 WebRTC插件测试页面运行URL中带有参数 为了更方便测试WebRTC功能,允许在访问测试页面时,带上参数 4.3.1 推流测试页面 **http://localhost:8080/webrtc/test/publish?streamPath=live/test** 可以推送到**live/test**。不传该参数则推送到**live/webrtc** 测试房间功能是也可以带上token参数 4.3.2 播放测试页面 **http://localhost:8080/webrtc/test/subscribe?streamPath=live/test** 可以订阅**live/test**的流。不传该参数则订阅**live/webrtc** 4.4 Stream中增加NeverTimeout属性 该属性设置成true可以是的流不再判断超时,保持流永远存活,其目的是有些流并不会产生AudioTrack和VideoTrack,比如纯转发流,或者Room的用于广播消息的流,此时可以在发布成功后,对流设置这个属性
- Loading branch information