2017-11-21 4 views
1

저는 pytube를 사용하여 파이썬으로 youtube 비디오를 다운로드하고 있습니다. 지금까지 나는 mp4 형식으로 다운로드 할 수있었습니다. py3ube를 사용하여 mp3 형식으로 비디오를 다운로드하십시오.

yt = pytube.YouTube("https://www.youtube.com/watch?v=WH7xsW5Os10") 

vids= yt.streams.all() 
for i in range(len(vids)): 
    print(i,'. ',vids[i]) 

vnum = int(input("Enter vid num: ")) 
vids[vnum].download(r"C:\YTDownloads") 
print('done') 

본인은 '오디오'버전을 다운로드 관리하지만 .mp4 형식이었다. 확장명을 .mp3으로 변경하려고 시도했지만 오디오가 재생되었지만 응용 프로그램 (Windows Media Player)이 응답을 멈추고 지연되었습니다.

비디오를 오디오 파일로 다운로드하려면 .mp3 형식 ? 이 모듈을 처음 사용하면서 몇 가지 코드를 제공해주십시오.

감사합니다.

답변

1

어떻게 비디오를 .mp3 형식의 오디오 파일로 다운로드 할 수 있습니까 ?

나는 두려워 할 것입니다. 직접 다운로드 할 수있는 유일한 파일은 yt.streams.all()입니다.

그러나 다운로드 한 오디오 파일을 .mp4에서 .mp3 형식으로 변환하는 것은 간단합니다. 당신이 ffmpeg가 설치되어있는 경우 예를 들어, 트릭을 할 것 터미널에서이 명령을 실행 (당신은 다운로드 디렉토리에있어 가정) :

ffmpeg -i downloaded_filename.mp4 new_filename.mp3 

을 다른 방법으로,는 FFmpeg 명령을 실행하기 위해 파이썬의 subprocess 모듈을 사용할 수 있습니다 프로그래밍 방식으로 :

import os 
import subprocess 

import pytube 

yt = pytube.YouTube("https://www.youtube.com/watch?v=WH7xsW5Os10") 

vids= yt.streams.all() 
for i in range(len(vids)): 
    print(i,'. ',vids[i]) 

vnum = int(input("Enter vid num: ")) 

parent_dir = r"C:\YTDownloads" 
vids[vnum].download(parent_dir) 

new_filename = input("Enter filename (including extension): ")) # e.g. new_filename.mp3 

default_filename = vids[vnum].default_filename # get default name using pytube API 
subprocess.call(['ffmpeg', '-i',    # or subprocess.run (Python 3.5+) 
    os.path.join(parent_dir, default_filename), 
    os.path.join(parent_dir, new_filename) 
]) 

print('done') 
+0

감사합니다,하지만 어떻게 이것을 파이썬 (3.4)에서 할 수 있습니까? –

+0

좋은 질문입니다! 편집을 참조하십시오. – scrpy

관련 문제