51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
# m3u8downloaderd
|
|
|
|
`m3u8downloaderd` is an in-memory local-network web interface for the adjacent
|
|
`N_m3u8DL_py` package. It requires Python 3.10+ and a system `ffmpeg`.
|
|
|
|
## Docker
|
|
|
|
From the repository root, start the service and build its image when needed:
|
|
|
|
```bash
|
|
docker-compose up
|
|
```
|
|
|
|
Open `http://127.0.0.1:8000`. Downloaded files are written to the repository's
|
|
`downloads/` directory. Use `docker-compose down` to stop the service.
|
|
|
|
Install both local packages into the same environment:
|
|
|
|
```bash
|
|
python -m pip install -e ./N_m3u8DL_py -e ./m3u8downloaderd
|
|
```
|
|
|
|
Start the service:
|
|
|
|
```bash
|
|
python -m m3u8downloaderd \
|
|
--host 0.0.0.0 \
|
|
--port 8000 \
|
|
--download-root /tmp \
|
|
--max-active-downloads 2 \
|
|
--max-active-ffmpeg 2
|
|
```
|
|
|
|
The service exposes no authentication. Use it only on a trusted network. The
|
|
folder chooser is restricted to `--download-root` and its descendants.
|
|
Tasks, progress, history, and settings exist only while the process is running;
|
|
restarting the service clears them. Downloaded media files remain on disk.
|
|
`--max-active-downloads` sets the initial video download concurrency.
|
|
`--max-active-ffmpeg` sets the initial ffmpeg post-processing concurrency; when
|
|
omitted, it defaults to the download concurrency. Both can be changed while the
|
|
service is running from the Settings tab, independently, with a supported range
|
|
of 1 to 32. Finished segment downloads enter a FIFO ffmpeg queue so slow media
|
|
processing does not occupy download slots. Runtime logs are available in the
|
|
Log tab and remain in memory only.
|
|
|
|
Run tests from the repository root:
|
|
|
|
```bash
|
|
PYTHONPATH=N_m3u8DL_py/src:m3u8downloaderd/src python -m pytest m3u8downloaderd/tests
|
|
```
|