CRF 값이란? 낮을수록 화질 좋아지는 이유

동영상 압축 도구를 열면 가장 먼저 마주치는 값이 CRF입니다. 그런데 이 숫자를 어느 쪽으로 움직여야 용량이 줄어드는지 헷갈리는 경우가 많습니다. 숫자를 낮췄더니 오히려 파일이 커지고, 높였더니 용량은 줄었는데 화질이 뭉개지는 경험을 하고 나면 더 헷갈립니다.
이 혼란은 CRF를 "압축률"로 이해하기 때문에 생깁니다. CRF는 압축을 얼마나 세게 할지 정하는 값이 아니라, 인코더가 지켜야 할 화질 목표치를 정하는 값입니다. 이 방향을 이해하면 숫자와 결과가 반대로 움직이는 이유가 자연스럽게 풀립니다.
요약 ① CRF는 압축률이 아니라 화질 목표치를 지정하는 값이라, 숫자가 작을수록 화질은 좋아지고 용량은 커집니다. ② 인코더는 그 화질 목표치를 지키기 위해 필요한 만큼만 비트를 씁니다. 그래서 같은 CRF라도 장면 내용에 따라 결과 용량이 달라집니다. ③ 결과 용량을 정확한 숫자로 맞추고 싶다면 CRF가 아니라 목표 비트레이트를 직접 지정하는 방식이 더 맞습니다.
CRF는 왜 "압축률"이 아니라 "화질 목표치"인가
파일 압축이라고 하면 흔히 "얼마나 줄일지" 비율을 먼저 정한다고 생각하기 쉽습니다. 하지만 CRF(Constant Rate Factor) 방식은 반대로 동작합니다. 결과 용량을 먼저 정해두는 게 아니라, "이 정도 화질은 유지하라"는 목표선을 하나 정해두고, 그 목표를 지키는 데 필요한 비트를 인코더가 장면마다 알아서 배분하게 만드는 방식입니다.
그래서 CRF 슬라이더를 움직이는 것은 "압축을 세게/약하게" 조절하는 게 아니라, "허용할 화질 저하의 기준선을 어디에 둘지" 조절하는 일에 더 가깝습니다. 결과 용량은 이 목표치를 지키고 난 뒤에 따라오는 부산물입니다.
숫자가 작을수록 화질이 좋아지고 용량은 커지는 이유
CRF 값이 작다는 것은 "화질을 거의 낮추지 말라"는 엄격한 목표를 준다는 뜻입니다. 인코더는 이 엄격한 기준을 지키기 위해 장면마다 더 많은 비트를 씁니다. 비트를 많이 쓸수록 세부 정보가 더 많이 남고, 그만큼 파일 용량도 커집니다.
반대로 CRF 값이 크다는 것은 "화질을 좀 낮춰도 괜찮다"는 느슨한 목표를 준다는 뜻입니다. 인코더는 세부 정보를 더 과감하게 걷어내며 비트를 아끼고, 그 결과 파일 용량이 작아지는 대신 화질도 함께 낮아집니다. 숫자와 결과가 반대 방향으로 움직이는 이유는 이 값이 애초에 "용량"이 아니라 "화질 기준선"을 가리키고 있기 때문입니다.
같은 CRF인데 영상마다 결과 용량이 다른 이유
CRF의 핵심은 인코더가 "목표 화질을 지키는 데 필요한 만큼만" 비트를 쓴다는 점입니다. 그런데 그 "필요한 만큼"은 영상 내용에 따라 크게 달라집니다.
화면 전환이 잦거나 움직임이 많은 장면은 매 프레임마다 새로 그려야 할 정보가 많습니다. 같은 화질 기준선을 지키려면 인코더가 이런 장면에 더 많은 비트를 투입해야 합니다. 반대로 카메라가 고정된 채 배경이 거의 변하지 않는 정적인 장면은 이전 프레임과 겹치는 정보가 많아서, 같은 화질 기준선을 지키는 데 필요한 비트가 훨씬 적습니다.
그 결과 CRF 값을 똑같이 28로 맞춰도, 움직임이 많은 영상은 정적인 영상보다 결과 파일이 더 커집니다. 이건 설정이 잘못된 게 아니라, CRF가 "고정된 압축 비율"이 아니라 "장면별로 달라지는 비트 배분"을 전제로 설계된 값이기 때문에 생기는 당연한 차이입니다. 반대로 결과 파일의 정확한 크기(예: 몇 MB 이하)를 미리 정해야 하는 상황이라면, CRF보다 목표 비트레이트를 직접 지정하는 방식이 더 적합합니다.
CRF 값과 해상도를 조절해 브라우저 안에서 바로 동영상을 압축하는 무료 도구. 파일은 서버로 전송되지 않습니다.

도구가 이 계산을 대신 처리하는 방식
동영상 압축 도구는 방금 설명한 CRF 개념을 화면의 슬라이더 하나로 옮겨 놓았습니다. 값을 18에 가깝게 낮출수록 화질 기준선이 엄격해져 용량이 커지고, 34에 가깝게 높일수록 기준선이 느슨해져 용량이 작아진다는 방향을 라벨로 바로 보여줍니다. 여기에 최대 해상도를 낮추는 옵션을 함께 쓰면, 애초에 인코더가 다뤄야 할 화면 정보 자체가 줄어들어 용량을 한 번 더 줄일 수 있습니다.
동영상 파일을 선택하면 화면에 원본 파일명과 용량이 표시되고, CRF 값과 해상도를 원하는 대로 맞춘 뒤 압축 시작 버튼을 누르면 처리가 시작됩니다. 이 처리는 브라우저 안에서 실제로 H.264 방식으로 다시 인코딩하는 과정이라 시간이 걸리며, 완료되면 원본 용량과 압축 후 용량, 그리고 그 차이(용량 변화율)를 함께 보여줘 방금 설명한 CRF의 효과를 숫자로 바로 확인할 수 있습니다.
같은 CRF 값을 써도 영상 내용에 따라 결과 용량이 달라진다는 점 때문에, "이 정도면 될까"를 감으로 짐작하기보다 실제로 한 번 처리해서 결과 용량과 화질을 눈으로 확인한 뒤 CRF 값을 조금씩 조정해 다시 처리하는 방식이 훨씬 정확합니다.
정리
- CRF는 압축률이 아니라 화질 목표치를 지정하는 값입니다. 숫자가 작을수록 화질 기준이 엄격해져 화질은 좋아지고 용량은 커집니다.
- 숫자가 클수록 화질 기준이 느슨해지고, 인코더가 비트를 아끼면서 용량은 작아지지만 화질도 함께 낮아집니다.
- 인코더는 목표 화질을 지키는 데 필요한 만큼만 비트를 쓰기 때문에, 같은 CRF 값이라도 움직임이 많은 장면은 정적인 장면보다 더 많은 비트를 씁니다.
- 그래서 같은 CRF로 압축해도 영상 내용에 따라 결과 파일 용량은 서로 다르게 나옵니다.
- 결과 파일의 정확한 크기를 미리 정해야 한다면 CRF보다 목표 비트레이트를 직접 지정하는 방식이 더 맞습니다.
CRF 값과 해상도를 조절해 브라우저 안에서 바로 동영상을 압축하는 무료 도구. 파일은 서버로 전송되지 않습니다.
자주 묻는 질문
CRF 값을 계속 낮추면 화질이 계속 좋아지나요?
목표 화질 기준이 계속 엄격해지는 것은 맞지만, 어느 지점을 지나면 원본과 육안으로 구분하기 어려운 수준에 이미 도달합니다. 그 이후로 값을 더 낮추면 눈에 띄는 화질 차이 없이 용량만 계속 커지는 구간에 들어가게 됩니다.
CRF와 비트레이트(kbps)를 직접 지정하는 방식은 뭐가 다른가요?
CRF는 화질 기준선을 먼저 정하고 그에 필요한 비트를 장면마다 다르게 쓰는 방식이라, 결과 용량이 영상 내용에 따라 달라집니다. 반면 비트레이트를 직접 지정하는 방식은 초당 쓸 데이터양을 먼저 고정하는 방식이라 결과 용량은 예측하기 쉽지만, 장면이 복잡해지면 그 고정된 비트 안에서 화질이 흔들릴 수 있습니다.
CRF를 똑같이 맞춰서 압축했는데 왜 어떤 영상은 다른 영상보다 용량이 훨씬 큰가요?
CRF는 고정된 압축 비율이 아니라 화질 기준을 지키는 데 필요한 만큼 비트를 쓰는 방식이기 때문입니다. 움직임이 많고 장면 전환이 잦은 영상은 같은 화질을 유지하기 위해 더 많은 비트가 필요해 결과 용량이 커지고, 화면 변화가 적은 정적인 영상은 상대적으로 적은 비트로도 같은 화질을 유지할 수 있어 용량이 작게 나옵니다.
압축했는데 오히려 원본보다 파일이 커지는 경우도 있나요?
있습니다. 원본이 이미 낮은 비트로 강하게 압축되어 있던 영상이라면, 지정한 CRF 기준의 화질을 지키기 위해 오히려 원본보다 더 많은 비트가 필요해져 결과 파일이 커질 수 있습니다. 이런 경우에는 CRF 값을 더 높이거나 최대 해상도를 낮춰서 다시 처리하면 용량을 줄이는 방향으로 조정할 수 있습니다.
