본문 바로가기
실전 자동화 튜토리얼

Shorts 자동화 툴을 Vrew에서 Remotion으로 바꾸면서 생긴 일들

by 정데비 2026. 7. 18.

도입

그동안 Shorts는 Vrew로 만들어왔습니다. 한글 지원이 잘 되고, 무료 성우 음성을 브라우저에서 바로 쓸 수 있어서 시작하기엔 좋았습니다. 하지만 AI 이미지 생성에 크레딧이 들어가다 보니 한 달에 만들 수 있는 영상 개수가 사실상 정해져 있었고, 대본을 쓴 뒤에도 Vrew 화면에서 장면을 하나하나 맞춰줘야 하는 반자동 구조라 손이 많이 갔습니다. 그래서 대본 텍스트 하나만 넣으면 끝까지 코드로 돌아가는 구조를 만들어보기로 했고, 그 도구로 Remotion을 선택했습니다. 이번 편은 본격적인 개발 전에 로컬(macOS)과 서버(Oracle A1) 양쪽에 실행 환경을 갖추는 과정을 다룹니다.

이번 시리즈에서 만들 최종 파이프라인

앞으로 여러 편에 걸쳐 아래 구조를 하나씩 완성해 나갈 예정입니다.

  • TTS: edge-tts (무료, 한국어 뉴럴 보이스 + 단어별 타이밍 지원)
  • 이미지: GPT Image 2 API
  • 렌더링: Remotion + Oracle A1 서버(헤드리스)

참고로 Oracle A1 무료 인스턴스를 처음 확보하는 과정 자체도 별도의 시행착오가 있었습니다. 이 부분은 이미 다른 글에서 다뤘으니, 아직 인스턴스가 없다면 먼저 읽어보시는 걸 추천합니다.

 

Oracle A1 "자리 없습니다" 에러 극복기

도입Oracle Cloud의 Always Free Ampere A1 인스턴스는 최대 4 OCPU·24GB RAM을 평생 무료로 쓸 수 있다는 점에서 매력적이지만, 막상 만들려고 하면 "리소스가 부족합니다(Out of host capacity)"라는 에러와 계속

blog.jdevy.com

 

로컬 macOS 환경 확인

로컬은 별도 설치 없이 이미 있는 Node.js 버전만 확인하면 됩니다.

node -v

[버전 확인 필요 — 사용 중인 Node.js LTS 버전에 맞춰 표기. 너무 오래된 버전이면 nvm이나 공식 설치 파일로 최신 LTS를 새로 설치하는 걸 권장합니다]

Oracle A1 서버에 Node.js 설치 (nvm 사용)

서버는 처음부터 Node.js가 없기 때문에 nvm(Node Version Manager)으로 설치합니다. nvm을 쓰면 나중에 Node 버전을 바꾸거나 여러 버전을 같이 관리하기 편합니다.

curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh> | bash
source ~/.bashrc
nvm install --lts
node -v

(nvm 버전은 계속 업데이트되니, 설치 전에 nvm 공식 저장소에서 최신 릴리스 태그를 한 번 확인하는 걸 추천합니다.)

이슈 1 — libatomic.so.1 누락

서버에서 node -v를 실행했는데 아래 에러가 떴습니다.

node: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory

최신 Node.js의 ARM64 바이너리가 libatomic.so.1에 의존하는데, Ubuntu 기본 설치에는 이 라이브러리가 빠져 있어서 생기는 문제였습니다. 아래처럼 라이브러리만 추가로 설치하면 해결됩니다.

sudo apt update
sudo apt install -y libatomic1
node -v

Chromium 구동용 라이브러리 설치 (서버 전용, 로컬은 불필요)

Remotion은 영상을 렌더링할 때 내부적으로 헤드리스 Chromium을 띄웁니다. macOS나 Windows는 OS가 알아서 필요한 걸 처리해주지만, Linux 서버에서는 아래 공유 라이브러리들을 직접 깔아줘야 합니다.

sudo apt install -y \
  libnss3 libdbus-1-3 libatk1.0-0 libasound2 \
  libxrandr2 libxkbcommon-dev libxfixes3 libxcomposite1 \
  libxdamage1 libgbm-dev libcups2 libcairo2 \
  libpango-1.0-0 libatk-bridge2.0-0

이슈 2 — Oracle 리전 전용 apt 미러 장애

위 명령을 실행했더니 패키지 절반 정도가 아래 에러로 실패했습니다.

Cannot initiate the connection to ap-chuncheon-1-ad-1.clouds.ports.ubuntu.com:80

/etc/apt/sources.list에 등록된 기본 소스가 리전 전용 미러(제 경우엔 춘천 리전) 하나로만 잡혀 있었는데, 이 미러가 일시적으로 응답하지 않는 상태였습니다. 업데이트/보안 소스는 전역 미러가 같이 등록돼 있어 자동으로 우회됐지만, 기본 소스는 우회 경로가 없어서 그대로 실패한 것이었습니다. 아래처럼 리전 미러를 전역 미러로 바꿔주면 해결됩니다.

# 1) 문제 있는 소스 파일 위치 확인
grep -rl "ap-chuncheon" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null

# 2) 백업
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

# 3) 리전 미러를 전역 미러로 치환
sudo sed -i 's/ap-chuncheon-1-ad-1\.clouds\.ports\.ubuntu\.com/ports.ubuntu.com/g' /etc/apt/sources.list

# 4) 재설치
sudo apt update
sudo apt install -y libnss3 libdbus-1-3 libatk1.0-0 libasound2 \
  libxrandr2 libxkbcommon-dev libxfixes3 libxcomposite1 \
  libxdamage1 libgbm-dev libcups2 libcairo2 \
  libpango-1.0-0 libatk-bridge2.0-0

리전 값(ap-chuncheon-1-ad-1 부분)은 인스턴스를 만든 리전에 따라 다를 수 있으니, 본인 서버의 /etc/apt/sources.list를 먼저 열어서 실제로 어떤 주소가 들어있는지 확인 후 그 부분만 바꾸면 됩니다.

apt 설치 도중 뜨는 안내창 중에는 무시해도 되는 것도 있습니다.

  • 커널 업그레이드 대기 안내창: 재부팅 전이라는 안내일 뿐, 지금 작업엔 재부팅이 필요 없으니 그냥 넘어가도 됩니다.
  • 오래된 라이브러리를 쓰는 데몬 재시작 여부를 묻는 창: 방금 설치한 라이브러리를 쓰던 서비스를 재시작할지 묻는 것으로, 딱히 걸리는 서비스가 없다면 기본값 그대로 넘어가도 안전합니다.

Docker를 쓸지 말지 결정

이번엔 Docker 없이 서버에 직접 설치하는 방식(bare install)으로 진행하기로 했습니다. 이유는 다음과 같습니다.

  • Remotion은 Node.js와 헤드리스 Chromium만 있으면 되는 순수 프로세스라 컨테이너 격리가 꼭 필요하진 않습니다
  • 개인 프로젝트 + 서버 전용 사용이라 환경 재현성의 이점이 크지 않습니다
  • 헤드리스 Chromium이 linux-arm64를 공식 지원 플랫폼으로 명시하고 있어 Oracle A1(Ampere ARM) 환경에서도 문제없이 동작합니다

프로젝트 성격에 따라 이 판단은 달라질 수 있습니다. 여러 프로젝트를 한 서버에서 돌리거나 팀 단위로 환경을 맞춰야 한다면 Docker가 더 나을 수 있습니다.

주의사항 / 흔한 실수

  • Chromium 구동 라이브러리는 서버(Linux)에만 필요합니다. 로컬 macOS에서 똑같이 설치하려고 헤맬 필요는 없습니다.
  • apt 미러 문제는 리전마다 다르게 나타날 수 있습니다. 에러 메시지에 찍힌 도메인을 그대로 검색해보면 어떤 리전 미러인지 확인할 수 있습니다.
  • libatomic 이슈는 최신 Node.js(ARM64 빌드) 특성상 생기는 문제라, 낮은 버전을 쓰면 안 겪을 수도 있습니다. 다만 최신 기능을 쓰려면 결국 한 번은 마주치게 될 가능성이 높습니다.

마무리

이번 편에서는 Vrew에서 Remotion으로 넘어가게 된 이유와, 로컬 macOS·Oracle A1 서버 양쪽에 Remotion 실행 환경을 갖추는 과정을 다뤘습니다. 다음 편에서는 실제로 Remotion 프로젝트를 만들고, Composition·useCurrentFrame 같은 핵심 개념을 코드로 확인하면서 로컬에서 첫 mp4를 뽑아보겠습니다.

 

코딩 몰라도 따라하는 Remotion 첫걸음 (Shorts 자동화 2편)

도입1편에서는 macOS와 Oracle A1 서버에 Remotion을 돌릴 준비를 마쳤습니다. 이번 편부터는 진짜 코딩이 들어갑니다. 단, 개발 경험이 없어도 명령어를 그대로 따라 치면 같은 결과가 나오도록, 나오

blog.jdevy.com

 


[핵심요약] Vrew 대신 Remotion 선택, macOS+Oracle A1 환경 구축기

반응형