알림: 이 글 본문에는 수수료(제휴) 링크가 없습니다. 글 끝에 연결한 쇼핑 페이지는 저희가 운영하는 상품 모음이며, 그 페이지의 일부 링크는 구매 시 저희가 수수료를 받을 수 있는 제휴 링크입니다. 시험에 쓴 영상은 저희가 직접 만든 AI 생성 영상이고, 이 글은 AI의 도움을 받아 초안을 쓴 뒤 2026년 10월 29일 측정 파일과 한 줄씩 대조했습니다. 어떤 도구 회사도 제공하거나 검토하지 않았습니다.
같은 10초짜리 세로 AI 영상(1080×1920)을 ffmpeg x264로 CRF 18·23·28·33에 다시 내보내 봤습니다. CRF를 5 올릴 때마다 파일이 41~51% 줄었습니다(6.83 → 4.00 → 2.00 → 0.99MB, 23부터는 거의 절반씩). 화질 점수(VMAF)는 97.52 → 95.97 → 92.18 → 85.54로 내려갔습니다. 가장 의외였던 것은 프리셋입니다. 같은 CRF 23이라도 veryfast로 내보낸 파일은 medium보다 30% 작았지만 점수는 91.93으로, medium CRF 23(95.97)이 아니라 medium CRF 28(92.18)과 비슷했습니다. 속도를 위해 프리셋을 바꾸면 같은 CRF 숫자가 같은 화질을 뜻하지 않았습니다.
어떤 문제였나요
쇼츠·릴스용 세로 영상을 내보낼 때 CRF 값을 골라야 합니다. CRF가 낮을수록 파일이 크고 압축 손실이 적습니다. 흔히 쓰는 값 사이에서 용량이 얼마나 달라지는지, 점수로는 화질이 얼마나 떨어지는지, 그리고 인코딩 속도(프리셋)를 바꾸면 결과가 달라지는지 확인하고 싶었습니다.
이렇게 시험했습니다
- 원본: 저희 쇼츠에 쓴 10.03초 AI 생성 영상 1편(로컬 이미지→영상 생성에 따로 생성한 종이 이미지 1장을 합성, 유료 API 호출 없음). 1080×1920, 30fps, 301프레임, H.264 약 6,456kbps, 8.35MB.
- 다시 내보내기: ffmpeg 9.0.1의 libx264, 영상만(소리 제거), yuv420p. medium 프리셋으로 CRF 18·23·28·33, 그리고 CRF 23을 veryfast·slow 프리셋으로 한 번씩 더. 설정마다 1회 인코딩.
- 점수: ffmpeg libvmaf 필터의 기본 모델(vmaf_v0.6.1)로 모든 프레임을 원본 파일과 비교한 VMAF 평균, 가장 낮았던 프레임 점수, 밝기(Y) PSNR 평균.
- 장비: Apple M5 Pro 노트북 1대, 인코더 스레드 8개. 시간은 인코딩에 걸린 실제 초입니다.
결과
| 프리셋 / CRF | 용량 | 비트레이트 | VMAF 평균 | 최저 프레임 | 인코딩 시간 |
|---|---|---|---|---|---|
| medium / 18 | 6.83MB | 5,444kbps | 97.52 | 95.85 | 3.2초 |
| medium / 23 | 4.00MB | 3,189kbps | 95.97 | 93.73 | 2.8초 |
| medium / 28 | 2.00MB | 1,593kbps | 92.18 | 89.35 | 2.2초 |
| medium / 33 | 0.99MB | 787kbps | 85.54 | 81.32 | 1.9초 |
| veryfast / 23 | 2.81MB | 2,240kbps | 91.93 | 88.33 | 1.0초 |
| slow / 23 | 3.82MB | 3,049kbps | 95.86 | 93.68 | 4.6초 |
숫자가 말해 준 것
- CRF 5마다 용량이 41~51% 감소. 대신 점수 하락 폭은 갈수록 커졌습니다. 18→23은 1.6점, 23→28은 3.8점, 28→33은 6.6점이 떨어졌습니다.
- 프리셋이 CRF의 뜻을 바꿨습니다. veryfast CRF 23(2.81MB, 91.93점)보다 medium CRF 28(2.00MB, 92.18점)이 더 작으면서 점수는 비슷했습니다. 이 영상에서는 프리셋을 빠르게 바꾸는 것보다 medium에서 CRF를 올리는 쪽이 비슷한 점수를 더 작은 파일로 냈습니다.
- slow는 얻은 게 적었습니다. slow CRF 23은 medium보다 4% 작고 점수는 거의 같았지만(95.86 대 95.97) 시간은 약 1.7배 걸렸습니다.
- 눈으로 본 것. 5초 지점 프레임을 원본과 CRF 33 파일에서 뽑아 탁자 위 계산서 부분을 잘라 비교했습니다. CRF 33에서도 숫자는 읽혔고, 주변 대리석 무늬가 더 뭉개져 보였습니다. 정지 화면 1장을 본 것이지 사람들이 시청해 판단한 시험은 아닙니다.
그래서 저희는
저희 업로드용으로는 medium 프리셋에 CRF 18~23을 유지하고, 시간을 아끼려고 같은 CRF에서 veryfast로 바꾸지는 않기로 했습니다. 파일 크기가 더 중요하다면, 이 영상에서는 프리셋을 바꾸는 것보다 medium에서 CRF를 올리는 쪽이 나은 선택으로 보였습니다.
한계
- 움직임이 비교적 적은 10초 영상 1편입니다. 빠른 움직임·노이즈·자막이 많은 영상은 다르게 나올 수 있습니다.
- 기준 파일이 이미 한 번 압축된 저희 최종본이라, 점수는 원래 렌더링이 아니라 그 파일 대비 손실입니다.
- VMAF 기본 모델은 큰 화면에서 정해진 거리로 1080p를 보는 조건을 기준으로 만들어졌고, 손에 든 휴대폰 시청을 기준으로 한 것이 아닙니다. 사람이 직접 보고 판정한 시험은 하지 않았습니다.
- 유튜브·인스타그램·틱톡은 올린 파일을 다시 인코딩합니다. 업로드 뒤 실제로 재생되는 화질은 재지 않았습니다.
- 설정마다 1회, 노트북 1대에서 잰 시간이라 다른 장비에서는 달라집니다.
따라 해 보기
- 내보내기:
ffmpeg -i 원본.mp4 -an -c:v libx264 -preset medium -crf 23 -pix_fmt yuv420p 결과.mp4 - CRF 숫자만 바꿔 2~3개 파일을 더 만듭니다.
- 점수:
ffmpeg -i 결과.mp4 -i 원본.mp4 -lavfi libvmaf -f null -(다시 내보낸 파일이 앞, 원본이 뒤) - 점수와 함께 글자·얼굴·질감이 있는 프레임을 직접 뽑아 비교합니다.
자주 묻는 질문
쇼츠는 CRF 몇으로 내보내야 하나요?
정답 하나는 없습니다. 이 영상에서는 medium CRF 18~23이 VMAF 평균 96~97.5점이었고, 28에서 92.18점, 33에서 85.54점으로 내려갔습니다. 플랫폼이 다시 인코딩한다는 점도 함께 고려해야 합니다.
veryfast로 바꾸면 같은 CRF에서 화질이 같나요?
이 시험에서는 아니었습니다. 같은 CRF 23에서 veryfast는 91.93점, medium은 95.97점이었습니다.
확인한 출처
- FFmpeg H.264 인코딩 안내(CRF·프리셋 설명), 2026년 10월 29일 확인
- VMAF 프로젝트 페이지(점수가 재는 것), 2026년 10월 29일 확인
관련 글: 한국어 자막, Whisper 작은 모델로 충분할까
저희가 운영하는 상품 번호 목록: 라벨로 고르는 쇼핑 번호별 모음(09번부터) (제휴 링크 포함 가능)