kutombawewe.net

Come scaricare i video di YouTube come un audio mp3 di migliore qualità usando youtube-dl

Voglio scaricare i video di YouTube come file mp3 nella sua migliore qualità. Il codice seguente aiuta a scaricare i video di YouTube come m4a ma non noi mp3

youtube-dl -f bestaudio --audio-quality 0 --audio-format mp3 https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_

puoi dirmi come utilizzare il parametro bestaudio per scaricare il video di YouTube come mp3

53
Eka

Da man youtube-dl:

-x, --extract-audio                  Convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe)
    --audio-format FORMAT            Specify audio format: "best", "aac", "vorbis", "mp3", "m4a", "opus", or "wav"; "best" by default
    --audio-quality QUALITY          Specify ffmpeg/avconv audio quality, insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K (default

Quindi il tuo comando potrebbe essere:

youtube-dl -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 <Video-URL>

--audio-quality 0 utilizza la massima qualità di codifica ma può aumentare inutilmente le dimensioni del file. L'impostazione predefinita è 5 e potrebbe essere una scelta migliore a seconda della qualità della fonte.

Quindi, se la qualità e le dimensioni dei file sono importanti per te, dovresti evitare di ricodificare e rimanere nei formati musicali nativi di Youtube:

youtube-dl -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata <Video-URL>

risultante in un file m4a o

youtube-dl -f bestaudio --extract-audio --embed-thumbnail --add-metadata <Video-URL>

probabilmente risulta in un file ogg.

È possibile elencare il formato disponibile con

youtube-dl -F <Video-URL>
74
Maythux

Se vuoi solo il file mp3:

youtube-dl -f bestaudio  "https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_" --exec "ffmpeg -i {}  -codec:a libmp3lame -qscale:a 0 {}.mp3 && rm {} "

Se non si desidera rimuovere il file originale:

youtube-dl -f bestaudio  "https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_" --exec "ffmpeg -i {}  -codec:a libmp3lame -qscale:a 0 {}.mp3 "
9
Luis Gneiting

Ti consiglio di usare Pafy (Python), molto facile da ottenere link audio, e puoi scaricarlo direttamente se vuoi:

#python3
import pafy
video = pafy.new('video id or video url')
bestaudio = video.getbestaudio()
bestaudio.bitrate #get bit rate
bestaudio.extension #extension of audio fileurl
...
bestaudio.url #get url
...
#download if you want
bestaudio.download()
8
Khang .NT

Vale anche la pena notare altri pezzi di man youtube-dl (è possibile trovare una copia online qui ):

(Per coloro che pensano a TL; DR, basta leggere il 4 ° paragrafo e puoi usare youtube-dl -x URL poiché dovrebbe comunque scaricare la migliore qualità :)

Anche youtube-dl -f bestaudio URL funziona nella mia esperienza! Tuttavia, con entrambe queste opzioni la maggior parte delle volte dovrai convertirti in MP3 usando ffmpeg o simile - poiché stai già modificando il file puoi anche taggalo (usa il vecchio Versione ID3 per la maggior parte della compatibilità dei dispositivi!).

SELEZIONE FORMATO

Di default youtube-dl cerca di scaricare la migliore qualità, ma a volte potresti voler scaricare altri formati. Il caso più semplice richiede un formato specifico, ad esempio -f 22. Puoi ottenere l'elenco dei formati disponibili usando --list-formats, puoi anche usare un'estensione di file (attualmente supporta aac, m4a, mp3, mp4, ogg, wav, webm) o i nomi speciali best, bestvideo, bestaudio e peggio.

Se desideri scaricare più video e non hanno gli stessi formati disponibili, puoi specificare l'ordine delle preferenze usando le barre, come in-f 22/17/18. Puoi anche filtrare i risultati del video inserendo una condizione tra parentesi, come in -f "best[height=720]" (o -f "[filesize>10M]"). Funziona con dimensioni file, altezza, larghezza, tbr, abr, vbr, asr e fps e i confronti <, <=,>,> =, =,! = E per ext, codec, vcodec, container e protocol e il confronti =,! =. I formati per i quali non si conosce il valore sono esclusi a meno che non si inserisca un punto interrogativo (?) Dopo l'operatore. Puoi combinare i filtri di formato, quindi -f "[height <=? 720][tbr>500]" seleziona video fino a 720p (o video in cui l'altezza non è nota) con un bitrate di almeno 500 KBit/s.

Usa le virgole per scaricare più formati, come -f 136/137/mp4/bestvideo,140/m4a/bestaudio. Puoi unire il video e l'audio di due formati in un singolo file usando -f <video-format>+<audio-format> (richiede ffmpeg o avconv), ad esempio -f bestvideo+bestaudio.

Da fine aprile 2015 e versione 2015.04.26 youtube-dl utilizza -f bestvideo+bestaudio/best come selezione del formato predefinito (vedere # 5447, # 5456). Se sono installati ffmpeg o avconv, si ottiene il download di bestvideo e bestaudio separatamente e il loro assemblaggio in un unico file, offrendo la migliore qualità complessiva disponibile. Altrimenti torna al meglio e si traduce nel download della migliore qualità disponibile servita come un singolo file. il meglio è necessario anche per i video che non provengono da YouTube perché non forniscono l'audio e il video in due file diversi. Se desideri scaricare solo alcuni formati di dash (ad esempio se non sei interessato a ottenere video con una risoluzione superiore a 1080p), puoi aggiungere -f bestvideo[height<=?1080]+bestaudio/best al tuo file di configurazione. Nota che se usi youtube-dl per eseguire lo streaming su stdout (e molto probabilmente lo instrada al tuo lettore multimediale), ovvero specifichi esplicitamente il modello di output come -o -, youtube-dl utilizza ancora il formato -f best selezione per iniziare immediatamente la consegna dei contenuti al tuo lettore e non aspettare fino a quando bestvideo e bestaudio vengono scaricati e combinati.

Se si desidera preservare il vecchio comportamento di selezione del formato (prima di youtube-dl 2015.04.26), ovvero se si desidera scaricare i migliori supporti di qualità disponibili serviti come un singolo file, è necessario specificare esplicitamente la scelta con -f best. Potresti volerlo aggiungere al file di configurazione (#configuration) per non digitarlo ogni volta che esegui youtube-dl.

...

Puoi per favore ripristinare l'opzione -b?

La maggior parte delle persone che fanno questa domanda non sono consapevoli del fatto che youtube-dl ora esegue automaticamente il download della massima qualità disponibile come riportato da YouTube, che in alcuni casi sarà 1080p o 720p, quindi non è più necessario l'opzione -b. Per alcuni video specifici, forse YouTube non segnala che sono disponibili in un formato specifico di alta qualità che ti interessa. In tal caso, basta richiederlo con l'opzione -f e youtube-dl proverà a scaricarlo .

Youtube (probabilmente com'è supposto di essere un sito di riproduzione video) apparentemente comprime anche l'audio (vedi qui ) fino a 120 ~ KB, che è piuttosto basso ma per la maggior parte sembra OK.

Per confrontare i video scaricati, è possibile eseguire una query sulle tracce audio/video scaricate (potrebbe essere necessario utilizzare avprobe anziché ffprobe) per vedere qual è la migliore:

$ ffprobe -hide_banner output-output-loads-of-options.webm
Input #0, matroska,webm, from 'output-output-loads-of-options.webm':
  Metadata:
    encoder         : google
  Duration: 00:04:02.63, start: 0.000000, bitrate: 118 kb/s
    Stream #0:0(eng): Audio: vorbis, 44100 Hz, stereo, fltp (default)
$ ffprobe -hide_banner output_with_just_-x.ogg 

Input #0, ogg, from 'output_with_just_-x':
  Duration: 00:04:02.65, start: 0.000000, bitrate: 117 kb/s
    Stream #0:0(eng): Audio: vorbis, 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      LANGUAGE        : eng
      ENCODER         : Lavf56.4.101
5
Wilf