FFmpeg는 동영상과 음성을 녹화·변환·분석·스트리밍하는 무료 오픈소스 명령줄 도구입니다. MP4, MOV, MKV, WEBM, MP3, AAC, Opus 등 다양한 컨테이너와 코덱을 다루며 ffmpeg 변환기, ffprobe 분석기와 ffplay 재생 도구를 함께 사용합니다.
현재 안정 버전은 9.0.2 Lei입니다. FFmpeg 프로젝트는 소스만 직접 배포하고 Windows 실행 파일은 공식 페이지가 안내하는 Gyan과 BtbN 빌드를 사용합니다. 아래에서는 Windows ZIP 설치와 Path 설정, macOS·Linux 설치, 실제 변환 명령, ffprobe 확인과 자주 발생하는 인코더·경로·입력 오류를 설명합니다.
FFmpeg는 어떤 프로그램인가요?
그래픽 창에서 버튼을 누르는 프로그램이 아니라 터미널에 입력·출력·코덱·필터·파일 경로를 적어 실행하는 멀티미디어 프레임워크입니다. 같은 명령을 반복할 수 있어 대량 파일 변환, 자동화와 서버 작업에 특히 유용합니다.
ffmpeg는 변환과 필터, ffprobe는 파일과 스트림 정보 확인, ffplay는 간단한 재생을 담당합니다. 명령 순서와 옵션 위치가 결과에 영향을 주므로 먼저 짧은 샘플로 출력 파일을 확인하고 원본을 덮어쓰지 않는 방식으로 시작하세요.
FFmpeg 9.0.2 변환·ffprobe·인코더 실제 터미널 화면
공식 FFmpeg 다운로드 페이지가 안내하는 Gyan Windows Essentials 9.0.2 빌드를 실행한 실제 화면입니다. 버전 확인, H.264 MP4 변환 완료, ffprobe 스트림 정보와 libx264 인코더 옵션을 확인할 수 있습니다.
| 프로젝트 | FFmpeg |
|---|---|
| 현재 안정 버전 | 9.0.2 Lei |
| 배포일 | 2026년 9월 18일 |
| 도구 | ffmpeg · ffprobe · ffplay |
| Windows 빌드 | 64비트 Essentials · Full |
| Windows 조건 | Gyan 빌드 기준 Windows 10 이상 |
| 공식 배포 | 소스 코드 |
| 실행 파일 | 공식 페이지가 안내하는 빌드 제공처 |
공식 소스와 Windows 실행 파일 구분
FFmpeg 프로젝트는 소스 코드만 직접 배포합니다. 공식 다운로드 페이지가 Windows 실행 파일 제공처로 Gyan과 BtbN을 안내하므로, Windows에서는 이 연결을 따라 미리 컴파일된 빌드를 선택합니다. 현재 안정 소스 릴리스는 9.0.2 Lei이며 2026년 9월 18일 공개됐습니다.
Gyan의 9.0.2 release essentials는 ffmpeg, ffprobe, ffplay와 일반적으로 쓰는 코덱을 포함한 64비트 정적 빌드입니다. Windows 10 이상을 요구하며 GPLv3로 표시됩니다. FFmpeg 소스 자체는 LGPL 2.1 이상이 기본이지만 외부 라이브러리와 빌드 옵션에 따라 GPL이 적용될 수 있으므로 배포나 제품 포함 전에는 해당 빌드의 라이선스를 확인하세요.
Essentials ZIP·7z·Full 빌드 선택
대부분의 동영상·음성 변환은 release essentials ZIP으로 시작하면 됩니다. ZIP은 Windows 탐색기에서 바로 풀 수 있고 libx264, libx265, libvpx, libaom, AAC, MP3, Opus와 일반적인 필터를 포함합니다. Essentials 7z는 내용은 비슷하지만 용량이 작아 7-Zip이 설치된 환경에 적합합니다.
Full 빌드는 Essentials에 없는 외부 라이브러리가 필요한 경우에만 선택합니다. 프로그램 개발에 DLL과 헤더가 필요하면 full shared 빌드를 검토하고, 일반 명령 실행에는 정적 essentials가 단순합니다. Git master는 최신 수정과 기능을 포함하지만 글의 예시는 안정 release 9.0.2를 기준으로 합니다.
FFmpeg 무료 다운로드와 Windows 설치 방법
ffmpeg-release-essentials.zip을 받은 뒤 C:\ffmpeg 같은 짧은 영문 경로에 완전히 압축을 풉니다. 압축을 풀면 ffmpeg-9.0.2-essentials_build 폴더 안의 bin 폴더에 ffmpeg.exe, ffprobe.exe와 ffplay.exe가 있습니다. ZIP 안에서 직접 실행하거나 EXE만 따로 옮기지 말고 폴더 구조를 유지하세요.
어느 폴더에서나 ffmpeg 명령을 쓰려면 bin 경로를 Windows 사용자 Path 환경 변수에 추가합니다. 설정 > 시스템 > 정보 > 고급 시스템 설정 > 환경 변수에서 사용자 Path를 편집하고 C:\ffmpeg\bin처럼 실제 bin 경로를 넣은 뒤 새 PowerShell이나 명령 프롬프트를 엽니다. 기존 창은 변경 전 Path를 유지할 수 있습니다.
- Windows 10 이상 64비트인지 확인하세요.
- 일반 사용은 release essentials ZIP을 받으세요.
- 압축을 풀고 bin 폴더의 ffmpeg.exe를 확인하세요.
- bin의 전체 경로를 사용자 Path에 추가하세요.
- 새 터미널에서 ffmpeg -version을 실행해 9.0.2를 확인하세요.
macOS·Linux 설치와 버전 확인
macOS는 공식 다운로드 페이지가 안내하는 64비트 정적 빌드 제공처를 사용할 수 있고, Homebrew 환경에서는 brew install ffmpeg로 설치하는 방법도 널리 사용됩니다. Linux는 배포판의 공식 패키지 저장소를 우선 확인하세요. Ubuntu·Debian 계열은 sudo apt install ffmpeg, Fedora 계열은 활성화된 저장소 정책에 맞는 패키지를 사용합니다.
설치 방식과 관계없이 새 터미널에서 ffmpeg -version과 ffprobe -version을 실행합니다. 첫 줄의 버전과 configuration에서 필요한 인코더가 포함됐는지 확인하세요. 운영체제 저장소는 FFmpeg 최신 릴리스보다 이전 버전을 제공할 수 있으므로 명령 예제가 동작하지 않으면 패키지 버전과 공식 문서의 해당 버전을 함께 확인합니다.
동영상을 H.264 MP4로 변환
기본 변환은 ffmpeg -i input.mov -c:v libx264 -crf 23 -c:a aac output.mp4처럼 입력, 영상 코덱, 품질, 음성 코덱과 출력 파일을 순서대로 씁니다. -crf 값은 x264에서 낮을수록 품질과 파일 크기가 커지며 23은 일반적인 시작점입니다. 원본 해상도를 유지하려면 scale 필터를 빼세요.
가로 폭을 1280픽셀로 줄이려면 -vf scale=1280:-2를 추가합니다. -2는 코덱에 맞는 짝수 높이를 계산합니다. 출력 파일이 이미 있으면 덮어쓸지 질문하므로 자동 작업에서는 -y, 원본 보호가 필요하면 -n을 선택합니다. 변환이 끝난 뒤 출력 파일을 재생하고 길이, 소리, 자막과 화면 비율을 확인하세요.
음성 추출과 MP3·AAC·Opus 변환
영상에서 MP3를 만들려면 ffmpeg -i video.mp4 -vn -c:a libmp3lame -q:a 2 audio.mp3를 사용합니다. -vn은 영상 스트림을 제외하고 -q:a는 VBR 품질을 정합니다. AAC가 필요하면 -c:a aac -b:a 192k, Opus는 -c:a libopus -b:a 128k처럼 코덱과 비트레이트를 지정합니다.
음성 채널과 샘플레이트를 바꾸려면 -ac 2와 -ar 48000을 추가할 수 있습니다. 원본이 이미 AAC이고 MP4 컨테이너만 바꾼다면 재인코딩 없이 -c:a copy가 가능한지 ffprobe로 먼저 확인하세요. 호환되지 않는 코덱을 copy하면 muxer 오류가 생길 수 있으므로 출력 컨테이너가 해당 코덱을 받는지 확인합니다.
구간 자르기·리먹스·여러 파일 합치기
00:00:10부터 20초를 추출하려면 ffmpeg -ss 00:00:10 -i input.mp4 -t 20 -c copy clip.mp4를 사용할 수 있습니다. -c copy는 빠르고 화질 손실이 없지만 키프레임 위치 때문에 시작점이 정확하지 않을 수 있습니다. 프레임 단위 정확도가 필요하면 영상과 음성을 다시 인코딩합니다.
컨테이너만 바꾸는 remux는 ffmpeg -i input.mkv -c copy output.mp4처럼 실행합니다. 같은 형식과 코덱 조건의 여러 파일은 concat demuxer 목록을 만들어 합칠 수 있지만 해상도, 프레임레이트, 오디오 조건이 다르면 재인코딩이나 필터가 필요합니다. 실행 전 ffprobe로 각 스트림의 codec_name, width, height와 sample_rate를 비교하세요.
ffprobe로 코덱·해상도·길이 확인
ffprobe -hide_banner input.mp4는 컨테이너, 재생 시간, 비트레이트와 영상·음성 스트림을 보여 줍니다. 자동화에 필요한 값만 받으려면 -show_entries와 -of json을 사용합니다. 예를 들어 ffprobe -v error -show_entries format=duration -of default=nw=1:nk=1 input.mp4는 재생 시간을 숫자로 출력합니다.
여러 오디오나 자막 스트림이 있으면 -map으로 사용할 스트림을 명확히 지정합니다. 첫 영상과 첫 음성을 선택할 때는 -map 0:v:0 -map 0:a:0처럼 씁니다. 스트림 번호를 확인하지 않고 변환하면 해설 음성이나 잘못된 언어 자막이 선택될 수 있습니다.
자막·회전·프레임레이트와 필터 순서
SRT 자막을 영상에 입히려면 subtitles 필터를 사용하지만 Windows 경로의 콜론과 따옴표를 올바르게 이스케이프해야 합니다. 자막을 별도 스트림으로 넣을 때는 컨테이너가 지원하는 자막 코덱을 선택합니다. 한글 자막이 네모로 나오면 폰트 이름과 libass 포함 여부를 확인하세요.
회전, 자르기, 크기 조절은 -vf 안에서 쉼표로 연결하며 필터 순서에 따라 결과가 달라집니다. 프레임레이트를 바꿀 때는 -vf fps=30 또는 출력 -r을 작업 목적에 맞게 고릅니다. 입력보다 높은 프레임레이트로 올려도 새로운 실제 움직임 정보가 생기지는 않으므로 보간 필터의 필요성을 따로 판단하세요.
CPU·NVIDIA·Intel·AMD 하드웨어 가속 선택
CPU 인코딩은 libx264와 libx265가 대표적이며 품질과 호환성을 세밀하게 조절할 수 있습니다. NVIDIA는 h264_nvenc·hevc_nvenc, Intel은 h264_qsv·hevc_qsv, AMD는 h264_amf·hevc_amf 같은 인코더가 빌드와 드라이버에 따라 제공됩니다. ffmpeg -encoders로 실제 포함 여부를 먼저 확인하세요.
하드웨어 인코더는 빠르지만 같은 비트레이트의 화질과 지원 옵션이 CPU 인코더와 다를 수 있습니다. 드라이버, GPU 세대와 입력 픽셀 형식이 맞지 않으면 초기화 오류가 납니다. 짧은 샘플로 속도, 파일 크기와 재생 호환성을 비교한 뒤 긴 작업에 적용하세요.
ffmpeg 명령을 찾을 수 없음 오류 해결
'ffmpeg'은 내부 또는 외부 명령이 아닙니다라는 메시지가 나오면 bin 폴더 경로가 Path에 들어갔는지 확인합니다. 환경 변수에는 ffmpeg.exe 파일 자체가 아니라 그 파일이 있는 bin 폴더를 넣어야 합니다. 변경 뒤 새 터미널을 열고 where ffmpeg로 실제 실행되는 경로를 확인하세요.
같은 이름의 이전 버전이 먼저 나오면 Path 항목의 순서와 다른 프로그램이 설치한 FFmpeg를 확인합니다. 당장 시험하려면 bin 폴더에서 .\ffmpeg.exe -version을 실행할 수 있습니다. 인터넷에서 단일 ffmpeg.exe만 따로 내려받아 섞기보다 검증한 빌드 폴더를 그대로 유지합니다.
Unknown encoder·Invalid data·권한 오류 해결
Unknown encoder가 나오면 명령의 인코더 이름과 ffmpeg -encoders 결과를 비교합니다. Essentials에 없는 외부 라이브러리가 필요하면 Full 빌드를 검토하거나 포함된 대체 코덱을 사용하세요. Unrecognized option은 현재 버전에서 옵션 이름과 위치가 맞는지 ffmpeg -h 또는 공식 문서로 확인합니다.
Invalid data found when processing input은 확장자와 실제 컨테이너가 다르거나 다운로드가 끝나지 않았거나 파일이 손상됐을 때 발생할 수 있습니다. 경로에 공백이 있으면 전체 경로를 따옴표로 묶고, Access denied가 나오면 쓰기 가능한 출력 폴더와 같은 이름 파일을 확인하세요. 전체 로그의 첫 오류부터 읽고 마지막 Conversion failed 문장만으로 원인을 판단하지 않습니다.
자주 묻는 질문
FFmpeg는 무료인가요?
무료 오픈소스입니다. 소스는 LGPL이 기본이지만 선택한 외부 라이브러리와 빌드 옵션에 따라 GPL이 적용될 수 있으므로 재배포·제품 포함 전 라이선스를 확인하세요.
Windows에서는 어떤 파일을 받나요?
대부분은 Gyan의 64비트 release essentials ZIP을 사용하면 됩니다. ZIP을 풀고 bin 폴더를 Path에 추가하세요.
FFmpeg에 그래픽 화면이 있나요?
기본 FFmpeg는 명령줄 도구입니다. 터미널에서 명령을 실행하고 로그와 출력 파일로 결과를 확인합니다.
MP4 용량을 줄이려면 어떻게 하나요?
libx264의 -crf 값을 기준으로 시험하고 필요하면 scale 필터로 해상도를 줄이세요. 출력 화질을 직접 확인한 뒤 값을 조절합니다.
ffmpeg 명령을 찾을 수 없다고 나오면 어떻게 하나요?
ffmpeg.exe가 있는 bin 폴더를 사용자 Path에 추가하고 새 터미널을 연 뒤 where ffmpeg와 ffmpeg -version을 실행하세요.
Essentials ZIP을 풀고 첫 MP4 변환까지 확인하세요
Windows에서는 9.0.2 Essentials ZIP을 풀어 bin을 Path에 추가하고 ffmpeg -version을 실행하세요. 짧은 복사본으로 H.264 MP4 변환과 ffprobe 확인을 마친 뒤 크기 조절, 음성 추출과 구간 자르기 명령으로 넓혀 가면 됩니다. 배포 목적에는 선택한 빌드의 라이선스를 함께 확인하세요.
공식 자료와 확인일
FFmpeg 공식 다운로드 · FFmpeg 9.0.2 공식 릴리스 · FFmpeg 공식 문서 · Gyan Windows FFmpeg 빌드 | 2026-09-30



