FFmpeg 버전별 변화 — 6.0에서 8.1까지, 무엇이 달라졌나
멀티스레딩 리팩토링, Vulkan 코덱, 하드웨어 가속 확대, 그리고 8.1 "Hoare"까지
FFmpeg 6.0 "Heaviside" (2023.02)
수십 년 만에 가장 큰 내부 리팩토링이 시작된 버전이다. Meta 내부 포크의 멀티레인 병렬 인코딩 설계를 바탕으로, 스레딩 모델의 근본적 재설계가 시작됐다.
주요 변경:
멀티스레딩 스케줄러 개편 시작 — 여러 인코더를 병렬 실행하는 기반 마련
RISC-V 어셈블리 최적화 추가
VAAPI AV1 인코딩 지원
Radiance HDR 이미지 디코딩
다수의 deprecation 정리
이 버전부터 FFmpeg의 내부 구조가 현대적 멀티코어 활용에 맞게 바뀌기 시작했다.
FFmpeg 6.1 "Heaviside" (2023.11)
6.0에서 시작된 스레딩 리팩토링의 중간 단계.
VVC (H.266) 디코더 추가 — 차세대 비디오 코덱
NVIDIA NVENC AV1 인코딩 지원
Vulkan 디코딩 인프라 기반 작업
다양한 필터 개선
FFmpeg 7.0 "Dijkstra" (2024.04)
인루프 디코딩이 활성화된 버전. Meta가 라이브스트리밍에서 필요로 했던 실시간 품질 메트릭 기능의 핵심이다.
주요 변경:
인루프(in-loop) 디코딩 — 인코더 출력을 바로 디코딩해서 원본과 비교 가능. 실시간 PSNR/SSIM/VMAF 산출
Vulkan 기반 비디오 디코딩 (H.264, HEVC)
IAMF(Immersive Audio Model and Formats) 지원
Multi-threaded 디먹싱
CLI 출력 형식 개선
FFlabs와 VideoLAN 개발자의 기여로 Meta 내부 포크의 인루프 디코딩 의존이 완전히 해소됐다.
FFmpeg 7.1 "Péter" (2024.09)
VVC 디코더 성능 대폭 개선
Vulkan HEVC/AV1 디코딩
QSV(Intel) VVC 디코딩
FFmpeg CLI의 스레딩 안정성 강화
FFmpeg 8.0 "Edvard" (2025.03)
멀티스레딩 리팩토링이 완성된 버전. 6.0에서 시작된 3년에 걸친 작업의 마무리다.
주요 변경:
병렬 인코딩 스레딩 완성 — 모든 인코더 인스턴스가 병렬 실행. Meta 포크 설계 기반
Vulkan 비디오 인코딩 (H.264, HEVC)
HDR → SDR 색상 매핑 완전 지원
대량의 deprecated API 제거
내부 코드 대규모 정리
수십 년 만에 가장 복잡한 FFmpeg 리팩토링으로 기록됐다. 모든 FFmpeg 사용자에게 더 효율적인 멀티코어 인코딩을 제공한다.
FFmpeg 8.1 "Hoare" (2025.03)
8.0 직후의 마이너 릴리스. 새 기능과 하드웨어 지원이 추가됐다.
새 디코더/포맷:
xHE-AAC Mps212 디코딩 (실험적)
MPEG-H 3D Audio 디코딩 (libmpeghdec)
EXIF 메타데이터 파싱
LCEVC 메타데이터 처리
JPEG-XS 코덱 지원 — 저지연 시각적·수학적 무손실 압축
hxvs 디먹서
하드웨어 가속:
Vulkan — ProRes 인코딩/디코딩, DPX 디코딩. GLSL 런타임 의존성 제거로 초기화 속도 향상
D3D12 — H.264/AV1 인코딩 + scale, mestimate, deinterlace 필터
Rockchip — H.264/HEVC 하드웨어 인코딩 (rkmpp 기반)
기타:
IAMF Ambisonic Audio Elements (Projection 모드) 지원
drawvg, vpp_amf 필터 추가
swscale 재작성 준비 작업
Windows.Graphics.Capture 기반 화면 캡처
버전별 핵심 흐름 요약
6.0~8.0은 하나의 큰 흐름이다:
6.0에서 Meta 설계 기반의 멀티스레딩 리팩토링이 시작되고, 7.0에서 인루프 디코딩이 활성화되고, 8.0에서 병렬 인코딩이 완성됐다. 이 3년간의 작업으로 FFmpeg은 현대적 멀티코어 CPU를 제대로 활용할 수 있게 됐다.
동시에 Vulkan 하드웨어 코덱이 버전마다 확장되면서, GPU 가속 파이프라인의 선택지가 크게 넓어졌다. NVIDIA/Intel/AMD 전용 API 외에 크로스플랫폼 Vulkan이라는 새 축이 생겼다.
동작 흐름
6.0 — Meta 설계 기반 멀티스레딩 스케줄러 개편 시작
6.1 — VVC(H.266) 디코더, NVENC AV1 인코딩 추가
7.0 — 인루프 디코딩 활성화 → 실시간 품질 메트릭 가능
8.0 — 병렬 인코딩 스레딩 완성 + Vulkan 인코딩 + HDR→SDR 완전 지원
8.1 "Hoare" — xHE-AAC, MPEG-H, D3D12, Vulkan ProRes, Rockchip HW 인코딩