일러두기
유튜브(YouTube)에서 영상을 다운로드하는 것은 유튜브의 정책을 위반하는 것입니다. 오로지 자신이 올린 데이터(영상)만 사용 중지전 사본을 백업할 목적으로 다운로드할 수 있습니다.
개요
python에서 youtube_dl 모듈을 이용해 유튜브 영상의 오디오(mp3) 추출(다운로드)하는 방법입니다.
필요한 프로그램
※ 아래의 작업은 Ubuntu18.04(WSL)에서 수행하였습니다.
- python3와 package manager(pip3)
$ sudo apt install python3 pip3
- youtube_dl 모듈
$ pip3 install youtube_dl
- ffmpeg
ffmpeg는 youtube_dl로 다운로드한 영상(.mp4
)을 오디오(.mp3
)로 변환할 수 있는 도구 입니다.
$ sudo apt install ffmpeg
코드
#!/bin/env python3
# Requires: youtube_dl module
# Requires: ffmpeg
# Usage:
#
# python youtube2mp3.py <URL>, ...
#
# Example:
#
# python3 youtube2mp3.py https://www.youtube.com/watch?v=dQw4w9WgXcQ
import youtube_dl
import sys
class MyLogger(object):
def debug(self, msg):
pass
def warning(self, msg):
pass
def error(self, msg):
print(msg)
def my_hook(d):
if d['status'] == 'finished':
print('Done downloading, now converting ...')
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
'logger': MyLogger(),
'progress_hooks': [my_hook],
}
if __name__ == "__main__":
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
filenames = sys.argv[1:]
ydl.download(filenames)
사용법
파이썬 소스코드를 youtube2mp3.py이름으로 저장한 후 오디오를 추출하고자 하는 유트브 영상의 URL과 함께 입력하여 실행합니다.
$ python3 youtube2mp3.py https://www.youtube.com/watch?v=dQw4w9WgXcQ
출처
'기타' 카테고리의 다른 글
외부 JavaScript 불러오기 (async, defer) (0) | 2020.07.08 |
---|---|
JavaScript로 PWA 만들기 - 캐시 업데이트 반영하기 (0) | 2020.06.17 |
PythonCode_입력장치 제어 (0) | 2020.02.23 |
Redirection과 Pipe의 차이가 무엇인가요? (0) | 2019.12.05 |
Youtube Data APIv3 할당량 0 오류 (0) | 2019.12.04 |