기능
소스 비디오를 가져와 자막이 하드코딩된 수직(9:16) 컷을 생성합니다. 출력물은 짧은 형식의 플랫폼에 바로 사용할 수 있는 단일 H.264/AAC 파일입니다.
사전 요구 사항
ffmpeg와ffprobe가PATH에 있어야 함~/workspace/input에 대한 읽기 권한~/workspace/output에 대한 쓰기 권한
환경 확인
다른 작업을 시작하기 전에 다음을 실행하세요:
command -v ffmpeg && command -v ffprobe
둘 중 하나라도 없으면 중단하고 MISSING_DEP: ffmpeg라고 보고하세요. 대체 인코더를 시도하지 마십시오.
단계
-
소스 파일이 존재하는지 확인:
test -f ~/workspace/input/source.mp4파일이 없으면
MISSING_INPUT: ~/workspace/input/source.mp4라고 보고하세요. -
파일을 건드리기 전에 해상도를 프롭(probe)하세요:
ffprobe -v error -select_streams v:0 -show_entries stream=width,height \ -of csv=p=0 ~/workspace/input/source.mp4 -
출력 디렉토리가 존재하는지 확인하세요:
mkdir -p ~/workspace/output -
컷을 실행하세요:
bash scripts/cut.sh ~/workspace/input/source.mp4 ~/workspace/output/final.mp4 -
결과물이 실제 파일인지 확인하고 경로와 크기를 보고하세요:
ls -lh ~/workspace/output/final.mp4
절대 가정하지 마세요
- 입력이 이미 9:16이라고 가정하지 말고 항상 먼저 프롭(probe)하세요.
~/workspace/output이 존재한다고 가정하지 말고mkdir -p로 생성하세요.- 사용자 확인 없이 기존 출력 파일을 덮어쓰지 마세요.
- 소스에 오디오 트랙이 있다고 가정하지 말고 다음 명령어로 확인하세요:
ffprobe -select_streams a -show_entries stream=codec_type -of csv=p=0.
출력
~/workspace/output/final.mp4 — H.264, 1080x1920, AAC 오디오, -crf 20.
실패 처리
ffprobe실패 → 파일이 유효한 비디오가 아닙니다.BAD_INPUT보고.cut.sh가 0이 아닌 종료 코드로 종료 → stderr를 그대로 표시하세요. 맹목적으로 재시도하지 마세요.- 출력이 0바이트 →
EMPTY_OUTPUT보고하고 중단.