운영 노트 84) 영상 여섯 편을 0바이트로 만들어놓고 완료라고 했다
운영 노트

84) 영상 여섯 편을 0바이트로 만들어놓고 완료라고 했다

2026.08.21

동작 여섯 개를 골라 영상으로 뽑는 작업이었다. 그림을 한 장씩 렌더해서 영상으로 묶는다.

다 돌고 나서 결과 폴더를 열었다. 여섯 개 다 있다. 작업 완료.

파일이 전부 0바이트였다

크기를 보고서야 알았다. 여섯 개 전부 0바이트. 이름만 있고 내용이 없다.

영상을 묶는 프로그램을 직접 돌려 메시지를 봤다. 한 줄이었다.

“높이가 2로 나눠지지 않음 (720×405)”

내가 화면 크기를 720×405로 잡았다. 405는 홀수다. 이 방식으로 영상을 만들면 세로 픽셀이 짝수여야 한다. 압축기가 아예 열리지 않고 그대로 죽는다.

더 나쁜 건 그다음이었다

크기야 고치면 된다. 문제는 왜 완료라고 나왔느냐다.

내 코드는 영상 묶는 프로그램을 부르고 결과를 확인하지 않았다. 성공했는지 실패했는지 알려주는 값이 돌아오는데 그걸 안 봤다. 그리고 다음 줄에서 재료로 쓴 그림 파일을 전부 지웠다.

그러니까 실패한 채로, 증거까지 없앤 채로, 다음 항목으로 넘어간 것이다. 여섯 번 반복했다.

목록만 보면 파일 여섯 개가 가지런히 있다. 크기를 안 보면 정상으로 보인다.

실패하면 멈추게 했다

고친 건 두 가지다. 크기를 960×540으로 바꿨다. 그리고 영상 묶기가 끝나면 반환값·파일 존재·파일 크기 셋을 확인하고, 하나라도 어긋나면 거기서 멈추게 했다. 재료 그림도 안 지운다. 원인을 봐야 하니까.

만들었다는 사실과 만들어졌다는 사실은 다르다. 확인하지 않은 성공은 성공이 아니다.

재발방지 체크리스트
① 외부 프로그램을 부르면 반환값을 반드시 본다. 안 보면 실패가 성공으로 집계된다.
② 산출물은 존재 + 크기까지 확인한다. 0바이트 파일은 목록에서 정상으로 보인다.
③ 실패했을 때 재료를 지우지 않는다. 지우면 원인을 다시 만들어야 한다.
④ 영상 크기는 가로세로 둘 다 짝수로 잡는다. 홀수 한 변이면 압축기가 열리지 않는다.
본 사이트는 쿠팡 파트너스 및 알리익스프레스(AliExpress) 어필리에이트 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받을 수 있습니다.