I have given a friend of mine to make a GUI out of the code that was already there, and it will probably soon be done + it would be open source github.
Here is a preview:
I have given a friend of mine to make a GUI out of the code that was already there, and it will probably soon be done + it would be open source github.
Here is a preview:
So people have been asking about it and I was busy but I still went through the code just in case I put some secret or something accidently in the code. It seems like everything is fine.
Here is the code to Django app:
https://drive.google.com/file/d/1B0AC7eHqOy3DSI1j6lOP5v_RbphfJp7X/view?usp=sharing
I'll soon share executable python scripts you can directly run for on a video file.
One of the main concerns here is that X265 drinks up a lot of your CPU in exchange for giving a very good clear video file.
I have done a lot, and when I say a lot, literally months (4 months = ~120 days) of comparison with different types of x265 and x264 settings.
And at the end what software do I use to encode episodes? FFMPEG
Yup, it's as simple as that. Though older versions won't work out, the recent one's have latest x265 features after all. Just download it from google.
Look, I'm not going to waste your time to read all the stuff I want to say and I'll just give you the settings.
{ 'c:a': 'aac', 'c:v': 'libx265', 'b:a': '192k', 'profile:v': 'main', 'x265-params': ':'.join([ 'me=2', 'rd=4', 'subme=7', 'aq-mode=3', f'aq-strength=1', f'deblock=1,1', f'psy-rd=1', f'psy-rdoq=1', 'rdoq-level=2', 'merange=57', 'bframes=8', 'b-adapt=2', 'limit-sao=1', 'frame-threads=3', 'no-info=1', ]), 'crf': 24.2, 'preset': 'slow', 'pix_fmt': 'yuv420p', 'vf': ','.join([ 'smartblur=1.5:-0.35:-3.5:0.65:0.25:2.0', 'scale=1920:1080:spline16+accurate_rnd+full_chroma_int' ]), 'metadata': 'Encoder Settings=Redacted, CPU - 2xAMD EPYC 7282 32 cores/64 threads, GPU - None used', 'color_range': 1, 'color_primaries': 1, 'colorspace': 1, 'color_trc': 1, }
ffmpeg -i input.mkv -map 0:v -map 0:a -b:a 192k -c:a aac -c:v libx265 -color_primaries 1 -color_range 1 -color_trc 1 -colorspace 1 -crf 24.2 -map 0:s? -pix_fmt yuv420p -preset slow -profile:v main -vf smartblur=1.5:-0.35:-3.5:0.65:0.25:2.0,scale=1920:1080:spline16+accurate_rnd+full_chroma_int -x265-params me=2:rd=4:subme=7:aq-mode=3:aq-strength=1:deblock=1,1:psy-rd=1:psy-rdoq=1:rdoq-level=2:merange=57:bframes=8:b-adapt=2:limit-sao=1:frame-threads=3:no-info=1 output.mp4 -y
Now if you have spare time to read my rantings about what I found when I was researching.
First of all you see that frame-threads over there? If you are running only one instance of ffmpeg command on your pc then no need of that. But yea having frame-threads to 3 gives you extra space threads/cores to encode more episodes parallelly (if you have equal or more than 16 total threads and on linux) if you have enough free threads/cores available. With the CPU I was using 2 x AMD EPYC 7282, 32 cores 2.8GHz 64 threads (I swear it was $260 when I bought it, during Covid rate changes in a blink of an eye) most of the time 90% of CPU was taken by FFMPEG when it was encoding 5 episodes at the same time. Others were for NGINX and Webserver.
I have given a friend of mine to make a GUI out of the code that was already there, and it will probably soon be done + it would be open so...