안녕하세요! 요즘 Python으로 동영상 자동 편집 프로젝트를 진행하고 있는데요, 처음에 FFmpeg 명령어 때문에 진짜 많이 헤맸거든요 😅
터미널에서 긴 명령어 쳐가면서 "이걸 어떻게 자동화하지?"라고 고민하다가 ffmpeg-python이라는 라이브러리를 발견했어요! 근데 이것도 처음 설치할 때 삽질을 좀 했더라고요 ㅋㅋ
그래서 제가 겪었던 시행착오들과 해결 방법을 정리해봤어요. 혹시 저처럼 Python으로 동영상 처리하려다 막막해하시는 분들께 도움이 되면 좋겠어요! 🎥
📋 목차 (급한 분들은 2단계부터!)
- ffmpeg-python이 뭐예요? (왜 써야 하는지)
- 1단계: FFmpeg 설치하기 (이거 안 하면 100% 에러나요!)
- 2단계: ffmpeg-python 설치하기 (진짜 설치는 여기서!)
- 제대로 설치됐는지 확인하기
- 실전 예제로 배우기
- 자주 만나는 에러 해결법 (제가 다 겪어봤어요 ㅠㅠ)
- 고급 활용 팁
🤔 1. ffmpeg-python이 뭐예요?
처음에 저는 동영상 처리하려고 FFmpeg 명령어를 직접 쳤거든요. 근데 이게 진짜...
ffmpeg -i input.mp4 -vf "scale=1920:1080,hflip" -c:v libx264 -preset fast output.mp4
이런 식으로 명령어가 엄청 길고 복잡해요 😱 하나만 바꾸려 해도 전체 명령어를 다시 써야 하고...
ffmpeg-python은 이런 복잡한 FFmpeg 명령어를 Python 코드로 쉽게 쓸 수 있게 해주는 라이브러리예요!
✅ 장점이 뭐냐면:
- Python 코드로 FFmpeg 기능 사용 가능 (자동화 끝!)
- 복잡한 필터 체인도 직관적으로 구성
- 에러 처리가 Python 스타일로 깔끔함
- 반복 작업 자동화하기 딱 좋아요
⚠️ 주의할 점:
- ffmpeg-python은 래퍼 라이브러리예요 (FFmpeg가 먼저 설치되어 있어야 함!)
- 이거 모르고 pip install만 했다가 저처럼 에러 만나실 거예요 ㅠㅠ

🛠️ 2. 1단계: FFmpeg 먼저 설치하기 (진짜 중요!)
제가 첫 번째로 실수한 부분이에요. pip install ffmpeg-python만 하면 되는 줄 알고 바로 설치했다가...
FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'
```
이런 에러 떴어요 😭 알고 보니 **FFmpeg 프로그램 자체**를 먼저 설치해야 하더라고요!
### 💻 운영체제별 설치 방법
#### Windows 사용자 (제가 쓰는 방법!)
처음에는 복잡해 보였는데, 생각보다 간단해요:
**방법 1: 직접 다운로드 (추천!)**
1. [FFmpeg 공식 사이트](https://ffmpeg.org/download.html)에서 Windows 빌드 다운로드
2. `ffmpeg-release-full.7z` 같은 파일을 받으실 거예요
3. 적당한 곳에 압축 해제 (저는 `C:\ffmpeg`에 풀었어요)
4. **환경 변수 설정이 핵심이에요!** 👇
**환경 변수 PATH 추가하는 법** (이거 꼭 하세요!):
```
1. 윈도우 검색창에 "환경 변수" 입력
2. "시스템 환경 변수 편집" 클릭
3. 환경 변수 버튼 → Path 선택 → 편집
4. 새로 만들기 → C:\ffmpeg\bin 추가
5. 확인 누르고 터미널 재시작!
방법 2: Chocolatey 사용 (개발자라면 이게 편해요)
choco install ffmpeg
훨씬 간단하죠? 근데 Chocolatey가 설치되어 있어야 해요.
macOS 사용자
맥은 진짜 간단해요! Homebrew만 있으면 끝:
brew install ffmpeg
저는 맥북에서는 이렇게 설치했는데 30초 만에 끝나더라고요 👍
MacPorts 쓰시는 분들은:
sudo port install ffmpeg
Linux (Ubuntu/Debian) 사용자
리눅스는 더 간단해요:
sudo apt update
sudo apt install ffmpeg
✅ 설치 확인하기 (꼭 해보세요!)
터미널이나 명령 프롬프트를 새로 열고 (이게 중요해요!) 다음 명령어 입력:
ffmpeg -version
```
**성공 예시:**
```
ffmpeg version 4.4.2 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 11.2.0 (Ubuntu 11.2.0-19ubuntu1)
```
이런 식으로 버전 정보가 쭉 나오면 성공! 🎉
**❌ 실패 예시:**
```
'ffmpeg'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.
이렇게 나오면 환경 변수 PATH 설정이 안 된 거예요. 위에 환경 변수 설정 부분 다시 확인해 주세요!
💡 제가 겪은 문제: 처음에 환경 변수 추가하고 바로 터미널에서 확인했다가 안 됐어요. 알고 보니 터미널을 재시작해야 하더라고요! 이거 모르고 1시간 헤맸어요 ㅋㅋ

📦 3. 2단계: ffmpeg-python 설치하기
FFmpeg 설치 확인했으면 이제 진짜 설치할 차례예요! 이건 진짜 간단해요:
pip install ffmpeg-python
끝! 😄
⚠️ 자주 하는 실수들 (저도 했어요!)
❌ 실수 1: 잘못된 패키지 설치
pip install ffmpeg # 이거 아님!
pip install python-ffmpeg # 이것도 아님!
✅ 정확한 명령어:
pip install ffmpeg-python # 이게 맞아요!
처음에 저는 pip install ffmpeg로 설치했다가 전혀 다른 패키지가 깔렸어요 ㅠㅠ
❌ 실수 2: 가상환경 문제
프로젝트마다 가상환경 쓰시는 분들 많으시죠? 저는 가상환경 활성화 안 하고 설치해서 나중에 import가 안 됐어요:
# 가상환경 있다면 먼저 활성화!
source venv/bin/activate # Mac/Linux
.\venv\Scripts\activate # Windows
# 그 다음에 설치
pip install ffmpeg-python
✅ 4. 제대로 설치됐는지 확인하기
Python 인터프리터를 열어서 확인해봅시다:
import ffmpeg
print(ffmpeg.__version__)
에러 없이 버전이 나오면 성공! 🎊
간단한 테스트 코드
동영상 파일 하나 준비해서 (아무 mp4 파일이나 test.mp4로 이름 변경) 다음 코드 실행해 보세요:
import ffmpeg
# 동영상 정보 가져오기
probe = ffmpeg.probe('test.mp4')
video_info = next(s for s in probe['streams'] if s['codec_type'] == 'video')
print(f"해상도: {video_info['width']}x{video_info['height']}")
print(f"코덱: {video_info['codec_name']}")
이게 잘 실행되면 완벽하게 설치된 거예요! 👍

🎨 5. 실전 예제로 배우기
이제 진짜 쓸모 있는 예제들을 해볼게요! 제가 실제 프로젝트에서 자주 쓰는 것들이에요.
📌 예제 1: 동영상 좌우 반전 (제일 간단해요!)
import ffmpeg
# input.mp4를 좌우 반전해서 output.mp4로 저장
(
ffmpeg
.input('input.mp4')
.hflip() # 수평 반전
.output('output.mp4')
.run()
)
처음에 이 코드 보고 "뭐야 이게 다야?" 했어요 ㅋㅋ 진짜 간단하죠?
📌 예제 2: 동영상 리사이즈 (썸네일 만들 때 유용!)
import ffmpeg
(
ffmpeg
.input('input.mp4')
.filter('scale', 1280, 720) # 1280x720으로 리사이즈
.output('resized.mp4')
.run()
)
저는 유튜브 영상 만들 때 이거 자주 써요!
📌 예제 3: 동영상 자르기 (특정 구간만 추출)
import ffmpeg
(
ffmpeg
.input('input.mp4', ss=10, t=30) # 10초부터 30초 동안
.output('cut.mp4')
.run()
)
💡 팁: ss는 시작 시간(초), t는 지속 시간(초)이에요!
📌 예제 4: 동영상 + 오디오 합치기
import ffmpeg
video = ffmpeg.input('video.mp4')
audio = ffmpeg.input('audio.mp3')
(
ffmpeg
.concat(video, audio, v=1, a=1)
.output('merged.mp4')
.run()
)
이거는 브이로그 편집할 때 배경음악 넣을 때 썼어요!
📌 예제 5: 여러 동영상 이어붙이기
import ffmpeg
# 세 개의 동영상을 순서대로 이어붙이기
video1 = ffmpeg.input('part1.mp4')
video2 = ffmpeg.input('part2.mp4')
video3 = ffmpeg.input('part3.mp4')
(
ffmpeg
.concat(video1, video2, video3)
.output('final.mp4')
.run()
)
📌 예제 6: GIF로 변환 (이거 진짜 자주 써요!)
import ffmpeg
(
ffmpeg
.input('input.mp4', ss=0, t=5) # 처음 5초만
.filter('fps', fps=10) # 10fps로 설정
.filter('scale', 480, -1) # 너비 480px, 높이는 자동
.output('output.gif')
.run()
)

🚨 6. 자주 만나는 에러 해결법 (제가 다 겪어봤어요!)
❌ 에러 1: "ffmpeg: command not found"
증상:
FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'
원인: FFmpeg가 설치 안 됐거나, PATH 설정이 안 됨
해결책:
- 위의 FFmpeg 설치 부분 다시 확인
- 터미널 재시작
- ffmpeg -version으로 확인
❌ 에러 2: "No module named 'ffmpeg'"
증상:
ImportError: No module named 'ffmpeg'
원인: ffmpeg-python이 설치 안 됐거나 가상환경 문제
해결책:
# 현재 환경에 설치되어 있는지 확인
pip list | grep ffmpeg
# 없으면 설치
pip install ffmpeg-python
❌ 에러 3: 오디오가 사라짐 😱
저는 이거 때문에 진짜 한참 고민했어요...
증상: 필터 적용하니까 소리가 없어짐
원인: 일부 FFmpeg 필터는 비디오 스트림만 처리함
해결책:
import ffmpeg
input_video = ffmpeg.input('input.mp4')
# 비디오와 오디오를 분리해서 처리
video = input_video.video.hflip() # 비디오만 처리
audio = input_video.audio # 오디오는 그대로
# 다시 합치기
(
ffmpeg
.output(video, audio, 'output.mp4')
.run()
)
이렇게 .video와 .audio로 분리해서 처리하면 돼요!
❌ 에러 4: "너무 많은 인수"류의 에러
증상:
TypeError: 'NoneType' object is not callable
원인: 메서드 체이닝 순서가 잘못됨
해결책:
- .run()은 항상 맨 마지막에!
- .output()도 .run() 바로 앞에!
# ❌ 잘못된 예
ffmpeg.input('in.mp4').run().output('out.mp4')
# ✅ 올바른 예
ffmpeg.input('in.mp4').output('out.mp4').run()
❌ 에러 5: 이미 존재하는 파일 덮어쓰기
증상: 파일이 이미 있어서 멈춤
해결책:
(
ffmpeg
.input('input.mp4')
.output('output.mp4')
.overwrite_output() # 이거 추가!
.run()
)

🚀 7. 고급 활용 팁
💎 팁 1: 복잡한 필터 체인
import ffmpeg
(
ffmpeg
.input('input.mp4')
.filter('scale', 1920, 1080) # 리사이즈
.filter('hflip') # 좌우 반전
.filter('drawtext',
text='Hello!',
fontsize=50,
x=100,
y=100) # 텍스트 추가
.output('output.mp4')
.run()
)
💎 팁 2: 사용자 정의 옵션
특수한 FFmpeg 옵션 쓸 때:
(
ffmpeg
.input('input.mp4')
.output('output.mp4', **{
'qscale:v': 3, # 품질 설정
'b:v': '2M' # 비트레이트
})
.run()
)
💎 팁 3: 진행 상황 모니터링
긴 동영상 처리할 때 유용해요:
import ffmpeg
(
ffmpeg
.input('long_video.mp4')
.output('output.mp4')
.global_args('-progress', 'pipe:1') # 진행 상황 출력
.run()
)
💎 팁 4: 명령어만 확인하고 실행 안 하기
테스트할 때 좋아요:
import ffmpeg
cmd = (
ffmpeg
.input('input.mp4')
.output('output.mp4')
.compile() # 명령어만 생성
)
print(' '.join(cmd)) # 실제 FFmpeg 명령어 확인
저는 복잡한 작업할 때 이렇게 명령어 먼저 확인해요!
📝 실전 체크리스트
✅ 설치 전
- Python 3.6 이상 설치되어 있나요?
- pip 최신 버전인가요? (pip install --upgrade pip)
- 가상환경 사용한다면 활성화했나요?
✅ FFmpeg 설치 후
- ffmpeg -version 명령어 실행되나요?
- 터미널 재시작했나요?
- 환경 변수 PATH에 제대로 추가되었나요?
✅ ffmpeg-python 설치 후
- import ffmpeg 에러 없이 실행되나요?
- 간단한 예제 코드 실행해봤나요?
- 테스트용 동영상 파일 준비되어 있나요?
💡 제가 3개월 쓰면서 느낀 점
장점:
- Python으로 동영상 자동 처리 정말 편해요!
- 명령어보다 코드가 훨씬 읽기 쉬워요
- 대량의 동영상 일괄 처리할 때 최고
- 에러 처리가 Python스럽게 가능
단점:
- FFmpeg 명령어 어느 정도는 알아야 해요 (100% 몰라도 기본은 알아야...)
- 처음에는 메서드 체이닝이 좀 헷갈려요
- 공식 문서가 좀... 부족한 편이에요 ㅠㅠ
추천하는 경우:
- Python으로 자동화 시스템 만들 때 ✅
- 여러 동영상을 같은 방식으로 처리할 때 ✅
- 웹 서버에서 동영상 처리할 때 ✅
비추하는 경우:
- 일회성 작업이면 그냥 FFmpeg 명령어가 빠를 수도... ❌
- Python 전혀 모르면 학습 곡선이 있어요 ❌
🎯 마무리하며
처음에는 저도 "Python으로 동영상 편집이 되나?" 싶었는데, ffmpeg-python 쓰면서 정말 많은 작업을 자동화할 수 있었어요! 😊
특히 유튜브 자동 편집 프로그램 만들 때 엄청 유용했고, 지금은 거의 모든 동영상 처리를 Python 스크립트로 해결하고 있어요.
혹시 이 가이드 보고 따라해보신 분들, 막히는 부분 있으면 댓글로 물어보세요! 제가 아는 범위에서 도와드릴게요 👍
다음에는 실전 프로젝트 예제들 (썸네일 자동 생성기, 자막 자동 삽입 등)도 올려볼게요!
'지식 공유 > IT, 인공지능 정보' 카테고리의 다른 글
| TrafficMonitor로 PC 성능 실시간 모니터링 (무료 프로그램) (0) | 2026.01.01 |
|---|---|
| 스마트폰으로 자동화 구축! Termux에 n8n 설치 가이드 (0) | 2026.01.01 |
| Windows 10 Hyper-V 설치 완벽 가이드 - 가상 머신 초보자도 5분이면 OK! (0) | 2025.12.25 |
| 챗GPT AI 브라우저 Atlas 완벽 가이드 - Perplexity Koi와 실전 비교 (1) | 2025.12.01 |
| Claude AI 200% 활용하기: Custom Skills로 나만의 AI 비서 만드는 법 (1) | 2025.10.18 |