Skip to content

About

e2iplayer dependencies

Resources

Stars

0 stars

Watchers

7 watching

Forks

Repository files navigation

e2iplayer-deps

Native helper binaries and the C subtitle parser bundled with E2iPlayer. Shipped as the enigma2-plugin-extensions-e2iplayer-deps package, built from the OE/OpenATV feed recipe.

Github status

build deps Github last commit GitHub Activity Issues Platform

Component versions (bumped by hand alongside each component's own version string)

hlsdl e2isubparser lsdir cmdwrap f4mdump

SonarCloud status

Fills in once a SONAR_TOKEN secret is added and the project is created at sonarcloud.io (org oe-mirrors, key oe-mirrors_e2iplayer-deps) - see the header of .github/workflows/sonarcloud.yml.

Quality Gate Status Vulnerabilities Security Rating Bugs Code Smells Duplicated Lines (%) Reliability Rating Maintainability Rating

SonarQube Cloud


See BUILDING.md for how to build the components outside the OE feed.


lsdir

Fast directory lister used by the plugin's file browser. lsdir --version prints the version string.

cmdwrap

Command-line argument splitter.

e2isubparser

Python C-extension for text subtitle parsing (SRT / SSA / TTML / EBU-TT). The TTML path uses a vendored Expat 2.8.5 (e2isubparser/src/expat, the lib/ sources of the release tarball).

f4mdump

Simple F4M / HDS (Adobe HTTP Dynamic Streaming) dumper. It shells out to wget for the transfers rather than linking an HTTP library.

List bitrates:  f4mdump "/path/to/wget [extra params]" "http://url.to/Manifest.f4m"
Download:       f4mdump "/path/to/wget [extra params]" "http://url.to/Manifest.f4m" "/path/to/outfile" [bitrate]

hlsdl

Downloads VOD and live HLS (.m3u8) streams to a single file. Handles MPEG-2 Transport Stream and fragmented MP4 / CMAF segments, EXT-X-MAP initialization segments (fMP4 and TS), EXT-X-BYTERANGE, discontinuities, AES-128 / SAMPLE-AES decryption, and TS segments disguised as images (an image header in front of the MPEG-TS data is cut off).

Requires libcurl and libcrypto.

Linux:    make && make install && make clean
Windows:  hlsdl/msvc/BUID_WINDOWS.txt

Usage

hlsdl [options] url

-b ... Automatically choose the best quality.
-W ... Choose largest width lower or equal than this.
-H ... Choose largest height lower or equal than this.
-A ... Select audio language.
-v ... Verbose more information.
-q ... Print less to the console.
-o ... Choose name of output file ("-" alias for stdout).
-f ... Force overwriting the output file.
-R ... Resume an interrupted VOD download (keeps a <output>.hlsdl.resume sidecar).
-F ... Force ignore detection of DRM.
-u ... Set custom HTTP User-Agent header.
-h ... Set custom HTTP header.
-p ... Set proxy uri.
-C ... Cookie file (old Netscape / Mozilla format).
-k ... Allow to replace part of AES key uri - old.
-n ... Allow to replace part of AES key uri - new.
-K ... Force AES key value (hexstring).
-d ... Print the openssl decryption command.
-t ... Print the links to the .ts files.
-s ... Set live start offset in seconds.
-i ... Set live stream download duration in seconds.
-e ... Set refresh delay in seconds.
-r ... Set max retries at open.
-w ... Set max download segment retries.
-a ... Set additional url to the audio media playlist.
-c ... Treat HTTP 206 as 200 even without a range request.

Not handled (E2iPlayer routes these through its own ffmpeg/gstreamer pipeline): Widevine / PlayReady / FairPlay (CENC / cbcs), real muxing, and bit-exact remuxing across codec parameter changes.


📜 License Information License: GPL v3

This repository ships more than one license:

Component License
hlsdl MIT — see hlsdl/LICENSE
lsdir, cmdwrap, e2isubparser, f4mdump GPLv3, released as part of E2iPlayer — see its LICENSE.txt
vendored Expat (in e2isubparser) MIT
vendored VLC / FFmpeg subtitle snippets (in e2isubparser) LGPL 2.1+
vendored librtmp from rtmpdump v2.6 (in f4mdump) LGPL 2.1 — see f4mdump/ext/librtmp/COPYING
vendored TinyXML-2 11.0.0 (in f4mdump) zlib

The E2iPlayer-authored components are free software; you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation. Vendored third-party code keeps its own upstream license.

GPLv3 logo


🤝 Contributing

Pull requests welcome. Fork, branch, commit with a clear message, open a PR. CI (build deps) runs on every push and PR.

About

e2iplayer dependencies

Resources

Stars

0 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages