軟件下載地址: 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