Wrapper for Anime4K
Makes it easy to encode a Anime using the MPV shaders with predefined encoding profiles!
What you need:
- Linux (sorry its the fault of mpv)
- Python 3.X
- mpv > 0.32
- ffmpeg
- mkvnixtool (e.g mkvtoolnix on Ubuntu)
- mediainfo (e.g libmediainfo-dev mediainfo on Ubuntu)
- A dedicated GPU (no VM) [AMD/NVIDIA/Intel]
Installing the necessary python libs
pip3 install -r requirements.txt
Download the latest shaders (GLSL (v3.1 Stable)) from here. Put them all into one folder for example called shaders
Assuming your Anime Movie/Episode is called input.mkv and has a resolution of 1920x1080. Now you want to upscale it to 4K (3840x2160). Here are the commands you would run.
- Encode the Video (to x264 and upscale it using the shader with the first Option [CPU])
python3 Anime4K.py -m shader --shader_dir "./shaders" --width 3840 --height 2160 -i input.mkv --output x264_upscale.mkv
- Choose the option CPU (only x264 4:4:4)... (for this example)
- Follow the dialogues - they should be pretty self explanatory
- Your file should now be in x264_upscale.mkv
- Now we need to encode the file to x265 10bit
python3 Anime4K.py -m encode -i x264_upscale.mkv --output x265_10bit.mkv
- Choose your desired encoding preset.
- The output file x265_10bit.mkv has no audio or subtitles we add them in the next step.
- Extract the audio and subtitles from the original file
python3 Anime4K.py -m audio -i input.mkv
python3 Anime4K.py -m subs -i input.mkv
- Now we have the audio files and subtitles in the current folder.
- Now lets add them into the final output
python3 Anime4K.py -m mux -i x265_10bit.mkv -o input_upscaled_with_audio_and_subs.mkv
Feel free to explore the other options of the program (or profiles) by typing:
python3 Anime4K.py --help
To get a overview of your current encoding of ffmpeg you may install the ffmpeg-progressbar-cli
npm install --global ffmpeg-progressbar-cli
Don't worry the script will also work with normal ffmpeg.
- Encode Videos with Anime4K shaders easily
- Encode using NVENC or CPU
- Extract Audio and subtitles automatically
- Predefined profiles for Anime4K and ffmpeg
If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.
-
Related projects:
- [Huge thanks!] Anime4K: https://github.com/bloc97/Anime4K
- video2x: https://github.com/k4yt3x/video2x
-
Thanks to:
- ffmpeg-progressbar-cli: https://github.com/sidneys/ffmpeg-progressbar-cli
- simple-term-menu: https://github.com/IngoHeimbach/simple-term-menu
The code in this project is licensed under GNU GENERAL PUBLIC LICENSE.