Skip to content

Engines ​

Downloaders are the core of the application. They are responsible for downloading the video stream from the source. The application supports three downloaders: Kotlin, FFMPEG, and Streamlink. Each downloader has its own features and limitations.

The FFMPEG downloader is the default downloader and is the most stable and reliable. It is written in C and is capable of downloading FLV and HLS streams. It is the most efficient downloader in terms of CPU and memory usage. However, it does not support multithreading for HLS downloads.

NOTE

The FFMPEG shipped with the docker image is a modified version that supports Chinese non-standard HEVC containers. The original FFMPEG can be found here.

1. Engines Feature List ​

FeatureKotlinFFMPEGSTREAMLINK
FLV Download✅✅❌
HLS Download✅
(Multithreaded)
✅✅
(Multithreaded)
Recording Duration Stats✅
(Raw data mode not supported)
✅✅
Download Bitrate Stats✅✅
(-f segmentation not supported)
✅
(-f segmentation not supported)
Size Segmentation✅
(Raw data mode not supported)
✅
(-f segmentation not supported)
✅
Duration Segmentation✅
(Raw data mode not supported)
✅✅
Download FormatFLV, M3U8,TS, M4SSupports other formatsSupports other formats
FLV AVC Repair✅❌❌
CPU UsageMedium
(Repair enabled)
LowLow
Memory UsageMedium
(Repair enabled)
LowMedium

2. FLV AVC Repair Feature List ​

FeatureEngine Action
Timestamp JumpsFix using delta
Video Header Changes (Resolution, Other Parameters)Split file
Audio Header ChangesSplit file
AMF Metadata Injection (lastheadertimestamp, keyframes...)Inject
Duplicate TAG (experimental)Ignore