비디오 변환할 때 화질이 깎이는 이유와 줄이는 법
영상을 한 번 변환했을 뿐인데 원본보다 화질이 눈에 띄게 흐려져 있는 경험은 누구나 한 번쯤 합니다. 같은 코덱을 골랐는데도 결과물이 달라 보이고, 어떤 도구를 썼느냐에 따라 차이가 더 커집니다. 변환 과정에서 화질이 깎이는 일은 막을 수는 없지만, 왜 깎이는지를 알면 그 정도를 상당히 줄일 수 있습니다. 어디서 손실이 일어나는지 한 단계씩 들여다보겠습니다.
변환은 본질적으로 다시 압축하는 일
대부분의 영상은 이미 한 번 압축된 상태입니다. 그것을 다른 포맷으로 바꾼다는 것은, 압축을 풀어 원본 비슷한 그림을 만든 다음 다시 새로운 방식으로 압축하는 작업입니다. 이 과정을 흔히 트랜스코딩이라고 부르고, 이때마다 미세한 정보 손실이 누적됩니다. 처음 압축 때 버려진 데이터는 다시 풀어도 돌아오지 않고, 두 번째 압축 때 또 일부를 버리게 되니 결과는 항상 원본보다 적은 정보를 담게 됩니다.
왜 한 번 더 깎이는가
두 번째 압축의 알고리즘은 원본을 보고 결정하는 것이 아니라, 이미 손실이 있는 중간 결과를 보고 결정합니다. 그래서 화면의 평탄한 영역과 디테일이 많은 영역을 구분하는 기준이 첫 번째 압축과 다르게 잡힐 수 있고, 그 차이가 새로운 종류의 거친 흔적으로 나타납니다. 흔히 보이는 블록 모양의 얼룩이나 색이 뭉치는 현상이 이런 이유로 생깁니다.
비트레이트가 화질의 천장을 정한다
변환 설정에서 가장 큰 영향을 미치는 것은 비트레이트입니다. 1초당 영상에 얼마나 많은 데이터를 할당할지를 정하는 값이고, 이 값이 작을수록 압축이 강하게 들어갑니다. 강한 압축은 용량을 줄여 주지만 화질의 천장도 같이 낮춥니다. 같은 코덱이라도 비트레이트가 절반이면 디테일이 사라지는 영역이 그만큼 늘어납니다.
고정 비트레이트와 가변 비트레이트
비트레이트를 정하는 방식은 두 가지입니다. 처음부터 끝까지 같은 값을 유지하는 고정 방식과, 장면에 따라 값을 조절하는 가변 방식입니다. 가변 쪽이 보통 같은 용량 안에서 더 좋은 결과를 냅니다. 움직임이 거의 없는 장면에서는 데이터를 아끼고, 빠르게 움직이는 장면에 그만큼 더 할당할 수 있기 때문입니다. 변환 도구에 가변 비트레이트나 품질 기반이라는 항목이 있다면 그쪽을 선택하는 편이 결과가 좋습니다.

해상도와 프레임 수 건드리지 않기
원본이 1080p 60프레임인데 변환하면서 720p 30프레임으로 줄이면 화질은 당연히 깎입니다. 그런데 의외로 도구의 기본값이 멋대로 해상도를 줄여 두는 경우가 있습니다. 변환 화면을 처음 열었을 때 해상도 항목이 원본과 다른 값으로 잡혀 있다면, 이것부터 원본과 같게 맞춰야 합니다.
프레임 수도 마찬가지입니다. 60프레임 영상을 30으로 떨어뜨리면 부드러운 움직임이 사라집니다. 반대로 원본이 30프레임인데 굳이 60으로 올려도 좋아지지 않습니다. 없는 프레임을 만들어 내는 과정에서 어색한 흔적이 생기는 일이 더 많습니다. 가장 무난한 선택은 항상 원본 그대로 두는 것입니다.
코덱 선택이 만드는 차이
같은 비트레이트라도 코덱이 다르면 결과가 달라집니다. 새로운 코덱일수록 같은 용량 안에서 더 많은 디테일을 보존하는 능력이 좋습니다. H.264로 만든 5MB 영상과 H.265로 만든 5MB 영상을 비교하면, 보통 H.265 쪽이 더 깨끗합니다. AV1은 이보다 한 걸음 더 나아간 코덱이고, MDN의 영상 코덱 가이드에 각 코덱의 압축 특성과 호환성이 정리되어 있습니다.
다만 새것이 항상 좋은 것은 아니다
새로운 코덱은 압축에 시간이 더 걸리고, 재생하는 기기에서도 더 많은 자원을 씁니다. 오래된 휴대폰이나 텔레비전에서는 H.265나 AV1이 매끄럽게 재생되지 않을 수도 있습니다. 그래서 어디서 볼 영상이냐를 고려해 선택해야 하고, 호환성이 더 중요한 자리에는 약간 손해를 보더라도 H.264를 고르는 편이 안전합니다.
두 번 세 번 변환하지 않기
화질을 지키는 가장 단순한 방법은 변환 횟수를 줄이는 것입니다. 자르고 합치고 자막을 넣는 작업을 여러 번 따로 하면 그때마다 다시 압축이 들어갑니다. 한 도구 안에서 한꺼번에 끝내고 한 번만 출력하는 흐름이 가장 깔끔합니다.
특히 자막을 영상에 영구히 입힐 때 주의가 필요합니다. 자막을 그림처럼 영상 위에 새겨 넣는 방식은 영상 전체를 다시 압축하게 만들기 때문에, 한 번 그렇게 처리한 파일을 또 자막 넣으려고 변환하면 손실이 두 배가 됩니다. 비디오 컨버터를 고를 때 봐야 할 것들에서 자막 처리 방식이 도구마다 어떻게 다른지 간단히 다뤘습니다.
리먹스가 가능하면 그쪽으로
이미 원하는 코덱으로 압축된 영상이라면, 코덱은 그대로 두고 컨테이너만 바꾸는 리먹스를 시도해 볼 만합니다. 화면과 소리를 새로 압축하지 않고 그대로 다른 봉투에 옮기는 작업이라서, 화질이 전혀 깎이지 않고 시간도 짧게 걸립니다. MKV로 받은 영상을 MP4로 바꿔서 휴대폰에 넣을 때 이 방법이 자주 쓰입니다.
모든 도구가 리먹스를 지원하지는 않는다
변환 도구 가운데 일부는 입력을 받으면 자동으로 다시 압축을 거는 식으로 동작합니다. 이런 도구로는 리먹스가 어렵습니다. 도구 설명에 스트림 복사나 동일 코덱 복사 같은 표현이 보이는지 확인하면, 손실 없이 컨테이너만 바꾸는 작업이 가능한지 알 수 있습니다. FFmpeg 공식 사이트에 이 기능을 다루는 명령어와 옵션이 정리되어 있습니다.
결과를 눈으로 확인하는 절차
설정을 잘 잡고 변환을 마쳤다면, 원본과 변환본을 같이 띄워 비교해 보는 것이 가장 확실합니다. 큰 화면에서 같은 장면을 멈춰 두고 디테일이 많은 영역, 그라데이션이 부드러운 하늘 같은 영역을 살펴봅니다. 거친 격자무늬가 보인다면 비트레이트를 올리거나 다른 코덱을 시도해 봅니다.
들고 다니는 기기에서도 한 번 재생해 봅니다. 컴퓨터 화면에서는 괜찮아 보이던 영상이 휴대폰의 작은 화면에서는 다른 인상을 줄 수 있고, 반대로 작은 화면에서는 안 보이던 결함이 큰 화면에서 드러나기도 합니다. 변환의 목표는 어떤 환경에서 볼 것이냐에 따라 다르고, 그 환경에서 만족스러우면 그 설정이 그 영상에 맞는 답입니다.
2패스 인코딩의 가치
변환 옵션을 자세히 보면 2패스라는 항목이 있는 경우가 있습니다. 영상을 두 번에 걸쳐 분석하고 압축하는 방식인데, 첫 번째 패스에서는 영상 전체를 미리 살피며 어디에 데이터를 더 할당해야 할지를 가늠하고, 두 번째 패스에서 그 정보를 바탕으로 실제 압축을 합니다. 시간이 두 배 가까이 들지만, 같은 비트레이트 안에서 결과가 더 균일해집니다.
2패스가 특히 빛을 보는 자리는 한정된 용량 안에 영상을 맞춰 넣어야 할 때입니다. 사이트 업로드 한도가 정해져 있거나, 특정 크기 안에 영상을 압축해야 하는 상황에서 한 번에 끝내는 변환은 종종 마지막 부분의 비트레이트가 어색해지는 일이 있는데, 2패스는 이런 불균형을 줄여 줍니다.
색 정보의 보존
화질이라는 말 안에는 해상도와 디테일뿐 아니라 색의 풍부함도 들어 있습니다. 영상의 색 정보는 색 공간이라는 항목으로 표현되고, 이 설정이 원본과 어긋나면 변환 결과가 미묘하게 색이 다르게 나옵니다. 특히 HDR 영상을 일반 영상으로 변환하면서 색 공간 설정을 잘못 잡으면, 화면이 어두워지거나 색이 빠지는 경우가 생깁니다.
대부분의 변환 도구는 자동 설정으로도 무난하게 처리하지만, 결과물의 색이 원본과 달라 보인다면 색 공간과 색 범위 항목을 한 번 확인해 보는 것이 좋습니다. SDR과 HDR이 섞이지 않도록 두는 것만으로도 많은 색 문제가 사라집니다.
잡음 제거 옵션의 양면
일부 변환 도구에는 영상의 잡음을 줄여 주는 옵션이 따로 있습니다. 거친 그림이 많은 옛 영상을 처리할 때는 도움이 되지만, 디테일이 살아 있는 새 영상에 적용하면 오히려 표면의 결까지 같이 깎여 흐릿한 결과가 됩니다. 모든 변환에 일률적으로 잡음 제거를 켜 두는 것은 권하기 어렵고, 그 영상의 상태에 맞춰 그때그때 결정하는 편이 결과가 좋습니다.
손실을 받아들이고 줄여 가기
변환에서 화질 손실을 완전히 없애는 것은 불가능에 가깝지만, 어디에서 손실이 일어나는지를 알고 그 지점을 하나씩 다듬으면 결과가 분명히 달라집니다. 비트레이트는 충분히, 해상도와 프레임 수는 원본 그대로, 변환 횟수는 최소로, 가능하면 리먹스로. 이 네 가지를 기억해 두면 매번 새로 설정을 찾아보지 않아도 무난한 결과를 낼 수 있습니다. 자기 환경에서 자주 쓰는 설정 한두 개를 정해 두고 그 안에서 미세하게 조정해 가는 방식이 결과의 일관성도 지켜 줍니다.