2016-07-28 35 views
1

我正在嘗試使用youtube-dl來下載一些youtube視頻聲音作爲mp3並嵌入縮略圖。 但我得到每次我試圖以下錯誤:使用Youtube-dl嵌入縮略圖到mp3提升異常

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

這裏是我的YouTube-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'},]} 

任何想法,爲什麼?嵌入縮略圖沒有任何參數。

謝謝

+0

前[ - 1] .keys()'? –

+0

它是一個python模塊,我沒有添加行的源代碼。 – Gigalala

回答

1

所以我想它在我自己的,雖然它不是在YouTube上-DL API文檔。 您需要添加'writethumbnail':True期權,並更改訂單上的後處理器,以便'key': 'FFmpegExtractAudio'可以打印`信息[ '縮略圖']爲'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」**的原因。如果您將其更改爲靜態的「.mp3」,那麼您將需要進行一些長時間的調試,就像我一樣。 – ofekp