2017-11-21 7 views
1

私はPythonでYouTube動画をダウンロードするためにpytubeを使っています。これまでのところ私は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のコマンドを実行するためにPythonの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

ありがとう、しかし、私はこれをPython(3.4)でどのようにすることができますか? –

+0

良い質問です!編集を参照してください。 – scrpy

関連する問題