C.W.K.
Stream
Lesson 01 of 10 · published

H.264 (libx264) — Universal Codec

~12 min · h264, libx264, compatibility

Level 0Viewer
0 XP0/73 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

'그냥 동작' codec

H.264 (별명 AVC) 는 모든 브라우저, 모든 폰, 모든 TV, 모든 editor, 모든 cloud transcoder, 지난 15년에 만들어진 모든 set-top box에 들어 있어. 뭐 쓸지 모르겠으면 H.264 써. libx264 가 그 오픈소스 CPU encoder, software encode quality의 gold standard 로 널리 인정 받아.

손잡이 셋

  • -crf — quality target. 18 ≈ visually transparent, 23 = default, 28 = web-acceptable 지만 soft. Low-bandwidth target 아니면 28 이상 가지 마.
  • -preset — 속도/효율 tradeoff. 느린 preset = 같은 quality에 더 작은 파일. 이름: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo. 일회성 작업엔 slow 가 sweet spot.
  • -tune — content-aware 최적화: film, animation, grain, stillimage, fastdecode, zerolatency. 가끔 써 — default가 보통 OK.

Profile 과 level

최대 호환성 (Apple TV, smart TV, 옛날 Android 폰) 엔 -profile:v high -level 4.0. 4K 엔 적어도 -level 5.1. Encoder가 reasonable default 골라; target device가 choke할 때만 override.

Code

평생 재사용할 libx264 recipe·bash
# 일상 업로드 — 작고, 잘 보임
ffmpeg -i in.mp4 \
  -c:v libx264 -crf 20 -preset slow \
  -pix_fmt yuv420p \
  -c:a aac -b:a 192k \
  -movflags +faststart \
  out.mp4

# 마스터 아카이브 — visually transparent
ffmpeg -i in.mp4 \
  -c:v libx264 -crf 18 -preset slower \
  -pix_fmt yuv420p \
  -c:a aac -b:a 256k \
  master.mp4

# Animation tune (cartoon / motion graphics 의 cleaner gradient)
ffmpeg -i animation.mov \
  -c:v libx264 -crf 18 -preset slow -tune animation \
  -c:a aac -b:a 192k \
  out.mp4
최대 호환성 (10년 묵은 TV)·bash
# yuv420p + High@4.0 = 거의 모든 H.264 device에서 재생
ffmpeg -i in.mp4 \
  -c:v libx264 -profile:v high -level 4.0 -crf 20 -preset slow \
  -pix_fmt yuv420p \
  -c:a aac -b:a 192k -ac 2 \
  -movflags +faststart \
  legacy.mp4

External links

Exercise

같은 source clip을 세 preset 으로 encode: ultrafast, medium, slow — 모두 CRF 22. Wall-clock time과 파일 사이즈 비교. 각각 compression ratio 계산. Slow preset이 가장 작은 파일 (medium 보다 ≈10–15% 작음). 이 숫자 저장 — lesson 6에서 two-pass encoding과 비교.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.