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

Hardware 가속 — 언제, 왜

~10 min · hardware, videotoolbox, nvenc, qsv

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

Fast lane은 진짜지만 toll이 있어

모던 GPU 와 SoC 는 video encode/decode 전용 silicon 을 박아 와: Apple Silicon의 VideoToolbox, NVIDIA의 NVENC/NVDEC, Intel iGPU의 QuickSync, AMD의 AMF, Raspberry Pi의 V4L2-M2M. CPU encoder 보다 5–20× 빨라. 또한 bit-당 효율은 약간 떨어져 — 같은 bitrate에서 hardware H.264 가 libx264 -preset slow 보다 perceptually 약간 안 좋아 보여.

품질 마지막 5% 보다 속도가 더 중요할 때 그 trade 받아: 라이브 streaming, 야간 batch transcoding, GPU가 어차피 capture 중인 screen recording, 실시간 AI video pipeline.

Apple Silicon — VideoToolbox

M-시리즈 Mac의 전용 media engine은 정말 미친듯이 빨라. M3 에서 30분 4K clip이 H.265로 대략 real time에 transcode — libx265 -preset slow 보다 ~10배 빠름. 모든 Final Cut export가 VideoToolbox 쓰는 이유야.

호출 방법

-c:v <encoder_name> 으로 hardware encode. -i 앞에 -hwaccel videotoolbox 으로 hardware decode (덜 흔함, live pipeline 에서만 의미). Track 8 'Apple Silicon Optimization' lesson에 전체 setup 있어.

Code

Apple Silicon hardware H.265·bash
# 전용 media engine으로 encode
ffmpeg -i input.mp4 \
  -c:v hevc_videotoolbox -b:v 6M -tag:v hvc1 \
  -c:a aac -b:a 192k \
  output.mp4

# -tag:v hvc1 인 이유: QuickTime/Apple TV에서 재생 가능하게 만들어 줘.
# default 'hev1' tag는 같은 byte지만 Apple이 안 틀어 줘.
Hardware encode + decode 체인·bash
# Hardware로 decode, Hardware로 encode — 통째로 GPU에서
# (Frame이 GPU memory에 머물러; CPU는 거의 안 만짐)
ffmpeg -hwaccel videotoolbox \
  -i input.mp4 \
  -c:v hevc_videotoolbox -b:v 8M \
  -c:a copy \
  output.mp4

# 주의: 대부분 filter는 GPU memory에서 안 돌아. -vf scale=... 추가하면
# CPU로 download 강제 → 속도 이득이 사라져.

External links

Exercise

60초 1080p clip 골라. 세 가지로 encode: libx264 -preset slow -crf 20, libx264 -preset veryfast -crf 20, h264_videotoolbox -b:v 6M. 각각 wall-clock time과 파일 사이즈 비교. 어떤 걸 ship할까: (a) YouTube 업로드, (b) 마스터 아카이브, (c) 200 파일 야간 batch?

Progress

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

댓글 0

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

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