
Mac mini로 AI 영상 복원 파이프라인을 돌리다 겪은 일이다. 처음엔 야심 차게 수 시간짜리 영상 하나를 통으로 넣고 돌렸다.
애플 실리콘의 MPS(Metal Performance Shaders) 성능을 믿었고, 48GB 램이면 충분하리라 생각했다. 하지만 몇 시간쯤 지나면 여지없이 스왑 메모리가 48GB까지 차오르고, macOS가 프로세스를 SIGKILL로 죽여버리는 거였다. 😱

문제는 결과물이었다. 아니, 이게 뭐야?
문제는 결과물이었다. mp4 파일은 헤더에 moov atom이라는 정보가 있어야 한다. 이 정보는 영상의 전체 길이, 트랙 정보 등을 담고 있는데, 프로세스가 강제 종료되면 이 moov atom이 제대로 기록되지 않아 영상 전체가 열리지 않았다.
몇 시간을 돌렸는데 아무것도 건지지 못하는 허탈함이란. 결국 파이프라인에 fast-start 옵션을 항상 켜두는 걸 보험처럼 활용했다.
이 옵션은 moov atom을 파일 시작 부분에 미리 기록해서, 혹시 모를 비정상 종료 시에도 일부 구간이라도 살릴 수 있게 해주는 기능이다. 이게 없으면 몇 시간 돌린 게 통째로 날아가니 얼마나 허탈한지 경험해 본 사람만 알 거다.
근본적인 해결책은 없나? 결국 구조를 뜯어고치다
하지만 이건 어디까지나 임시방편이었다. 근본적인 문제는 단일 프로세스가 너무 오랫동안 돌아가면서 메모리가 계속 누적되는 것이었다.
영상 복원 과정이 꽤나 메모리를 잡아먹는데, 비록 대부분의 메모리가 처리 완료 후 해제된다 해도, 그 과정에서 스왑을 포함한 전체 가용 메모리를 한순간이라도 초과하면 macOS는 가차 없이 칼을 들이밀었다.
애플 실리콘이 아무리 깡패라도 48GB 램과 스왑을 꽉 채우면 시스템 전체의 안정성을 위해 프로세스를 종료시키는 게 macOS의 방식이었다.
결국 파이프라인을 근본적으로 뜯어고치기로 했다. 해법은 영상을 작은 토막으로 자르고, 각 토막마다 새로운 프로세스로 처리하게 만드는 것이었다.
예를 들어, 10시간짜리 영상이라면 1시간짜리 10개로 쪼개는 식이다. 가장 중요한 건 이 각 토막을 처리할 때 새로운 프로세스를 띄웠다는 점이다.
프로세스가 종료되면 해당 프로세스가 사용했던 모든 메모리는 운영체제에 완전히 반환된다. 이렇게 하니 스왑이 누적될 일이 구조적으로 사라졌다.
게다가 중간에 어떤 문제가 생겨서 특정 토막 처리만 실패하더라도, 해당 토막만 다시 돌리면 되니 이어하기도 쉬웠다.
완료 검증도 한 수 배워야지 🧐
이렇게 토막 처리를 한 다음에는 완료 여부 검증도 중요했다. 처음엔 단순히 컨테이너 길이만 보고 끝까지 잘 만들어졌는지 확인했다가 낭패를 본 적이 있다.
최종 결과물의 길이가 원본과 같아도, 후반부가 소리만 나오는 불량 파일을 놓친 거다. 그때 얼마나 뒷목을 잡았는지 모른다.
이 이후로는 길이 차이와 함께 마지막 비디오 PTS(Presentation Timestamp)를 꼭 확인하는 방식으로 보완했다. PTS가 영상의 마지막 프레임까지 제대로 기록되었는지 확인해야 진정으로 복원이 완료되었다고 판단할 수 있었다.
외장 HDD? 생각보다 괜찮은데? 👍
또 하나 재미있는 사실은 원본과 결과물 파일을 외장 HDD에 둬도 병목 현상이 없었다는 점이다.
애초에 파이프라인의 병목은 GPU, 즉 MPS 쪽이었다. 아무리 저장 장치를 NVMe SSD로 바꾼다 한들, GPU 연산 속도가 빨라지지 않는 이상 크게 이득 볼 게 없었다. 불필요한 비용을 줄일 수 있었던 셈이다.
결과적으로 이번 삽질을 통해 장시간 실행되는 고부하 프로세스 관리에 대한 중요한 교훈을 얻었다. 메모리 누적 문제를 근본적으로 해결하려면 프로세스의 생애 주기를 짧게 가져가는 게 답이었다. 하나의 거대한 작업 대신 작고 독립적인 단위로 쪼개어 처리하는 마이크로 서비스 아키텍처의 철학이 영상 처리 파이프라인에도 통하는구나 싶었다.
※ 이 글은 직접 겪은 작업 경험을 바탕으로 AI의 도움을 받아 작성했습니다.
'AI·로컬 LLM' 카테고리의 다른 글
| AI 제목 생성: 프롬프트 예시가 문제였다, SEO 최적화 해결 (0) | 2026.08.24 |
|---|---|
| LLM 지식 그래프 오염: PKM 자동화 시스템 복구 경험 (0) | 2026.08.22 |
| AI 영상 복원 검증법: 길이만 봐선 안 되는 이유 (pts, fps) (0) | 2026.08.19 |