Enhanced version of osklil's hls-fetch. https://github.com/osklil/hls-fetch

BM-2cWimYg96o7rdmFy99U5RMdQGpXrx75NCE da6ebc014c UA updates 7 years ago
ChangeLog da6ebc014c UA updates 7 years ago
README.md d7b981e8c2 README 8 years ago
hls-fetch da6ebc014c UA updates 7 years ago

README.md

hls-fetch

Introduction

hls-fetch is a small program that downloads and decrypts HTTP Live Streaming (HLS) videos. HLS is commonly used for streaming video on Apple iOS devices.

hls-fetch can download videos from web pages with embedded <video> tags, from SVT Play (svtplay.se), or from M3U playlist directly. It will decrypt streams if necessary and assemble individual segments, to produce a single MPEG transport stream (.ts) file playable in most media players.

It is written in Perl.

Author and Feedback

hls-fetch is written by Oskar Liljeblad oskar@osk.mine.nu.

This software is a work in progress and there are probably many ways it can still be improved. If you'd like to contribute patches, ideas, or bug reports, please don't hesitate contacting me!

License

hls-fetch is copyright (C) 2012 Oskar Liljeblad.

Portions copyright (C) 2015 Desktopd Project.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Download

The latest enhanced version of hls-fetch can be downloaded from NotABug.org:

The original version of hls-fetch can be downloaded from GitHub:

Requirements

  • Perl 5.10.0 (or later). Debian: perl

  • OpenSSL (only needed for encrypted streams). Debian: openssl

  • HTML::Parser Perl module. Debian: libhtml-parser-perl

  • LWP::UserAgent Perl module. Debian: libwww-perl

  • JSON Perl module. Debian: libjson-perl

  • URI Perl module. Debian: liburi-perl

Usage

All you need to specify on the command line is the URL to fetch. hls-fetch will download the page and look for a <video> tag. If you know the M3U playlist URL, then use the --playlist parameter along with the URL to tell hls-fetch to download the playlist directly.

Run 'hls-fetch --help' for further usage information.

Future

On SIGINT and other terminating signals, make sure temporary files are removed.

Autodetect data in URL so that the --embedded/--playlist/--svtplay options are not necessary.

References