软件下载地址: http://www.qiyicc.com/download/rtmpd.rar
一分钟快速搭建 rtmpd 服务器: https://blog.csdn.net/freeabc/article/details/102880984
其实 smart_rtmpd 不仅支持强大的直播功能,而且还支持录像功能。开启录像功能其实很简单,就是把 url 中的 app 部分变成关键字 rec 即可,既 smart_rtmpd 支持两种类型的 app,一个是 live (直播),一个是 rec(录播),下面就其使用方法,以及对应的配置做一个简单的介绍,然后再介绍一下录像回放的一些方法。
1. 录像启用
录像模式支持 HLS 模式或 DASH 模式,两种模式只能选择其一,具体参看 config.xml 里 http 配置项
0 - dash 模式, 1 - hls 模式
<http>
<recmode>1</recmode>
</http>
录像启用的条件,HLS 和 DASH 必须开启,就是 config.xml 里的 rtmp 配置项
<rtmp>
<hashls>true</hashls>
<hasdash>true</hasdash>
</rtmp>
我们知道,smart_rtmpd 直播推流的 url 大致这个样子 rtmp://media.qiyicc.com/live/stream,那么我想带有录像功能,怎么办,其实很简单,把对应的 url 改成 rtmp://media.qiyicc.com/rec/stream 然后推流到流服务器。标签由原来的 live 改成了 rec。这样,smart_rtmpd 就会自动开启边直播边录像的功能。而播放端的各个 url 无需更换 app 标签,既播放端还是可以用直播的 url 进行观看,例如:
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 找到 rtmp 标签
<rtmp>
<hashls>true</hashls>
<hasdash>true</hasdash>
</rtmp>
这两项是开启 hls 和 dash ,如果录像模式选择 hls, 则 hashls 必须开启,
如果录像模式选择 dash ,则 hasdash 必须开启
<http>
<ioshrink>512</ioshrink>
</http>
如果写入磁盘过慢,如果数据队列超过此值,则会出现丢包现象,这样导致录像可能不完整。如果提示 hls 或 dash 队列超出,则需要改大此值
录像文件是按时间进行分割存储的,防止单个录像文件过大的问题,时间单位为分钟,参看配置项。
<http>
<recduration>10</recduration>
</http>
大家可以根据需要调整此值,此值太小,可能文件碎片太多,太大可能引起不稳定。
3. 录像回放
录像回放需要分两步,第一步录像查询,第二步录像回放
录像查询,具体查询如下,发送 HTTP GET 请求,下面是查询录像的天数
http://media.qiyicc.com/rec/stream?cmd=query
查询结果,smart_rtmpd 是以天为一组存储录像,下面查询结果代表下面三天都有录像存在
2020-09-18
2020-09-19
2020-09-20
就会查询到那天有录像,然后可以根据下面请求,查询具体的录像内容,下面的查询是查询 2019-12-03 的录像
http://media.qiyicc.com/rec/stream?cmd=query&day=2019-12-03
查询结果, mpd 后缀代表录像格式是 dash , m3u8 代表录像格式为 hls
10-00-00.mpd or 10-00-00.m3u8
10-15-00.mpd 10-15-00.m3u8
10-20-16.mpd 10-20-16.m3u8
就会返回具体到时分秒的文件,此文件录像的内容为 这个时分秒为结束时间,减去 <recduration>10</recduration> 为录像开始时间
录像回放
如果是 hls 模式的,一般是这种 http://media.qiyicc.com/rec/stream.m3u8?day=2019-12-03&time=09-44-56
如果是 dash 模式,一般是这种 http://media.qiyicc.com/rec/stream.mpd?day=2019-12-03&time=09-44-56