처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.03.21 39

FFmpeg에 Vulkan 컴퓨트 셰이더 기반 비디오 인코딩/디코딩이 온다

Hacker News 원문 보기

들어가며

비디오 처리의 사실상 표준 도구인 FFmpeg에 중요한 변화가 찾아왔습니다. Khronos Group이 FFmpeg에서 Vulkan 컴퓨트 셰이더를 활용한 비디오 인코딩과 디코딩 지원을 공식 발표했습니다. 이것이 왜 중요한지 이해하려면, 지금까지 비디오 하드웨어 가속이 어떻게 작동해왔는지부터 살펴볼 필요가 있습니다.

기존 비디오 하드웨어 가속의 파편화 문제

현대 GPU에는 비디오 인코딩/디코딩을 전담하는 고정 기능(fixed-function) 하드웨어가 내장되어 있습니다. NVIDIA의 NVENC/NVDEC, Intel의 Quick Sync Video(QSV), AMD의 VCN이 그 예입니다. 이 전용 하드웨어는 CPU 대비 몇 배에서 수십 배 빠른 비디오 처리를 가능하게 합니다.

문제는 각 벤더마다 API가 완전히 다르다는 것입니다. FFmpeg에서 NVIDIA GPU를 사용하려면 CUDA와 NVENC API를, Intel GPU를 사용하려면 VA-API나 QSV를, AMD를 사용하려면 또 다른 경로를 사용해야 합니다. 이는 FFmpeg 개발자에게 각 벤더별 코드를 따로 작성하고 유지보수해야 하는 부담을 안기고, 사용자에게는 복잡한 옵션 조합을 이해해야 하는 진입 장벽이 됩니다. -hwaccel cuda, -hwaccel vaapi, -hwaccel qsv 같은 플래그를 써본 분이라면 이 고통을 잘 아실 것입니다.

Vulkan Video가 해결하는 것

Vulkan은 Khronos Group이 관리하는 크로스 플랫폼 그래픽스/컴퓨트 API로, OpenGL의 후계자입니다. 게임과 그래픽스 분야에서는 이미 널리 쓰이고 있는데, 여기에 비디오 코덱 처리 기능이 추가된 것이 Vulkan Video입니다. Vulkan Video의 핵심 가치는 벤더 중립적인 단일 API로 비디오 하드웨어 가속을 통합한다는 점입니다.

그런데 이번 발표에서 특히 흥미로운 부분은 단순히 고정 기능 하드웨어를 Vulkan으로 감싸는 것을 넘어서, 컴퓨트 셰이더(Compute Shader)를 활용한 비디오 코덱 구현이라는 점입니다. 컴퓨트 셰이더란 GPU의 범용 연산 유닛에서 실행되는 프로그래머블 코드입니다. 고정 기능 하드웨어와 달리 개발자가 직접 알고리즘을 작성할 수 있습니다.

이것이 왜 중요할까요? 고정 기능 비디오 하드웨어는 특정 코덱(H.264, H.265, AV1 등)만 지원하며, GPU 세대가 바뀌어야 새 코덱이 추가됩니다. 반면 컴퓨트 셰이더 기반 구현은 소프트웨어 업데이트만으로 새 코덱을 지원할 수 있습니다. 예를 들어 VVC(H.266) 같은 차세대 코덱의 하드웨어 지원이 아직 없는 GPU에서도, 컴퓨트 셰이더를 통해 GPU 가속 디코딩을 할 수 있게 됩니다.

기술적 구현의 핵심

FFmpeg에서의 구체적 구현은 다음과 같은 구조를 따릅니다. Vulkan의 비디오 디코드/인코드 확장을 통해 비트스트림 파싱과 엔트로피 코딩은 전용 하드웨어에 맡기고, 모션 보상(motion compensation), 인루프 필터링(in-loop filtering), 변환(transform) 등 연산 집약적인 부분을 컴퓨트 셰이더로 처리하는 하이브리드 접근입니다.

이 접근의 또 다른 장점은 후처리 파이프라인과의 통합입니다. 비디오를 디코딩한 후 스케일링, 색 보정, 필터링 등의 후처리를 할 때, 기존에는 디코딩 결과를 GPU에서 CPU로 복사하고 다시 GPU로 보내는 왕복이 필요한 경우가 많았습니다. Vulkan 컴퓨트 셰이더를 사용하면 디코딩부터 후처리까지 GPU 메모리 안에서 모든 것을 처리할 수 있어 메모리 대역폭 병목을 줄일 수 있습니다. 이른바 제로 카피(zero-copy) 파이프라인이 가능해지는 것입니다.

업계 맥락과 경쟁 기술

이 움직임은 더 넓은 업계 트렌드와 맞닿아 있습니다. GPU 컴퓨팅의 범용화가 그래픽스와 AI를 넘어 미디어 처리 영역까지 확장되고 있는 것입니다. Apple은 Metal을 통해 자체적인 하드웨어 가속 비디오 파이프라인을 구축했고, Google은 WebCodecs API로 브라우저 내 비디오 처리를 표준화하고 있습니다. Vulkan Video는 이런 파편화된 생태계에 크로스 플랫폼 표준을 제시하려는 시도입니다.

특히 클라우드 비디오 처리 분야에서 이 변화의 임팩트가 클 수 있습니다. AWS, GCP 등의 GPU 인스턴스에서 FFmpeg를 돌려 대규모 트랜스코딩을 하는 경우, 벤더 중립적인 단일 코드베이스로 다양한 GPU에서 동일하게 동작하는 파이프라인을 구축할 수 있다는 것은 운영 복잡성을 크게 줄여줍니다.

한국 개발자에게 주는 시사점

미디어 서비스, 스트리밍, 영상 편집 도구, 게임 녹화/스트리밍 등 비디오 처리와 관련된 프로젝트를 다루는 개발자라면 주목해야 합니다. 당장 프로덕션에 적용하기보다는, Vulkan Video 생태계의 성숙도를 지켜보면서 기존 벤더 종속적인 하드웨어 가속 코드를 Vulkan 기반으로 전환할 로드맵을 검토해볼 시점입니다.

FFmpeg을 CLI 도구로만 사용하는 경우에도, 향후 FFmpeg 버전 업그레이드 시 -hwaccel vulkan 한 줄로 크로스 플랫폼 GPU 가속을 쓸 수 있게 되면 운영이 훨씬 단순해질 것입니다. 또한 Vulkan 컴퓨트 셰이더 프로그래밍 자체가 그래픽스, ML 추론, 미디어 처리 등 여러 영역에서 활용도가 높아지고 있으므로, 관심이 있다면 학습해둘 가치가 있습니다.

마무리

FFmpeg에 Vulkan 컴퓨트 셰이더 기반 비디오 처리가 추가되면서, 벤더 종속적이었던 하드웨어 가속 비디오 파이프라인이 표준화된 크로스 플랫폼 API로 통합되는 길이 열리고 있습니다. 현재 비디오 처리 파이프라인에서 벤더별 API 대응에 고충을 겪고 계신 분이 있다면, 경험을 나눠주세요.


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

AI 도구, 직접 활용해보세요

AI 시대, 코딩으로 수익을 만드는 방법을 배울 수 있습니다.

AI 활용 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.