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('파일 확장자 변경 오류 발생!!')
[파일 추출 결과]
[이미 다운로드된 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.
[파일 추출 결과]
※ 관련 글 더보기
'코딩 연습' 카테고리의 다른 글
Pandas - 데이터 분석용 파이썬 라이브러리 "판다스" #1 (0) | 2022.10.08 |
---|---|
엑셀 시트 분리 저장 - 엑셀 파일의 시트를 분리하여 저장하기 (2) | 2022.09.25 |
유뷰트 영상 다운로드 - 파이썬 tkinter (0) | 2022.09.13 |
리눅스 가상서버 환경에서 장고(django) 서버 구동을 위한 nginx, gunicorn 설치해보기 (0) | 2022.08.21 |
cafe24 가상서버호스팅 신청하고 서버 셋팅과 파이썬 장고 설치하기 (0) | 2022.08.13 |
댓글