QHD나 4K 모니터 쓰는 사람들이 애니를 고화질로 보는 방법 중 하나임.


AI가 발달하면서 프레임보간 및 업스케일도 AI로 가능해졌음.
여기서 AI에 대해 반감을 가지는 이유는 창작자들이 피해를 입기 때문인거라 
이런 보정기술은 딱히 나쁘게 볼건 없음.

AI가 다 나쁜거라 생각한다면 갤럭시 S24도 사면 안됨..


일반적으로 "TV 애니메이션"은 HD(720p)로 제작함. BD로 나오는 1080p 역시 업스케일 결과물.

아래는 원피스의 오프닝의 일부 720p



이걸 프레임을 2배로 보간하고 

3배 업스케일하면 (720x3 = 2160p= 4K)



모니터가 4K인 사람이면 확실한 차이가 느껴질 거임.
이게 원래는 옛날 애니메이션을 고화질로 복원하려고 만들어진 모델이었을텐데 

오히려 옛날애니 돌리면 왜곡이 일어나고, 최근애니가 효과가 더 좋음;;


일단 프레임 보간방법

https://nmkd.itch.io/flowframes


유료는 좀더 최신 모델을 사용할 수 있지만 일단 무료로 가능함.



사용법은 간단함. interpolation (보간)탭에서 비디오파일을 불러와서 interpolate! 버튼 누르면 됨.
다만 첫 사용시엔 모델을 다운로드받고 설치하는데 시간이 좀 걸림.

그리고 보간AI는 nvidia그래픽카드를 써야 좋다는거 같음. 라데온이나 내장그래픽을 쓴다면 심심한 애도를 표함.


문제는 업스케일인데 이건좀 귀찮음.

FFMPEG부터 다운.

https://www.gyan.dev/ffmpeg/builds/#git-master-builds


적당히 간결한 경로로 압축을 풀고 bin 폴더로 들어감.


그리고 업스케일AI모델을 다운받자

https://github.com/xinntao/Real-ESRGAN/releases/tag/v0.2.5.0


그리고 아까 그 ffmpeg의 bin 폴더에 압축을 푼다.



input1 / output1 폴더를 각각 새로 만들어준다.


그리고 업스케일할 영상을 이 폴더로 가져오고 예시를 들어 업스케일 해보자.


위에 올린 3초짜리 영상을 예로 들자면 파일명을 간단하게 asd.mp4로 변경하였음.


원본 프레임이 29.87003인데 이걸 2배로 뻥튀기해서 59.94006으로 보간한다는걸 알수 있음.


결과물의 파일명이 너무 길어서 간단하게 바꿔줌.

그리고 이 보간된 결과물을 업스케일하기 위해 프레임을 추출함.



저기 클릭해서 cmd. 엔터를 누르면


이렇게 명령 프롬프트가 열림.

이제 프레임 추출 명령어

ffmpeg -i asd2.mp4 -q:v 1 -qmin 1 -qmax 1 input1\%08d.jpg


이렇게 하면 input1폴더에 프레임이 추출됨.



이제 업스케일 명령어

realesrgan-ncnn-vulkan.exe -i input1 -o output1 -n realesr-animevideov3 -s 3 -f jpg


input1폴더 내용물을 output1폴더에 3배로 업스케일한다는 거임.

-s 2 로 적으면 2배가 되니 1440p

-s 3 이면 3배니까 2160p가 되는것.

그래픽카드 성능에 따라 속도가 크게 차이나며, 긴 애니메이션이라면 꽤 오래걸림.



왼쪽이 인풋 / 오른쪽이 아웃풋(업스케일링)의 첫번째 프레임. 그냥 비교용으로 올려봄.


이제 업스케일된 프레임을 영상으로 합쳐줘야함.

ffmpeg -r 59.94006 -i output1\%08d.jpg -vcodec libx265 -r 59.94006 -crf 20 -pix_fmt yuv420p output1.mp4


아까 프레임 보간프로그램을 통해 2배로 뻥튀기 되서 59.94006 이 되었으니 이 속도로 영상을 만들겠다는 것이며

crf값이 퀄리티인데, 더 높은 화질로 하려면 18로 줄여도 되고, 용량을 줄이려면 22정도로 올려도 됨.


이렇게 만든 영상은 오디오가 없음. 프레임(그림)으로 추출해서 업스케일하고 그걸로 영상을 만든 것이기 때문.

이제 이 영상에 원본영상의 음원을 추출하여 합쳐줘야함.

원본 영상에서 음원 추출

ffmpeg -i asd.mp4 -f mp3 -ab 192000 -vn -async 1 testAudio1.mp3


그리고 아웃풋된 영상에 음원 입히기

ffmpeg -i output1.mp4 -i testAudio1.mp3 -c copy Final1.mp4


Final1.mp4 가 최종 결과물이라 볼 수 있음.



이러한 순서


----명령어만 따로 모아서 다시 보기쉽게 정리


(프레임추출 / 업스케일 / 영상제작 / 음원추출 / 음원입히기)

(4k화질이 용량이 부담되면 업스케일 명령어 -s 2 로 바꿔서 1440p로 하는거 추천)


ffmpeg -i asd2.mp4 -q:v 1 -qmin 1 -qmax 1 input1\%08d.jpg

realesrgan-ncnn-vulkan.exe -i input1 -o output1 -n realesr-animevideov3 -s 3 -f jpg

ffmpeg -r 59.94006 -i output1\%08d.jpg -vcodec libx265 -r 59.94006 -crf 20 -pix_fmt yuv420p output1.mp4

ffmpeg -i asd.mp4 -f mp3 -ab 192000 -vn -async 1 testAudio1.mp3

ffmpeg -i output1.mp4 -i testAudio1.mp3 -c copy Final1.mp4