컨테이너와 코덱, 그리고 변환에 대가가 없는 경우
확장자는 상자의 이름이지 내용물의 이름이 아닙니다. .mp4, .mkv, .mov, .webm은 컨테이너입니다. 트랙, 타임스탬프, 약간의 관리 정보를 담습니다. 영상이 실제로 무엇인지, 즉 모든 플레이어가 디코딩할 수 있어야 하는 것은 그 안의 코덱입니다. 최신 파일은 H.264, HEVC, VP9, AV1이고, 오래된 파일은 DivX, Xvid, Sorenson Spark, VP6입니다. 확장자가 같은 두 파일이 전혀 다른 작업일 수 있습니다.
그래서 ‘MP4로 변환’이 어떨 때는 몇 초, 어떨 때는 한 시간이 걸립니다. 안의 코덱이 MP4에 들어갈 수 있으면 인코딩된 영상을 바이트 단위로 그대로 복사하고 상자만 다시 만듭니다. 2시간짜리 H.264 MKV나 MOV도 몇 초 만에 변환되며 화면은 똑같습니다. 아무것도 디코딩하지 않았기 때문입니다. 코덱이 MP4에 들어갈 수 없거나, 들어가더라도 재생되는 곳이 거의 없으면 영상을 디코딩해 다시 인코딩해야 합니다. AVI 안의 DivX와 Xvid, WEBM 안의 VP8과 VP9, 오래된 FLV 안의 Sorenson Spark와 VP6가 그렇습니다. 이것은 진짜 재인코딩이며 시간과 약간의 화질을 대가로 치릅니다. 각 도구는 어느 방식을 썼는지 알려 드립니다.
재인코딩은 매번 새로운 손실 압축이며, 그 손실은 쌓입니다. 변환기를 세 번 거친 클립은 세 번 압축된 것이고, 앞선 과정에서 버려진 것은 어떤 설정으로도 되찾을 수 없습니다. 선택할 수 있다면 변환하고, 용량을 줄이고, 다시 변환하는 대신 한 번에 작업을 끝내세요.
자르기는 재인코딩해야만 프레임 단위로 정확합니다. 도구의 부족함이 아니라 압축 동영상의 작동 방식 때문입니다. 대부분의 프레임은 직전 프레임에서 바뀐 부분만 기록하므로, 복사 방식의 자르기는 키 프레임에서만 시작할 수 있습니다. 대부분의 파일에서 키 프레임은 1~2초 간격입니다. 동영상 자르기는 실제로 사용한 시간을 알려 주며, “정확히 자르기”를 켜면 시작 부분을 재인코딩해 요청한 위치에 정확히 맞춥니다. 동영상 회전이 MP4와 MOV에서 즉시 끝나는 것도 같은 원리입니다. 이 형식들에는 회전 플래그가 있어서, 클립을 돌릴 때 몇 바이트만 고치고 픽셀은 건드리지 않습니다. AVI, WMV, MPEG에는 그런 플래그가 없으므로 회전이 영상 자체에 반영되고 결과는 MP4로 나옵니다.
MP4는 MKV보다 담을 수 있는 게 적고, 파일이 무언가를 잃는 곳이 바로 여기입니다. MKV는 여러 트랙, 즉 여러 언어, 자막, 챕터, 첨부 글꼴, 커버 아트를 담도록 설계되었습니다. 어디서나 재생되는 MP4는 영상 트랙 하나와 오디오 트랙 하나를 담습니다. 그래서 변환한 파일은 주 영상과 소리만 남기고 나머지는 두고 오며, 나중에 알게 되는 대신 무엇이 빠졌는지 알려 드립니다. 흔히 희생되는 또 하나는 Dolby Digital과 DTS 사운드입니다. 여기서는 AAC로 변환하는데, 그러지 않으면 TV에서 소리 없이 재생되는 파일이 되기 때문입니다.
브라우저가 정말로 맞지 않는 경우
이 도구들은 기기에 이미 있는 동영상 하드웨어, 즉 영상 통화에 쓰이는 바로 그 칩을 사용합니다. 그래서 대부분의 브라우저 도구보다 훨씬 빠르지만, 좋은 소식은 여기까지입니다. 작업 도중에 한계를 발견하시기보다 여기서 미리 밝혀 두겠습니다.
결과는 H.264와 AAC뿐입니다. 브라우저가 HEVC, AV1, VP9 인코더를 제공하지 않으므로 여기서는 이 형식으로 인코딩하지 않습니다. H.264는 호환성이 가장 좋은 코덱이지만 최신 코덱 중 효율은 가장 낮아서, 여기서 재인코딩한 파일은 같은 화질의 x265나 SVT-AV1 결과보다 큽니다. 용량을 최적화하는 것이 목적이라면 HandBrake와 ffmpeg가 모두 무료이며 여기보다 넉넉히 낫습니다.
압축 설정은 숫자가 아니라 세 가지입니다. 약하게, 균형, 강하게이며, 선택적으로 1080p나 720p로 낮출 수 있습니다. CRF 값 입력도, 2패스 인코딩도, 인코더 튜닝도, 정확한 파일 용량 지정도 없습니다. 필터도 전혀 없습니다. 디인터레이싱이 없어 인터레이스 AVI는 줄무늬가 그대로 남고, 노이즈 제거, 색 보정, 화면 자르기, 자막 입히기, 임의 각도 회전도 없으며, 합칠 때 크로스페이드나 타이틀도 넣을 수 없습니다. HDR은 표준 범위로 변환되므로 밝은 HDR 클립은 원본보다 밋밋하게 나옵니다.
속도와 한계는 기기가 정합니다. 결과물은 메모리에 쌓아 두지 않고 만들어지는 대로 브라우저 자체 저장 공간에 기록되므로, 길이는 주로 남은 디스크 공간에 따라 제한됩니다. 다만 진짜 재인코딩은 최신 노트북에서 실제 재생 시간보다 몇 배 빠르고 휴대폰에서는 재생 시간과 비슷하며, 휴대폰은 긴 4K 파일에서 뜨거워지다 멈춰 버립니다. 복사 작업(컨테이너 변경, 소리 제거, 단순 자르기, 플래그 회전)은 아무것도 디코딩하지 않으므로 길이와 상관없이 몇 초면 끝납니다.
그리고 사람이 클릭할 때, 파일 하나에 대해 실행됩니다. 클립 400개를 정해진 일정에 변환하는 일은 ffmpeg를 셸 반복문으로 돌리면 됩니다. 무료이며, 어떤 웹 페이지보다 그 일을 잘합니다.
이름이 비슷한 도구 중 고르기
MP4 MP3 변환과 동영상 소리 추출. 시작은 같고 끝이 다릅니다. MP4 MP3 변환은 항상 원하는 비트레이트의 MP3를 줍니다. 동영상 소리 추출은 MP3, M4A, WAV 중에서 고르거나, 동영상에 저장된 소리를 재인코딩 없이 그대로 복사해 둘 수 있습니다. 완벽한 추출이며 몇 초면 끝납니다. 소리를 편집할 거라면 동영상 소리 추출을, 차에서 재생할 파일이 필요하다면 MP4 MP3 변환을 쓰세요.
동영상 소리 추출과 동영상 소리 제거. 동영상 소리 추출은 소리를 별도 파일로 꺼내고 동영상은 그대로 둡니다. 동영상 소리 제거는 동영상에서 오디오 트랙을 없애고 영상만 남깁니다. 같은 분리 작업의 두 반쪽이며, 둘 다 실행하면 둘 다 얻습니다. 어느 쪽도 최신 파일을 재인코딩하지 않으므로 손실도 없습니다.
MKV MP4 변환과 동영상 용량 줄이기. MKV MP4 변환은 상자를 바꿀 뿐 파일 용량은 거의 그대로이며, 영화를 작게 만드는 방법이 아닙니다. 동영상 용량 줄이기는 비트 자체를 바꾸는데, 파일을 실제로 작게 만드는 방법은 이것뿐이고 이를 위해 재인코딩합니다. TV에서 파일이 재생되지 않는 게 문제라면 변환하세요. 이메일에 첨부되지 않는 게 문제라면 용량을 줄이고, 이왕이면 해상도도 낮추세요. 높이를 절반으로 줄이는 것이 어떤 화질 설정보다 훨씬 많이 절약됩니다.
동영상 자르기와 동영상 GIF 변환. 둘 다 클립의 한 구간을 꺼냅니다. 자르기는 대개 원래 형식 그대로, 대개 재인코딩 없이 동영상을 줍니다. 동영상 GIF 변환은 1989년에 나온 형식의 소리 없는 반복 이미지를 줍니다. 프레임당 256색, 모든 프레임을 통째로 저장하며, 움직임 압축이 전혀 없습니다. 그래서 너비 480픽셀짜리 3초 분량도 1 MB 이상입니다. 채팅이나 이슈 트래커용으로 쓰고, 10초 정도보다 긴 것은 자르기를 쓰세요.