import yt_dlp
import os
# YouTube URL 입력 (여기에 다운로드할 영상의 URL을 입력하세요)
video_url = "https://youtu.be/a-KbevnrbSc?si=s6egDOlVxnQqcUTn" # 실제 URL로 변경하세요
# 저장할 폴더 경로 설정
output_path = os.path.join(".", "extract_mp3") # 현재 폴더 아래 extract_mp3 폴더 생성
# 저장 폴더가 없으면 생성
if not os.path.exists(output_path):
os.makedirs(output_path)
print(f"저장 폴더가 생성되었습니다: {output_path}")
def download_audio(url, output_path="./"):
"""
YouTube 영상에서 음성을 추출하여 MP3로 저장합니다.
Parameters:
url (str): YouTube 영상 URL
output_path (str): 저장할 경로
"""
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
'outtmpl': os.path.join(output_path, '%(title)s.%(ext)s'),
'verbose': True,
'ffmpeg_location': 'C:\\FFmpeg\\bin' # FFmpeg 설치 경로
}
try:
print("다운로드를 시작합니다...")
print(f"저장 위치: {output_path}")
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
print("다운로드가 완료되었습니다!")
return True
except Exception as e:
print(f"에러가 발생했습니다: {str(e)}")
return False
# 메인 실행 부분
if __name__ == "__main__":
success = download_audio(video_url, output_path)
if success:
print("음성 추출이 성공적으로 완료되었습니다.")
print(f"파일이 다음 경로에 저장되었습니다: {output_path}")
else:
print("음성 추출 중 문제가 발생했습니다.")