🚀 순서
- FFmpeg 설치 & 환경 변수 추가
- ffplay -version으로 정상 작동 확인
- ffplay를 사용하여 직접 재생 테스트
- Python 코드에서 subprocess로 실행
- FFmpeg 없이 pygame 또는 pydub으로 재생도 가능
✅ 1) FFmpeg 다운로드 및 설치
- FFmpeg 공식 웹사이트로 이동
- Windows용 FFmpeg 다운로드:
- Windows → Get packages & executable files 클릭
- Gyan.dev 또는 BtbN 사이트로 이동하여 "ffmpeg-release-full.zip" 다운로드
- 다운로드한 .zip 파일을 압축 해제
- 예: C:\ffmpeg 경로에 압축을 풀기
✅ 2) 시스템 환경 변수에 FFmpeg 경로 추가
FFmpeg가 어디서든 실행되도록 하기 위해 환경 변수를 설정해야 합니다.
- Windows 키 + R → sysdm.cpl 입력 후 실행
- 고급 탭 → 환경 변수 버튼 클릭
- "시스템 변수" 목록에서 Path 항목을 찾아 "편집" 버튼 클릭
- 새로 만들기 버튼을 눌러 C:\ffmpeg\bin 경로 추가
- 확인 → 확인 → 적용 후 시스템 재부팅
🔹 2. FFmpeg 설치 확인
설정이 정상적으로 완료되었는지 확인하려면, 명령 프롬프트(cmd)를 열고 아래 명령어를 실행하세요.
bash
ffplay -version
출력 예시:
pgsql
ffplay version 5.1 Copyright (c) 2003-2023 the FFmpeg developers built with gcc 12.1.0
이와 같은 메시지가 나오면 설치가 정상적으로 완료된 것입니다.
🔹 3. FFplay로 오디오 테스트
설치가 완료되었으면, 오디오 파일을 ffplay로 직접 재생해봅니다.
bash
ffplay C:\Users\skfka\OneDrive\문서\GitHub\scraping\RadioGwangJU\radio_gwangju.mp3
이 명령어를 실행했을 때 소리가 나오면, 오디오 파일 자체에는 문제가 없다는 의미입니다.
🔹 4. FFmpeg를 사용한 Python 코드에서의 실행
Python 코드에서 subprocess를 사용하여 FFplay를 실행할 수도 있습니다.
python
import subprocess
file_path = r"C:\radio_g.mp3"
def play_audio_with_ffplay(file):
"""FFmpeg의 ffplay를 사용하여 오디오 파일 재생"""
subprocess.run(["ffplay", "-nodisp", "-autoexit", file], shell=True) # 실행
play_audio_with_ffplay(file_path)
-nodisp → 영상 화면 없이 오디오만 출력
-autoexit → 재생이 끝나면 자동 종료
🔹 5. FFmpeg 없이 Python만으로 오디오 재생하는 방법
FFmpeg 없이 pygame이나 pydub을 사용할 수도 있습니다.
1) Pygame 사용
python
import pygame pygame.mixer.init()
pygame.mixer.music.load("radio_g.mp3")
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
pygame.time.Clock().tick(10) # 음악이 끝날 때까지 대기
2) Pydub + simpleaudio 사용
python
from pydub
import AudioSegment from pydub.playback
import play
sound = AudioSegment.from_file("radio_gwangju.mp3")
play(sound)
728x90
'개발로그 > Python' 카테고리의 다른 글
python - API 연동할 때, 인증코드를 모듈마다 넣는 이유..가 있었다.. 무식해서 그런게 아니라규..ㅠ (0) | 2025.03.11 |
---|---|
구글드라이브에서 API로 파일 탐색을 할 때, 어떻게 하는게 더 효율적일까? feat ChatGPT (0) | 2025.03.11 |
Pygame에서 나오는 모든 소리를 하나의 파일(wav)로 저장하는 방법 (0) | 2025.03.10 |
threading.Event() 객체의 활용 예제 및 백그라운드 실행 정리 (0) | 2025.03.09 |
Google Drive에 있는 파일을 다운로드하는 세가지 방법 (0) | 2025.03.07 |
Vscode or Jupyter notebook conda 환경에서 실행되도록 설정하기 (0) | 2025.03.06 |
파이썬을 활용하는 머신러닝 딥러닝 차이 그리고 ai란? 한방에 정리하기 (2) | 2022.12.20 |
책으로 코딩 독학하시는 분, 저만의 독서법을 가르쳐드립니다. (0) | 2022.11.25 |
댓글