Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rounce/nginx-hls-module

Smooth Streaming Module fork
https://github.com/rounce/nginx-hls-module

Last synced: 27 days ago
JSON representation

Smooth Streaming Module fork

Awesome Lists containing this project

README

        

nginx-based hls module
===========

Smooth Streaming Module fork

The module ingests the mp4 file, packages one into fragments, and delivers the fragments to iOS clients in real-time.

Build
===========

cd to NGINX source directory & run this:

./configure --add-module=/path/to/nginx-hls-module
make
make install

Example nginx.conf
----------

http {
server {
listen 80;
rewrite ^(.*)\.mp4$ $1.m3u8 last;

location ~ \.(m3u8|ts)$ {
hls;
hls_length 10; # length of fragment (seconds)
}
}
}

Directives
==========

hls_length
----------
**syntax:** *hls_length <integer>*

**default:** *8*

**context:** *http, server, location*

Set the fragment length requested without the "length" argument.

hls_relative
----------
**syntax:** *hls_relative <on | off>*

**default:** *on*

**context:** *http, server, location*

The directive specifies whether to keep the full URL of fragments.

hls_mp4_buffer_size
----------
**syntax:** *hls_mp4_buffer_size <size>*

**default:** *512k*

**context:** *http, server, location*

Sets the initial size of the buffer used for processing MP4 files.

hls_mp4_max_buffer_size
----------
**syntax:** *hls_mp4_max_buffer_size <size>*

**default:** *10m*

**context:** *http, server, location*

Size of moov atom may be quite large and can't exceed the hls_mp4_max_buffer_size size.