怎么开启 smart_rtmpd 的录像功能

痴心易碎 提交于 2019-12-12 17:42:12

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

软件下载地址: http://www.qiyicc.com/download/rtmpd.rar

一分钟快速搭建 rtmpd 服务器: https://blog.csdn.net/freeabc/article/details/102880984

其实 smart_rtmpd 不仅支持强大的直播功能,而且还支持录像功能。开启录像功能其实很简单,就是把 url 中的 app 部分变成关键字 vod 即可,既 smart_rtmpd 支持两种类型的 app,一个是 live (直播),一个是 vod (录播),下面就其使用方法,以及对应的配置做一个简单的介绍,然后再介绍一下录像回放的一些方法。

1. 录像启用

录像模式支持 HLS 模式或 DASH 模式,两种模式只能选择其一,具体参看 config.xml 里  0 - dash 模式, 1 - hls 模式

<vodmode>1</vodmode>

 

录像启用的条件,HLS 和 DASH 必须开启,就是配置文件里的两项

<hlsenable>true</hlsenable>

<dashenable>true</dashenable>

 

我们知道,smart_rtmpd 直播推流的 url 大致这个样子  rtmp://media.qiyicc.com/live/stream,那么我想带有录像功能,怎么办,其实很简单,把对应的 url 改成 rtmp://media.qiyicc.com/vod/stream 然后推流到流服务器。这样,smart_rtmpd 就会自动开启边直播边录像的功能。而播放端的各个 url 无需更换 app 标签,既播放端还是可以用 rtmp://media.qiyicc.com/live/stream (rtmp), http://media.qiyicc.com/live/stream.flv (flv), http://media.qiyicc.com/live/stream.m3u8 (hls), http://media.qiyicc.com/live/stream.mpd(dash) 进行直播观看,smart_rtmpd 会自动产生对应的各路直播流,并同时进行录像存储。

 

2. 录像配置

打开配置文件 config.xml 找到 http 标签

<hlsenable>true</hlsenable>

<dashenable>true</dashenable>

这两项是开启 hls 和 dash ,如果录像模式选择 hls, 则 hlsenable 必须开启,如果录像模式选择 dash ,则 dashenable 必须开启

 

<ioshrink>512</ioshrink> 

如果写入磁盘过慢,如果数据队列超过此值,则会出现丢包现象,这样导致录像可能不完整。

 

录像文件是按时间进行分割存储的,防止单个录像文件过大的问题,时间单位为分钟,参看配置项。

<vodduration>10</vodduration>

大家可以根据需要调整此值,此值太小,可能文件碎片太多,太大可能引起不稳定。

 

3. 录像回放

录像回放需要分两步,第一步录像查询,第二步录像回放

录像查询,具体查询如下,发送 HTTP GET 请求,下面是查询录像的天数

http://media.qiyicc.com/vod/stream?cmd=query&type=vod

就会查询到那天有录像,然后可以根据下面请求,查询具体的录像内容

http://media.qiyicc.com/vod/stream?cmd=query&type=vod&day=2019-12-03

就会返回具体到时分秒的文件,此文件录像的内容为 这个时分秒为结束时间,减去 <vodduration>10</vodduration> 为录像开始时间

 

录像回放

如果是 hls 模式的,一般是这种 http://media.qiyicc.com/vod/stream.m3u8?day=2019-12-03&time=09-44-56

如果是 dash 模式,一般是这种 http://media.qiyicc.com/vod/stream.mpd?day=2019-12-03&time=09-44-56

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!