Netflix Audio Ripper - Download audio tracks from Netflix to sample your favourite shows. :musical_note:
Close all browser instances and start Chrome, Brave or Edge from the terminal with enabled remote debugging :
google-chrome --remote-debugging-port=9222
brave-browser --remote-debugging-port=9222
./msedge.exe --remote-debugging-port=9222
narr "https://www.netflix.com/watch/12345678?trackId=12345678"
Observe the progress in the terminal:
2023/02/18 18:34:25 ▼ Downloading https://www.netflix.com/watch/81237996?trackId=14170056 ⟾ /home/looper/81237996-14170056-4037200794235010051
2023/02/18 18:34:35 ✓ Finished https://www.netflix.com/watch/81237996?trackId=14170056 ⟾ /home/looper/81237996-14170056-4037200794235010051, got 65346400 bytes
You can navigate to any other show or episode or change the language of the audio track while narr is running. It will download the audio track of the currently playing episode.
2023/02/18 18:34:25 ▼ Downloading https://www.netflix.com/watch/81237996?trackId=14170056 ⟾ /home/looper/81237996-14170056-4037200794235010051
2023/02/18 18:34:35 ✓ Finished https://www.netflix.com/watch/81237996?trackId=14170056 ⟾ /home/looper/81237996-14170056-4037200794235010051, got 65346400 bytes
2023/02/18 16:59:42 🗺Navigate to https://www.netflix.com/watch/81238005?trackId=14170056
2023/02/18 16:59:43 ▼ Downloading https://www.netflix.com/watch/81238005?trackId=14170056 ⟾ /home/looper/81238005-14170056-605394647632969758
2023/02/18 16:59:53 ✓ Finished https://www.netflix.com/watch/81238005?trackId=14170056 ⟾ /home/looper/81238005-14170056-605394647632969758, got 65346400 bytes
It is also possible to navigate to the Netflix home page. Narr will then download audio tracks of trailers or previews.
Narr uses the Chrome DevTools Protocol to communicate with the browser. It intercepts the network requests and downloads the audio tracks in mp4 format. This is possible because the audio is not protected by DRM.
Narr is written in Go. You can build it from source with the following commands:
git clone https://github.com/IljaN/narr.git
make build_all
This builds binaries for Linux, Windows and MacOS (amd64 + arm64) and places them in the bin
directory.
narr --help
~/c/narr:λ ./narr --help
Usage: narr [--chrome-url CHROME-URL] VIDEOURL [DOWNLOADDIR]
Positional arguments:
VIDEOURL url of the video to download audio from. Must be a netflix url. e.g. https://www.netflix.com/watch/12345678?trackId=12345678
DOWNLOADDIR directory where to download the audio files. Defaults to current working directory.
Options:
--chrome-url CHROME-URL, -c CHROME-URL
url of the chrome debugger. [default: http://127.0.0.1:9222]
--help, -h display this help and exit