toolsmith

업로드 없음 · 전부 브라우저에서 처리

제 영상은 왜 옆으로 누워 있을까

파일이 망가진 것도 아니고 휴대폰이 실수한 것도 아닙니다. 세로 영상은 보통 가로 그림에 쪽지 한 장을 붙여 저장되고, 모든 것은 다음 프로그램이 그 쪽지를 읽어 주느냐에 달려 있습니다.

수정

휴대폰은 아무것도 돌리지 않았습니다

카메라 센서는 가로로 생겼고, 기기를 어떻게 들든 그대로입니다. 그래서 세워서 찍어도 프레임은 여전히 가로 그림으로 기록되고, 대신 파일의 트랙 머리말에 "그릴 때 90도 돌려라"라고 적은 3×3 행렬이 함께 들어갑니다.

휴대폰의 재생기는 그 행렬을 읽고 적용해서 세로 영상을 보여 줍니다. 보는 사람 입장에서는 그냥 세로 영상입니다. 같은 파일을 그 행렬을 무시하는 곳에 넘기면 저장된 그대로 그려집니다 — 옆으로 누운 가로 그림으로요.

그래서 어디서는 멀쩡하고 어디서는 틀립니다

두 프로그램 사이에서 그림 자체는 아무것도 바뀌지 않았습니다. 한쪽은 쪽지를 지켰고 한쪽은 안 지켰을 뿐이며, 둘 다 파일을 틀리게 읽은 것은 아닙니다.

그러니 "내 휴대폰에서는 멀쩡한데"는 파일이 멀쩡하다는 증거가 아닙니다. 내 휴대폰이 회전 표시를 읽는다는 증거일 뿐이고, 그건 이미 알고 있던 사실입니다.

저희도 이걸 틀렸습니다

한동안 저희 영상 도구들은 그 행렬을 아예 읽지 않았습니다. 2026-07-27에 제대로 재 보니 변환 · 자르기 · 압축 · GIF 네 도구가 전부 세로 영상을 옆으로 눕혀 내보내고 있었습니다. 아무도 신고하지 않았고 검사는 전부 초록색이었습니다.

그것이 드러나지 않은 이유가 결함보다 중요합니다. 그때까지 갖고 있던 영상 표본이 전부 가로였기 때문에 회전 경로가 한 번도 밟힌 적이 없었습니다. 새로 생긴 결함이 아니라 처음부터 있던 표본의 구멍이었습니다.

같은 장면을 0 · 90 · 180 · 270도로 적어 둔 파일 넷을 넣고 고쳤습니다. 방향 말고는 다른 것이 없는 표본이라, 이 부류의 오류를 놓칠 수 없게 만듭니다.

크기가 맞다고 방향이 맞은 것이 아닙니다

빠지기 쉬운 함정입니다. 180도는 가로세로가 전혀 바뀌지 않고, 90도와 270도는 정확히 같은 방식으로 서로 바뀝니다. 그래서 크기만 확인하면 위아래가 뒤집힌 영상도, 반대쪽으로 돌아간 영상도 무사히 통과합니다.

이 둘을 가르는 것은 실제 그림을 대조하는 것뿐입니다. 그리고 각 결과는 자기 원본과 대조해야 합니다. 저희는 잠깐 네 표본이 "같은 영상"이라고 넘겨짚었는데, 실은 같은 픽셀에 표시만 다른 것이라 결과끼리 비교하는 것은 아무 의미가 없었습니다.

고치는 방법은 어디로 나가느냐에 갈립니다

MP4로 나간다면 쪽지를 다시 쓸 수 있습니다. 픽셀은 그대로 두고 행렬만 바꿉니다 — 애초에 아무것도 디코드하지 않는 경로(자르기, 상자 바꾸기)에서는 이 길밖에 없기도 합니다.

WebM이나 GIF로 나간다면 그 길이 막힙니다. Matroska의 회전은 재생기마다 지원이 고르지 않고 GIF에는 그런 개념 자체가 없습니다. 그쪽에서는 그림을 실제로 돌려서 구워 넣어야 하고, 그것은 모든 프레임을 다시 그린다는 뜻입니다.

그러니 "영상을 돌린다"는 목적지에 따라 서로 다른 두 작업이고, 잘못 고르면 내 재생기에서는 맞고 다른 모든 곳에서는 틀린 파일이 나옵니다 — 애초에 해결하려던 바로 그 문제입니다.

확인할 것

거의 모든 경우를 덮는 짧은 목록입니다:

  • 휴대폰에서는 멀쩡한데 올리고 나니 누웠다 → 회전 표시가 무시된 것이지 파일이 깨진 것이 아닙니다.
  • 표시된 크기가 뒤집혀 보인다 → 보이는 크기가 아니라 저장된 크기를 보고 있는 것입니다.
  • MP4로 나간다 → 표시만 다시 쓰면 되고 픽셀은 그대로, 화질도 그대로입니다.
  • WebM이나 GIF로 나간다 → 프레임을 다시 그려야 하므로 재인코딩을 각오해야 합니다.
  • 고쳐졌는지 확인한다 → 프레임을 대조하십시오. 크기로는 180도와 정상을 구별할 수 없습니다.

업로드 없이 지금 해 보기

제 영상 파일이 손상된 건가요?

거의 확실히 아닙니다. 옆으로 누운 영상은 대개 멀쩡한 파일인데 지금 쓰는 프로그램이 회전 표시를 무시하고 있는 것입니다. 표시를 읽는 재생기에서는 같은 파일이 똑바로 보입니다.

크기가 왜 뒤집혀 나오나요?

보이는 크기가 아니라 저장된 크기를 보여 주고 있기 때문입니다. 휴대폰의 세로 영상은 실제로 가로 프레임으로 저장되므로, 날 숫자를 그대로 적는 도구는 1080×1920으로 보는 영상을 1920×1080이라고 말합니다.

영상을 돌리면 화질이 떨어지나요?

어디로 내보내느냐에 달렸습니다. MP4로 나가면 회전이 표시로 적히고 픽셀은 하나도 건드리지 않으므로 잃는 것이 없습니다. WebM이나 GIF로 나가면 프레임을 다시 그려야 하므로 재인코딩이 되고 화질도 한 세대 내려갑니다.

읽어 둘 만한 글