본문 바로가기
코딩 연습

유튜브 음원 추출 다운로드(유뷰브 음악 추출하는 2가지 방법)

by good4me 2022. 9. 19.

goodthings4me.tistory.com

유튜브에서 영상을 다운로드하는 방법을 포스팅한 후 음원(오디오)만을 추출하는 방법에 대해 궁금해서 찾아봤다. ffmpeg 활용 방법도 있었지만, 간단하게 변환할 수 있는 방법이 있어서 관련 포스팅을 해본다.(Windows 10 기준임)

 

 

파이썬으로 동영상에서 오디오 추출하기

자동차 운전을 하면서 영상을 보는 일이 많은 요즘.
자칫 눈이 오작동을 하여 크고 작은 사고가 날 수 있어서 영상보다는 오디오 파일을 듣는 것이 좋을 때가 많다.
이 소스 코드를 활용하여 영상을 오디오로 변환해서 클라우드에 올려놓고 음악 듣기에 활용하면 다운로드 시간도 단축될 수 있을 거 같다. 

 

[pytube 모듈을 사용하여 오디오 mp4 파일을 받고 확장자를 바꾸는 방법]

# pip install pytube
from pytube import YouTube
import os, shutil

youtube_url = 'https://youtu.be/QaACO69DQUw'
yt = YouTube(youtube_url)  # YouTube 객체 생성
fpath = './python_pytube/youtube/'
# print(yt.streams.all())

## .mp4 오디오 파일 다운로드
yt.streams.filter(only_audio=True).first().download(fpath)
# yt.streams.filter(only_audio=True).all()[0].download(fpath)
print(f'yt.title : {yt.title}')
# yt.title : [케스코꿀팁] 샷시교체하려면 최소한 용어는 알고 바꾸자!

## 파일 복사
source_file = fpath + yt.title + '.mp4'
copy_file = fpath + '_' + yt.title + '.mp4'
shutil.copy(source_file, copy_file)

mp3_file = fpath + yt.title + '.mp3'

# 확장자 변경 .mp4 --> .mp3
try:
    os.rename(source_file, mp3_file)
except:
    print('파일 확장자 변경 오류 발생!!')

 

[파일 추출 결과]

탐색기 폴더에 파일이 생성됨
탐색기 폴더에 파일이 생성됨

 

good4me.co.kr

 

 

[이미 다운로드된 mp4 영상 파일에서 moviepy 모듈을 사용하여 mp3로 음원 추출하는 방법]

## pip install moviepy
import moviepy.editor as meditor
import os, glob

fpath = './python_pytube/youtube/'
files = glob.glob(fpath + '/*.mp4')  # .mp4 파일만 대상
print(files)
# ['./python_pytube/youtube\\[케스코뉴스] 휴그린 리모델링 최초 자동환기창 시공 기업.mp4']

for file in files:
    mfile = meditor.VideoFileClip(file)
    print(mfile)
    # <moviepy.video.io.VideoFileClip.VideoFileClip object at>
    filename = os.path.splitext(file)
    mfile.audio.write_audiofile(filename[0] + '.mp3')

 

[실행 결과 - 터미널]

['./python_pytube/youtube\\[케스코뉴스] 휴그린 리모델링 최초 자동환기창 시공 기업.mp4']
<moviepy.video.io.VideoFileClip.VideoFileClip object at 0x00000237839DFFD0>
MoviePy - Writing audio in ./python_pytube/youtube\[케스코뉴스] 휴그린 리모델링 최초 자동환
기창 시공 기업.mp3
MoviePy - Done.

 

[파일 추출 결과]

moviepy 라이브러리 활용 결과
moviepy 라이브러리 활용 결과

 

※ 관련 글 더보기

 

 

유뷰트 영상 다운로드 - 파이썬 tkinter

예전에 파이썬 라이브러리로 유튜브 영상을 추출하는 소스코드를 올렸다가 라이브러리의 코드 에러가 발생하여 사용을 못했는데 라이브러리가 수정되어 최근에 다시 반영하였다. 이에 유튜브

goodthings4me.tistory.com

 

댓글