CUDA 지원 ffmpeg 빌드
ffmpeg의 decode/encode에 Nvidia GPU를 사용하면 변환 속도를 향상 할 수 있습니다. CUDA를 지원하도록 빌드한 ffmpeg은 없는지 소스 빌드를 하도록 안내를 하고 있습니다. 자세한 소스 빌드 정보는 Using FFmpeg with NVIDIA GPU Hardware Acceleration를 참고하면 됩니다. 빌드 옵션이 문서에서 알려 준 것과 다른 내용이 있습니다. ffmpeg build 아래 명령을 사용하시면 됩니다.
Build 환경:
- Ubuntu 24.04
- Nvidia Driver version: Driver Version: 580.105.08
- CUDA Version: 13.0
- Ubuntu 추가 Package 설치: nasm (2.16.01-1build1), libavdevice60 libavdevice-dev (7:6.1.1-3ubuntu5)
- ffmpeg 빌드 명령 수정본:
./configure --enable-nonfree --enable-cuda-nvcc --extra-cflags=-I/usr/local/cuda/include \
--extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared빌드 성공하면 CUDA 지원 여부를 확인할 수 있습니다. Hardware acceleration methods: CUDA가 나옵니다.
$ ffmpeg -hwaccels
ffmpeg version N-122250-g8ac6325143 Copyright (c) 2000-2025 the FFmpeg developers
built with gcc 13 (Ubuntu 13.3.0-6ubuntu2~24.04)
configuration: --enable-nonfree --enable-cuda-nvcc --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared
libavutil 60. 20.100 / 60. 20.100
libavcodec 62. 23.102 / 62. 23.102
libavformat 62. 8.101 / 62. 8.101
libavdevice 62. 2.100 / 62. 2.100
libavfilter 11. 10.101 / 11. 10.101
libswscale 9. 3.100 / 9. 3.100
libswresample 6. 2.100 / 6. 2.100
Hardware acceleration methods:
cudaffmpeg 이용한 MP4-to-GIF 변환
블로그 글에 삽입할 GIF 파일 생성을 위해서 다음과 같이 Scale 변환 없이 원본 파일과 동일한 크기로 변환을 했습니다. Gemini 추천 방식은 2-Pass 방식으로 1-Pass 에서는 MP4 영상에서 팔레트를 추출하고, 2-Pass에서 팔레트를 이용해서 GIF 최종 결과물을 얻는 방법입니다.
아래 예제는 On-Prem AI 서비스-(4) Ollama 후기 글 본문에 추가했던 gpt-oss, gemma3 실행 속도 체감을 위한 영상을 GIF 로 변환합니다.
1) gpt-oss 영상에서 팔레트 생성
ffmpeg -hwaccel cuda -i ollama_gpt-oss.mp4 \
-vf "palettegen" \
-y palette_gpt-oss.png2) gpt-oss 영상을 팔레트를 이용해 GIF 변환
ffmpeg -hwaccel cuda -i ollama_gpt-oss.mp4 -i palette_gpt-oss.png \
-filter_complex "[0:v][1:v]paletteuse" \
ollama_gpt-oss.gif3) gemma3 영상에서 팔레트 생성
ffmpeg -hwaccel cuda -i ollama_gemma3.mp4 \
-vf "palettegen" \
-y palette_gemma3.png4) gemma3 영상을 팔레트를 이용해 GIF로 변환
ffmpeg -hwaccel cuda -i ollama-gemma3.mp4 -i palette_gemma3.png \
-filter_complex "[0:v][1:v]paletteuse" \
ollama_gemma3.gif














