AlexAplin / nndownload

Download and process links from Niconico (nicovideo.jp)
MIT License
213 stars 28 forks source link

Implement a native HLS downloader #159

Closed fireattack closed 2 months ago

fireattack commented 2 months ago

that supports multi-thread. Merge A/V streams using ffmpeg if needed.

This fixes #148. Afterwards, it should also be trivial to add proxy support (#150), too.

fireattack commented 2 months ago

Added parallelizing for A/V download.

This is surprisingly more complicated than I thought because of .. progress bar.

Apparently, tqdm.rich does not support position=N parameters (for multiple bars).

I can just use plain tqdm, or rich.Progress. They all would look different than tqdm.rich used in FfmpegDL for merging.

I chose rich.Progress. I suppose I can check the source code of tqdm.rich and see their implementation so we can just copy the look of it, but I think I would rather use my time on something more useful.

AlexAplin commented 2 months ago

I'm not particular at all about the bar used, we just need to settle on something that works. Thanks to your efforts we'll finally get something stable. 🙂