python과 youtube-dl을 이용하여 유튜브 비디오와 mp3다운받기(youtube videos and mp3s using youtube-dl and python)
Python 2020. 11. 2. 15:07ffmpeg의 bin폴더내의 3개 파일(ffmpeg.exe, ffplay.exe, ffprobe.exe)이 파이썬 메인 파일과 같은 폴더에 있다고 가정한다.
- 유뷰브 주소가 'https://youtu.be/gRyJZYOEQ9Y'인 동영상 다운 받으려면 아래와 같이 입력한다
'youtube-dl ytsearch:YgtL4S7Hrwo'
(venv10) E:\youtube_download>youtube-dl YgtL4S7Hrwo
[youtube] YgtL4S7Hrwo: Downloading webpage
[download] Destination: Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.f247.webm
[download] 100% of 113.05MiB in 00:08
[download] Destination: Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.f251.webm
[download] 100% of 35.72MiB in 00:02
[ffmpeg] Merging formats into "Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.webm"
Deleting original file Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.f247.webm (pass -k to keep)
Deleting original file Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.f251.webm (pass -k to keep)
- 유뷰브 주소가 'https://youtu.be/gRyJZYOEQ9Y'인 동영상의 다운 가능한 video와 audio 포맷 정보 보려면 아래와 같이 입력한다
'youtube-dl ytsearch:YgtL4S7Hrwo --list-formats'
(venv10) E:\youtube_download>youtube-dl YgtL4S7Hrwo --list-formats
[youtube] YgtL4S7Hrwo: Downloading webpage
[info] Available formats for YgtL4S7Hrwo:
format code extension resolution note
249 webm audio only tiny 51k , opus @ 50k (48000Hz), 15.13MiB
250 webm audio only tiny 72k , opus @ 70k (48000Hz), 19.61MiB
140 m4a audio only tiny 129k , m4a_dash container, mp4a.40.2@128k (44100Hz), 38.38MiB
251 webm audio only tiny 130k , opus @160k (48000Hz), 35.72MiB
160 mp4 256x144 144p 34k , avc1.4d400c, 30fps, video only, 4.08MiB
278 webm 256x144 144p 54k , webm container, vp9, 30fps, video only, 9.75MiB
133 mp4 426x240 240p 56k , avc1.4d4015, 30fps, video only, 7.01MiB
242 webm 426x240 240p 85k , vp9, 30fps, video only, 13.77MiB
134 mp4 640x360 360p 114k , avc1.4d401e, 30fps, video only, 13.50MiB
243 webm 640x360 360p 156k , vp9, 30fps, video only, 24.85MiB
135 mp4 854x480 480p 202k , avc1.4d401f, 30fps, video only, 24.01MiB
244 webm 854x480 480p 292k , vp9, 30fps, video only, 38.34MiB
136 mp4 1280x720 720p 410k , avc1.4d401f, 30fps, video only, 45.66MiB
247 webm 1280x720 720p 868k , vp9, 30fps, video only, 113.05MiB
22 mp4 1280x720 720p 277k , avc1.64001F, 30fps, mp4a.40.2@192k (44100Hz)
18 mp4 640x360 360p 310k , avc1.42001E, 30fps, mp4a.40.2@ 96k (44100Hz), 93.77MiB (best)
- 위 리스트 중 249 포맷 코드 다운 받으려면 아래와 같이
(venv10) E:\youtube_download>youtube-dl YgtL4S7Hrwo -f 249
[youtube] YgtL4S7Hrwo: Downloading webpage
[download] Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.webm has already been downloaded
[download] 100% of 148.77MiB
- '-f worst'를 쓰면 가장 안좋은 품질이 다운된다는데, 좋은 품질이 다운된다. 어떻게 된거지?
(venv10) E:\youtube_download>youtube-dl YgtL4S7Hrwo -f worst
[youtube] YgtL4S7Hrwo: Downloading webpage
[download] Destination: Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.mp4
[download] 100% of 83.80MiB in 00:05
- 'youtube-dl -x --audio-format mp3 YgtL4S7Hrwo'이라고 하면 mp3가 다운되는데, 오디오 품질은 가변(various) 품질이다.
(venv10) E:\youtube_download>youtube-dl -x --audio-format mp3 YgtL4S7Hrwo
[youtube] YgtL4S7Hrwo: Downloading webpage
[download] Destination: Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.webm
[download] 100% of 35.72MiB in 00:02
[ffmpeg] Destination: Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.mp3
Deleting original file Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.webm (pass -k to keep)
- 특정 오디오 품질로 하려면, 예를 들어 64kbps로 하려면 '--audio-quality 64k'를 넣어준다
(venv10) E:\youtube_download>youtube-dl -x --audio-format mp3 --audio-quality 64k YgtL4S7Hrwo
[youtube] YgtL4S7Hrwo: Downloading webpage
[download] Destination: Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.webm
[download] 100% of 35.72MiB in 00:02
[ffmpeg] Destination: Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.mp3
Deleting original file Guido van Rossum - Python Language - PyCon 2016-YgtL4S7Hrwo.webm (pass -k to keep)
참고: spapas.github.io/2018/03/06/easy-youtube-mp3-downloading/
'Python' 카테고리의 다른 글
Python youtube_dl.YoutubeDL() Examples (0) | 2020.11.03 |
---|---|
youtube-dl옵션 자세히 설명 (youtube-dl - download videos from youtube.com or other video platforms) (0) | 2020.11.03 |
[self] 파이썬(python) youtube-dl을 이용해 youtube 동영상에서 음성(소리)만 mp3로 받기 (3) | 2020.10.28 |
'pip3 install youtube_dl' 이라고 해야 설치된다. (0) | 2020.10.28 |
프로그래밍 교육 부트캠프를 운영하며 가장 많이 받는 질문들이 있습니다. "XX살인데, 지금 부터 해도 가능할까요?" 관련해서 재밌는 글이 번역 (0) | 2020.10.27 |