今天咱們講解NGINX如何實現視頻緩存的,不瞭解NGINX如何推流的能夠先去看一下我上篇文章 NGINX如何實現rtmp推流服務 NGINX的rtmp推流部分的配置以下nginx
rtmp {
server {
listen 1935;
application live {
live on;
record all;
record_unique on;
record_path "C:/laragon/bin/nginx/nginx-rtmp/video";
record_suffix -%Y-%m-%d-%H_%M_%S.flv;
#on_publish http://127.0.0.1:8686/auth;
#on_play http://127.0.0.1:8686/auth;
}
application hls {
live on;
hls on;
hls_path "C:/laragon/bin/nginx/nginx-rtmp/hls/";
hls_fragment 8s;
}
}
}
複製代碼
這裏主要分了兩個部分講解,一個是live推流,一個是hls的推流。後端
application live {
live on;
record all;
record_unique on;
record_path "C:/laragon/bin/nginx/nginx-rtmp/video";
record_suffix -%Y-%m-%d-%H_%M_%S.flv;
#on_publish http://127.0.0.1:8686/auth;
#on_play http://127.0.0.1:8686/auth;
}
複製代碼
記錄全部數據緩存
record all;
複製代碼
記錄值惟一bash
record_unique on;
複製代碼
視頻緩存路徑app
record_path "C:/laragon/bin/nginx/nginx-rtmp/video";
複製代碼
緩存文件後綴ide
record_suffix -%Y-%m-%d-%H_%M_%S.flv;
複製代碼
利用obs推流,配置以下post
點擊開始推流,結果以下spa
視頻存放位置
C:\laragon\bin\nginx\nginx-rtmp\video
視頻緩存
stream-1585622145-2020-03-31-10_35_45.flv
複製代碼
hls配置code
application hls {
live on;
hls on;
hls_path "C:/laragon/bin/nginx/nginx-rtmp/hls/";
hls_fragment 8s;
}
複製代碼
視頻保存路徑cdn
hls_path "C:/laragon/bin/nginx/nginx-rtmp/hls/";
複製代碼
每一段視頻的大小,也就是時長,這裏保存了8秒
hls_fragment 8s;
複製代碼
obs配置以下
結果以下
hls的推流會產生一個m3u8的索引,保存ts文件的索引,同時保存一個個視頻片斷。後端根據文件的緩存地址,能夠拿到再次播放。