Come ottenere la migliore qualità audio usando youtube-dl?


16

Sto usando youtube-dlsu Linux per scaricare video da YouTube ed estrarre l'audio. Questo è il mio modo di costruire una piccola collezione musicale.

Ad ogni modo, so che esiste un'opzione --audio-quality=con 0 come migliore e 9 come peggiore. È tutto ciò che devo fare per ottenere la migliore qualità audio?

Inoltre, qualcuno sa se il download da SoundCloud potrebbe ottenere una qualità superiore?

Risposte:


21

Il --audio-qualitynon influisce sulla qualità audio della fonte. È un'opzione di post elaborazione e ricodificherà l'audio.

Dal momento che qualsiasi tipo di ricodifica (con perdita di dati) peggiora effettivamente la qualità del flusso, o almeno lo rende inutilmente più grande, raccomanderei di non postare affatto l'audio.

Per ottenere la migliore qualità audio possibile è sufficiente selezionare un formato sorgente di alta qualità. In realtà, youtube-dllo farà per impostazione predefinita, ma puoi impostarlo esplicitamente con --audio-format best. YouTube (e altri fornitori) memorizzano codec audio diversi con bitrate diversi e youtube-dlsceglieranno il migliore tra quelli.

Se hai ffmpeginstallato sul tuo sistema, youtube-dlpuoi estrarre l'audio automaticamente:

youtube-dl --audio-format best -x <url>

Altrimenti, otterrai un file video dal quale devi estrarre il componente audio.


In caso ffmpegcontrario, perché sto selezionando il formato audio? Se inserisco quella riga ma con aacinvece, non ottengo lo stesso file ma con un'estensione diversa. Ottengo un file diverso con dimensioni e bitrate leggermente diversi.
Blrp

1
Ok, ma questo non risponde alla mia domanda. Sto chiedendo in particolare riguardo alla conversione da video ad audio. Se esiste un comando che prende l'audio da un MP4 e lo salva come file audio senza ricodifica, dovrebbe esserci un solo risultato possibile, giusto? Eppure, il comando ffmpeg nel tuo post produce un risultato diverso a seconda dell'estensione selezionata per l'audio. Quindi esiste sempre un'estensione audio corretta, a seconda dell'estensione video, per la quale ottengo l'audio senza ricodifica? O altrimenti come posso farlo?
Blrp

1
Ora vedo. Innanzitutto, ho chiarito la mia risposta: era un po 'più complessa del necessario. Inoltre, forse questa risposta è interessante da leggere. Anche se il bitstream del codec audio non viene toccato (ovvero, copiato), l'estensione determina il modo in cui è racchiuso in un formato. Non esiste una mappatura 1: 1 qui. Alcuni formati richiedono più spazio di altri. Puoi usare ffmpeg -i in.mp4 -c:a copy -vn out.m4ae finire con un file diverso rispetto a ffmpeg -i in.mp4 -c:a copy -vn out.mkv, sebbene entrambi contengano esattamente gli stessi dati audio (e quindi abbiano la stessa qualità audio).
slhck

1
Sono certo che non ricodificherà. Non ha alcuna capacità di farlo. Il motivo per cui stai ottenendo gli stessi bitrate è che YouTube ha una variazione molto limitata nei bitrate / codec audio che usano, in contrasto con le rappresentazioni video. Forse YouTube è un po 'irregolare quando assegna bitrate video e audio e potresti vedere un bitrate audio più alto per una qualità video inferiore; in tal caso, penso youtube-dlche selezioni ancora il formato video di massima qualità. Hai un esempio di video specifico?
slhck

1
Sembra che vada bene. Ad esempio nella seconda, quando si utilizza -xcome opzione, scaricherà la variante solo audio con il bitrate più alto (256k, codice formato 141, prova con youtube-dl -F <url>). Tutti gli altri componenti audio delle altre rappresentazioni audiovisive hanno bitrate più bassi.
slhck

5

Resta con i formati musicali nativi di Youtube per evitare la ricodifica:

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

risultante in un m4afile o

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

Quest'ultimo può anche restituire un oggfile se il formato di qualità audio più elevato è OPUS anziché AAC.

È possibile elencare il formato disponibile con

youtube-dl -F <Video-URL>

Qual è la differenza tra bestaudio[ext=m4a]e --extract-audio? Perché il secondo dovrebbe probabilmente comportare un oggma non il primo?
Hashim,

[ext=m4a]limita la selezione ai formati m4a disponibili e senza la --extract-audiomemorizza nello stesso formato contenitore m4a. Con --extract-audioi dati audio viene estratto e memorizzato in un contenitore ogg.
Frank Breitling,

Mi dispiace che sia in ritardo, ma ciò non spiega davvero perché quest'ultimo comporterebbe un .oggfile specifico. Perché .oggquando .oggnon è stato specificato?
Hashim,

La mia comprensione è che la migliore qualità audio disponibile è in formato OPUS anziché AAC, quindi viene salvata in un contenitore ogg. Ho aggiornato la mia risposta di conseguenza.
Frank Breitling,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.