Initial import: Music_Server, MusicFree, catalog-sync

This commit is contained in:
2026-05-23 16:51:14 +08:00
commit 069af30dba
847 changed files with 179878 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
# Musicdl Installation
#### Environment Requirements
- Operating system: Linux, macOS, or Windows.
- Python version: Python 3.9+ with requirements in [musicdl requirements.txt](https://github.com/CharlesPikachu/musicdl/blob/master/requirements.txt).
#### Installation Instructions
You have three installation methods to choose from,
```sh
# from pip
pip install musicdl
# from github repo method-1
pip install git+https://github.com/CharlesPikachu/musicdl.git@master
# from github repo method-2
git clone https://github.com/CharlesPikachu/musicdl.git
cd musicdl
python setup.py install
```
Some of the music downloaders supported by musicdl require additional CLI tools to function properly, mainly for decrypting encrypted search/download requests and audio files.
These CLI tools include,
- [FFmpeg](https://www.ffmpeg.org/): At the moment, only `TIDALMusicClient` and `AppleMusicClient` depends on FFmpeg for audio file decoding.
If you dont need to use `TIDALMusicClient` and `AppleMusicClient` when working with musicdl, you dont need to install FFmpeg.
After installing it, you should run the following command in a terminal (Command Prompt / PowerShell on Windows, Terminal on macOS/Linux) to check whether FFmpeg is on your system `PATH`:
```bash
ffmpeg -version
```
If FFmpeg is installed correctly and on your `PATH`, this command will print the FFmpeg version information (*e.g.*, a few lines starting with `ffmpeg version ...`).
If you see an error like `command not found` or `'ffmpeg' is not recognized as an internal or external command`, then FFmpeg is either not installed or not added to your `PATH`.
- [Node.js](https://nodejs.org/en): Currently, only `YouTubeMusicClient` in musicdl depends on Node.js, so if you dont need `YouTubeMusicClient`, you dont have to install Node.js.
Similar to FFmpeg, after installing Node.js, you should run the following command to check whether Node.js is on your system `PATH`:
```bash
node -v (npm -v)
```
If Node.js is installed correctly, `node -v` will print the Node.js version (*e.g.*, `v22.11.0`), and `npm -v` will print the npm version.
If you see a similar `command not found` / `not recognized` error, Node.js is not installed correctly or not available on your `PATH`.
- [N_m3u8DL-RE](https://github.com/nilaoda/N_m3u8DL-RE): N_m3u8DL-RE is a powerful open-source command-line tool for downloading, decrypting, and muxing HLS/DASH (m3u8/mpd) streaming media into local video files.
In musicdl, this library is mainly used for handling `TIDALMusicClient` and `AppleMusicClient` audio streams, so if you dont need `TIDALMusicClient` and `AppleMusicClient` support, you dont need to install it.
After installing N_m3u8DL-RE, you need to make sure all of its executables are available in your system `PATH`.
A quick way to verify this is that you should be able to run
```bash
python -c "import shutil; print(shutil.which('N_m3u8DL-RE'))"
```
in Command Prompt and get the full path without an error.
- [Bento4](https://www.bento4.com/downloads/): Bento4 is an open-source C++ toolkit for reading, writing, inspecting, and packaging MP4 files and related multimedia formats.
In musicdl, this library is mainly used for handling `AppleMusicClient` audio streams, so if you dont need `AppleMusicClient` support, you dont need to install it.
After installing Bento4, you need to make sure all of its executables are available in your system `PATH`.
A quick way to verify this is that you should be able to run
```bash
python -c "import shutil; print(shutil.which('mp4decrypt'))"
```
in Command Prompt and get the full path without an error.
- [amdecrypt](https://github.com/CharlesPikachu/musicdl/releases/tag/clitools): amdecrypt is a command-line tool developed by AI that leverages Bento4's mp4decrypt to process Apple Music encrypted files into playable formats.
You can obtain it from the [GitHub Releases](https://github.com/CharlesPikachu/musicdl/releases/tag/clitools) of this repository.
After installing amdecrypt, you need to make sure all of its executables are available in your system `PATH`.
A quick way to verify this is that you should be able to run
```bash
python -c "import shutil; print(shutil.which('amdecrypt'))"
```
in Command Prompt and get the full path without an error.