Netflix-videos-downloader

  1. Install python 3.10.0, be sure to add python to PATH while installing it

https://www.python.org/ftp/python/3.10.0/python-3.10.0-amd64.exe

https://datatofish.com/add-python-to-windows-path/

  1. Install the dependencies by using this command

    pip install -r requirements.txt

or run

install.requirements.bat
  1. Go to the folder Netflix-videos-downloader-main\configs and add your email and password in Netflix in config.py (open the file with Notepad++), search for

    "email": "enter your email address here", # Enter the email address of your Netflix account here "password": "enter your password here", # Enter the password of your Netflix account here

and replace "enter your email address here" with the email of your account in Netflix, and replace "enter your password here" with the password of your account in Netflix, and it will be like

"email": "essam2021236@protonmail.com", # Enter the email address of your Netflix account here
"password": "N25&ns&25p7", # Enter the password of your Netflix account here

see the lines

https://github.com/Essam3152/Netflix-videos-downloader/blob/main/configs/config.py#L108-L109

  1. Install this Chrome extension

https://chrome.google.com/webstore/detail/get-cookiestxt/bgaddhkoddajcdgocldbbfleckgcbcid

and go to netflix.com and download the cookies, rename the file to cookies.txt and put it in

Netflix-videos-downloader-main\configs\Cookies

For Firefox use this addon

https://addons.mozilla.org/en-US/firefox/addon/cookies-txt-one-click/

  1. In the script's folder three batches

a. download.video.bat

for downloading the video in AVC high profile with the audio and subtitles (the video usually be in small size with low bitrate)

python NFripper.py --high

for downloading the video in Main profile with the audio and subtitles (the video usually be in big size with high bitrate)

python NFripper.py --main

or use

python NFripper.py

and the script will download the video with the highest bitrate (which usually will be in Main profile)

If you want to downlod the video for a specific seasons or all the seasons use

python NFripper.py 80014749 -s 1

python NFripper.py 80014749 -s 1,3,5

python NFripper.py 80014749 -s 1-5

to download the video in 720p use

python NFripper.py --high -q 720

or

python NFripper.py --main -q 720

to download the video in 480p use

python NFripper.py --main480 -q 480

If you do not want to download the subtitles use

python NFripper.py --high --ns

The script does not support decrypting the videos with HDR profile or HEVC profile, do not use --hdr or --hevc

When you run any of the three batches you will be asked for the URL of the TV Show or the movie in Netflix

for example use this link to download the video of Rick and Morty

https://www.netflix.com/title/80014749

or you could add the ID like this

python NFripper.py 80014749 --high

The downloads will be saved in the folder "Netflix-videos-downloader-main\downloads\netflix"

For adding more options use the instructions in NFripper.py, open the file with Notepad++.

b. download.subtitles.bat

for downloading only the subtitles

change eng to the language you need to download the subtitles in

python NFripper.py --nv --na --keep --slang eng

to download the subtitles in multiple languages use

python NFripper.py --nv --na --keep --slang eng fra rus pol

If you want to downlod the subtitles for a specific episode or episodes use

python NFripper.py --nv --na --keep --slang eng -s 1 -e 8

python NFripper.py --nv --na --keep --slang eng -s 1 -e 1-3

python NFripper.py --nv --na --keep --slang eng -s 1 -e 2,4,7

You could download the subtitles of all the seasons by using

python NFripper.py 70153404 --nv --na --keep -s 1-10 --slang eng

remove --slang eng if you want to download the subtitles in all of the available languages in Netflix of your country.

To select only the subtitle in the English language to download you could modify NFripper.py by replacing

parser.add_argument("--slang", dest="sublang", nargs="*", help="download only selected subtitle languages", default=[],)

with

parser.add_argument("--slang", dest="sublang", nargs="*", help="download only selected subtitle languages", default=['eng'],)

https://github.com/Essam3152/Netflix-videos-downloader/blob/main/NFripper.py#L26

To set the default subtitles language in config.py replace

"SUB": "None",

with the language you want, for example for the English language to be the default subtitles language use

"SUB": "eng",

https://github.com/Essam3152/Netflix-videos-downloader/blob/main/configs/config.py#L36

To download the subtitles in all of the languages and all the forced subtitles use

python NFripper.py --nv --na --keep --all-forced

To download the forced subtitles in specific languages use

python NFripper.py --nv --na --keep --flang jpn tha 

c. download.audio.bat

for downloading only the audio

change eng to the language you need to download the audio in

python NFripper.py --ns --nv --keep --alang eng

to download the audio in multiple languages use

python NFripper.py --ns --nv --keep --alang eng fra rus pol

To download the audio in all the available languages use

python NFripper.py --ns --nv --keep --all-audios

To download the audio in 2 channels only use

python NFripper.py --ns --nv --keep --only-2ch-audio

To select only the audio in the English language to download you could modify NFripper.py by replacing

parser.add_argument("--alang", dest="audiolang", nargs="*", help="download only selected audio languages", default=[],)

with

parser.add_argument("--alang", dest="audiolang", nargs="*", help="download only selected audio languages", default=['eng'],)

https://github.com/Essam3152/Netflix-videos-downloader/blob/main/NFripper.py#L24

To set the default audio language in config.py replace

"AUDIO": "None",

with the language you want, for example for the French language to be the default audio language use

"AUDIO": "fra",

https://github.com/Essam3152/Netflix-videos-downloader/blob/main/configs/config.py#L35

To download the audio in AAC codec use

python NFripper.py 80014749 --ns --nv --keep --alang eng -s 1 -e 1 --aformat-51ch aac

or

python NFripper.py 80014749 --ns --nv --keep --alang eng -s 1 -e 1 --aformat-2ch aac

To download the audio in a specific bitrate use

python NFripper.py 81185548 --audio-bitrate 384

If you got the error message "title is not available in your Netflix region" in Netflix-videos-downloader-main\configs\Cookies delete cookies_nf.txt and add a new cookies.txt

Don't put any files in the folder Netflix-videos-downloader-main\configs\Tokens, the script will generate netflix_token.json by itself.

For the language codes see here.

https://github.com/Essam3152/Netflix-videos-downloader/blob/main/helpers/Muxer.py#L320-L416

https://github.com/Essam3152/Netflix-videos-downloader/blob/main/helpers/ripprocess.py#L372-L404

In case of getting any error messages with aria2c you could disable it by adding the command --no-aria2c

python NFripper.py --no-aria2c --high

To download the Interactive TV shows and movies, in MSLClient.py which is in the folder helpers/Parsers/Netflix/ in this line change it to "isBranching": True and after you download the video change it to "isBranching": False.

https://github.com/Essam3152/Netflix-videos-downloader/blob/main/helpers/Parsers/Netflix/MSLClient.py#L164

https://help.netflix.com/en/node/62526