Files
m3u8dl/m3u8downloaderd
2026-09-26 14:24:05 +08:00
..
2026-09-26 13:55:43 +08:00
2026-09-26 13:55:43 +08:00
2026-09-26 13:55:43 +08:00
2026-09-26 13:55:43 +08:00
2026-09-26 14:24:05 +08:00

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:

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:

python -m pip install -e ./N_m3u8DL_py -e ./m3u8downloaderd

Start the service:

python -m m3u8downloaderd \
  --host 0.0.0.0 \
  --port 8000 \
  --download-root /tmp \
  --max-active-downloads 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 concurrency. It can be changed while the service is running from the Settings tab, with a supported range of 1 to 32 videos. Runtime logs are available in the Log tab and remain in memory only.

Run tests from the repository root:

PYTHONPATH=N_m3u8DL_py/src:m3u8downloaderd/src python -m pytest m3u8downloaderd/tests