2014-12-14 14 views
17

C'è uno fewposts su downloading audio da YouTube utilizzando youtube-dl, ma nessuno di essi è concreto o troppo utile. Mi chiedo quale sia il modo migliore per farlo da uno script Python.scaricare solo l'audio dal video di YouTube utilizzando youtube-dl nello script python

Per esempio, ecco l'esempio README per i video download:

import youtube_dl 

ydl_opts = {} 
with youtube_dl.YoutubeDL(ydl_opts) as ydl: 
    ydl.download(['http://www.youtube.com/watch?v=BaW_jenozKc']) 

Ovviamente se solo preoccupate per l'audio, si preferisce non scaricare l'intero video ...

La fonte youtube-dl è solo così utile (cioè, non molto).

Qualche suggerimento su come scriverlo?

risposta

26

continuate a leggere la developer instructions per un esempio modificato:

from __future__ import unicode_literals 
import youtube_dl 


ydl_opts = { 
    'format': 'bestaudio/best', 
    'postprocessors': [{ 
     'key': 'FFmpegExtractAudio', 
     'preferredcodec': 'mp3', 
     'preferredquality': '192', 
    }], 
} 
with youtube_dl.YoutubeDL(ydl_opts) as ydl: 
    ydl.download(['http://www.youtube.com/watch?v=BaW_jenozKc']) 

Questo scaricherà un file audio, se possibile/supportato. Se il file non è già mp3, il file scaricato deve essere convertito in mp3 utilizzando ffmpeg o avconv. Per ulteriori informazioni, fare riferimento alle voci della documentazione format e postprocessors in una versione corrente di youtube-dl.

+0

Ive ha provato quanto sopra ma ottiene il seguente errore: ERRORE: conversione audio non riuscita: file: mp3: argomento non valido. Se provo a usare "migliore" invece di mp3, ottengo lo stesso errore ma per il file: opus. Sono in grado di utilizzare lo strumento da riga di comando youtube-dl, ma quando eseguito in Python non riesco a far funzionare il postelaboratore. Qualche idea? – stackPusher

+0

@stackPusher Sembra un problema con ffmpeg, avconv. Si prega di inviare una nuova domanda e includere l'intero programma dimostrativo (quello che si esegue effettivamente, può essere identico a questa risposta) e l'intero output quando si attiva verbose - la prima riga dovrebbe essere sulla falsariga di '[debug ] System config: [] '. – phihag

+0

Grazie ho postato una nuova domanda con i dettagli: http://stackoverflow.com/questions/39665160/youtube-dl-python-script-postprocessing-error-ffmpeg-codecs-arent-being-recogn. Se desideri che i miei commenti vengano cancellati da questo post, pronuncia la parola. Grazie! – stackPusher

Problemi correlati