Skip to content
/ hod Public

HLS On Demand - On the fly ABR HLS transcoding and encrypting

License

Notifications You must be signed in to change notification settings

timokousa/hod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 

Repository files navigation

   HLS On Demand


ABOUT

 A set of scripts and a segmenter to generate HLS from various sources when
 requested. Complete with transcoding, AES encryption and simple authentication.

 Transcoding is started on the first m3u8 request. Live transcoding is stopped
 after a brief inactivity. Non-live transcodings are kept on disk until disk
 free space goes below defined limit.

 I use this to stream VDR channels and recordings to my Android phone.


REQUIREMENTS

 PHP (cgi/fpm, cli, & gd) for the scripts.
 FFmpeg for transcoding.
 OpenSSL for AES encryption.


INSTALL

 cd tools
 make
 sudo make install

 Test that the hod command works i.e. "cd /tmp; hod -i /path/to/some_video.file"
 Optionally copy the transcoding config file to /etc and edit as needed.

 Put the files in htdocs to appropriate place for webapps and make sure the
 'data' dir and the '$workdir' are writable by the daemon running the php. Edit
 rc.php, auth.php, sources.php and vdr*.php as needed.
 Check that the webserver handles PATH_INFO correctly or the streams might
 return 404.
 Content will be sent over http but It is recommended to set up https for auth,
 cookies and keys.

 Point the browser to the webserver/dir and use the "add to home screen" to make
 it behave like an app.


CONTACT

 Author can be reached by email timo.kousa@welho.com

About

HLS On Demand - On the fly ABR HLS transcoding and encrypting

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages