2016-07-28 2 views
1

youtube-dlを使用してmp3としてYouTubeのビデオサウンドをダウンロードし、サムネイルも埋め込もうとしています。 しかし、私は次のエラーに私がしようとするたびに取得する:ここでYoutube-dlでmp3にサムネイルを埋め込む例外を発生させる

thumbnail_filename = info['thumbnails'][-1]['filename'] KeyError: 'filename' 

は私のユーチューブ-dlのオプションである

ydl_opts = { 
     'key':'IgnoreErrors', 
     'format': 'bestaudio/best', 
     'download_archive': self.songs_data, 
     'outtmpl': '/'+download_path+'/'+'%(title)s.%(ext)s', 
     'progress_hooks': [self.my_hook], 
     'postprocessors': [{ 
      'key': 'FFmpegExtractAudio', 
      'preferredcodec': 'mp3', 
      'preferredquality': '192'}, 
      {'key': 'EmbedThumbnail'},]} 

任意のアイデアなぜですか? embed thumbnailには引数がありません。

はあなたに

+0

あなたは'インフォ[ 'サムネイル']印刷することができます前に、 あなたはオプションに'writethumbnail':Trueを追加し、ポスト・プロセッサ上で順序を変更する必要があるので、'key': 'FFmpegExtractAudio'はありますか? –

+0

そのpythonモジュール、私は行を追加するソースコードがありません。 – Gigalala

答えて

1

をそのユーチューブ-DL APIの文書化されていないが、だから私は自分の上でそれを考え出した。ありがとうございました[ - 1] .keys() `'key': 'EmbedThumbnail'

ydl_opts = { 
     'writethumbnail': True, 
     'format': 'bestaudio/best', 
     'download_archive': self.songs_data, 
     'outtmpl': '/'+download_path+'/'+'%(title)s.%(ext)s', 
     'progress_hooks': [self.my_hook], 
     'postprocessors': [ 
      {'key': 'FFmpegExtractAudio', 
      'preferredcodec': 'mp3', 
      'preferredquality': '192'}, 
      {'key': 'EmbedThumbnail',},]} 
+0

「** Gigalala **」の回答に追加してください。このファイルを** "webm" **としてダウンロードする必要がありますので、** "%(ext)s" **が使用されています。あなたが 'outtmpl'の静的な ".mp3"に変更すると、私のように長い時間のデバッグができます。 – ofekp

関連する問題