<nginx-vod-module 다운로드>
git clone https://github.com/kaltura/nginx-vod-module
<nginx 다운로드>
wget http://nginx.org/download/nginx-1.14.2.tar.gz
압축을 푼 다음 configure 진행
./configure --add-module=../nginx-vod-module --with-file-aio --with-threads --with-cc-opt="-O3"
--with-file-aio : asynchronous I/O 지원
--with-threads : thread pool 을 이용해서 asynchronous 하게 파일 open
--with-cc-opt="-O3" : compiler Optimization 을 위한 옵션
출처: https://alnova2.tistory.com/1166 [몽상가]
<nginx conf 파일>
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
index index.html index.htm;
}
# vod settings
vod_mode local;
vod_fallback_upstream_location /fallback;
vod_last_modified 'Sun, 19 Nov 2000 08:52:00 GMT';
vod_last_modified_types *;
vod_metadata_cache metadata_cache 512m;
vod_response_cache response_cache 128m;
gzip on;
gzip_types application/vnd.apple.mpegurl;
vod_segment_duration 1000;
open_file_cache max=1000 inactive=5m;
open_file_cache_valid 2m;
open_file_cache_min_uses 1;
open_file_cache_errors on;
aio on;
location /content/ {
root /PATH_YOUR_LOCALMEDIA/;
vod hls;
add_header Access-Control-Allow-Headers '*';
add_header Access-Control-Expose-Headers 'Server,range,Content-Length,Content-Range';
add_header Access-Control-Allow-Methods 'GET, HEAD, OPTIONS';
add_header Access-Control-Allow-Origin '*';
expires 100d;
}
}
}
/PATH_YOUR_LOCAMEDIA/에 mp4 파일을 넣으면(예를 들어 a.mp4) http://[SERVER_IP_ADDRESS]/content/a.mp4/index.m3u8 로 접근 가능하다. 동영상은 1초 단위로 쪼개지도록 다음의 파라미터를 1000으로 설정한다.
- vod_segment_duration : 하나의 세그먼트의 duration 시간(밀리초)
HLS 재생
아래 라이브러리로 재생 가능
https://github.com/video-dev/hls.js/
git clone https://github.com/video-dev/hls.js/
cd hls.js
npm install
Video.js
hls.js보다 video.js가 더 호환성이 좋아서 플레이가 원할함
https://github.com/videojs/video.js
nginx를 이용한 스트리밍 서버(빌드 및 설치) (0) | 2020.03.25 |
---|---|
GRRS (GTP(GPRS(General Packet Radio Service) Tunneling Protocol) (0) | 2020.02.01 |
GoP(Group of Pictures) (0) | 2019.07.12 |
댓글 영역