Domanda Come selezionare la qualità del video da youtube-dl?


Ho installato youtube-dl nel mio 14.04.

Posso scaricare video seguendo il comando,

$ youtube-dl [youtube-link]

Ma io voglio sapere come selezionare la qualità pixel disponibile del video di YouTube (cioè 1080p, 720p, 480p, ecc).

Nella descrizione del software hanno detto che è possibile (mostrato nell'immagine sotto), ma come fare ..

ss


182
2018-06-21 10:03


origine


La descrizione di cui sopra è obsoleta. Dal man pagina: "youtube-dl ora ha come valore predefinito il download della massima qualità disponibile, come riportato da YouTube, che in alcuni casi sarà 1080p o 720p." - Jos
Tieni presente che YouTube ha adottato una sorta di protezione che impedisce agli strumenti di download di scaricare (o persino vedere) la versione 1080p, ma puoi comunque scaricare tutte le altre risoluzioni fino a 720p. - thomasrutter


risposte:


Per scaricare un video, si digita l'URL dopo il comando in questo modo:

youtube-dl "http://www.youtube.com/watch?v=P9pzm5b6FFY"

Per selezionare la qualità del video, prima usare il -F opzione per elencare i formati disponibili, ecco un esempio,

youtube-dl -F "http://www.youtube.com/watch?v=P9pzm5b6FFY"

Ecco l'output:

[youtube] Setting language
[youtube] P9pzm5b6FFY: Downloading webpage
[youtube] P9pzm5b6FFY: Downloading video info webpage
[youtube] P9pzm5b6FFY: Extracting video information
[info] Available formats for P9pzm5b6FFY:
format code extension resolution  note 
140         m4a       audio only  DASH audio , audio@128k (worst)
160         mp4       144p        DASH video , video only
133         mp4       240p        DASH video , video only
134         mp4       360p        DASH video , video only
135         mp4       480p        DASH video , video only
136         mp4       720p        DASH video , video only
17          3gp       176x144     
36          3gp       320x240     
5           flv       400x240     
43          webm      640x360     
18          mp4       640x360     
22          mp4       1280x720    (best)

La migliore qualità è 22 quindi usa -f 22 invece di -F per scaricare il video MP4 con risoluzione 1280x720 come questo:

youtube-dl -f 22 "http://www.youtube.com/watch?v=P9pzm5b6FFY"

O opzionalmente usa i seguenti flag per scaricare automaticamente le migliori tracce audio e video disponibili:

youtube-dl -f bestvideo+bestaudio "http://www.youtube.com/watch?v=P9pzm5b6FFY"

Se riscontri un errore durante il processo di muxing, prova invece quanto segue:

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 "http://www.youtube.com/watch?v=P9pzm5b6FFY"

Quel comando ti garantirà di scaricare il video mp4 di alta qualità e l'audio m4a dal video e unirli in un unico mp4 (usando ffmpeg nel mio caso).

Fonte: http://www.webupd8.org/2014/02/video-downloader-youtube-dl-gets.html


268
2018-06-21 10:19



Assicurati di non scegliere DASH. Sarà ingiocabile! - ps95
@ prakharsingh95 L'audio DASH può essere convertito solo in formato wave standard o mp3 utilizzando gnac o software simile. - mchid
volevo dire DASH Video. Ho provato a scaricare 4K, ma questo è tutto DASH formato (DASH consente a youtube di preservare la larghezza di banda). È radicalmente diverso, sarà per lo più ingiocabile. - ps95
@ prakharsingh95 Sì, se potessi essere in grado di visualizzare l'mp4 usando VLC come VLC ti permette di sincronizzare il video con un file separato per l'audio. Non l'ho provato però. Hai provato a convertire il file mp4 dal download DASH in formato avi? Penso che siano simili. - mchid
Sì. Dash è ovviamente giocabile, ma è necessario modificare i flussi con qualcosa di simile avconv. Troppo lento per 4K. - ps95


È possibile scaricare 1080p utilizzando youtube-dl, ma devi fare un piccolo lavoro extra. Solitamente scarica solo 720p come massimo anche se puoi vedere 1080p su youtube.com.

Corri con -F per vedere i formati disponibili:

youtube-dl -F https://www.youtube.com/watch\?v\=-pxRXP3w-sQ

171         webm      audio only  DASH audio  115k , audio@128k (44100Hz), 2.59MiB (worst)
140         m4a       audio only  DASH audio  129k , audio@128k (44100Hz), 3.02MiB
141         m4a       audio only  DASH audio  255k , audio@256k (44100Hz), 5.99MiB
160         mp4       256x144     DASH video  111k , 12fps, video only, 2.56MiB
247         webm      1280x720    DASH video 1807k , 1fps, video only, 23.48MiB
136         mp4       1280x720    DASH video 2236k , 24fps, video only, 27.73MiB
248         webm      1920x1080   DASH video 3993k , 1fps, video only, 42.04MiB
137         mp4       1920x1080   DASH video 4141k , 24fps, video only, 60.28MiB
43          webm      640x360
18          mp4       640x360
22          mp4       1280x720    (best)

notare che youtube-dl ha etichettato l'ultima opzione 1280x720 come la "migliore" qualità e questo è ciò che verrà scaricato di default, ma che la linea che inizia con 137 è in realtà di qualità superiore 1920x1080. Youtube ha separato i flussi audio e video per le linee etichettate DASH, quindi dobbiamo anche scegliere l'audio di più alta qualità che in questo caso è la linea che inizia con 141. Quindi eseguiamo youtube-dl di nuovo questa volta specificando l'audio e il video:

youtube-dl -f 137+141 https://www.youtube.com/watch\?v\=-pxRXP3w-sQ

e scaricherà il video a 1080p e lo unirà automaticamente con l'audio di più alta qualità. Dovrebbe anche essere cancellato automaticamente le parti separate scaricate. Questo metodo è un po 'più di lavoro, ma ti darà i risultati migliori.


78
2018-01-24 21:59



grazie mille, non sapevo di 137 + 141 - whitesiroi
Il tuo esempio e gli altri presentano scelte facili per l'audio, ovvero, per un'alta qualità, scegli quella con il più alto valore di bitrate. Di recente, tuttavia, mi sono trovato di fronte a una scelta tra DASH audio , opus @160k o DASH audio 126k , audio@128k (44100Hz), 1.79MiB o DASH audio 127k , m4a_dash container, aac @128k (44100Hz), 1.94MiB. Dovevo scegliere, ma sono incerto sulla qualità, o forse sulla compatibilità. - user643722
La cosa migliore di youtube-dl è che è multi-piattaforma. Questa soluzione non funziona solo su Linux, ma anche su Mac e Windows. Grazie! - Antony
Al giorno d'oggi questo è il default, ma solo se hai installato avconv (libav) o ffmpeg per effettuare la conversione del file. Per Windows, si desidera impostare --ffmpeg-location in %APPDATA%\youtube-dl\config.txt nella directory in cui è installato avconv / ffmpeg. Se hai un sistema di fascia bassa potresti volerlo -f bestvideo[fps<=30]+bestaudio anche lì, per evitare video a 60fps. - GreenReaper


Per selezionare risoluzioni specifiche, puoi specificare la dimensione e la qualità dell'audio in modo che vengano selezionate automaticamente - così per 480p:

-f 'bestvideo[height<=480]+bestaudio/best[height<=480]'

con bestvideo[height<=720]+bestaudio/best[height<=720] per 720p ecc. Questo può essere aggiunto al file di configurazione in ~/.config/youtube-dl/config (o anche /etc/youtube-dl.conf) in modo da non ottenere download di grandi dimensioni:

mkdir ~/.config/youtube-dl
echo "-f 'bestvideo[height<=720]+bestaudio/best[height<=720]'" >> ~/.config/youtube-dl/config

Puoi usare --ignore-config se si desidera disabilitare il file di configurazione per una particolare esecuzione di youtube-dl.

Si prega di notare che abbastanza spesso dovrà scaricare un video separato e audio e unirli a vapore.

Per altri esempi vedi youtube-dlla sua doucmentazione.


15
2017-12-31 09:47



Ho avuto un problema in cui diversi segmenti dello stesso video avevano codici di formato differenti per la stessa risoluzione (es. Hls-1476 per video 1 di 2 e hls-1665 per video 2 di 2 in cui entrambi erano 540p) quindi non potevo usare "-f hls-1476" o "-f hls-1665" o ricevo "ERRORE: formato richiesto non disponibile" I tuoi esempi di comandi mi hanno aiutato a recuperare ciò che volevo. - ssnobody
+1 per ~/.config/youtube-dl/config - Marinos An


Uno script di wrapper bash che richiede il formato, che include tutte le rendering disponibili, incluso solo audio, solo video.

Accetta sia URL youtube assoluti che ID video.

#!/ usr/bin/env bash
# Download youtube video with desired quality

# youtube-dl accepts both fully qualified URLs and video id's such as AQcQgfvfF1M

url="$*"

echo "Fetching available formats for $url..."
youtube-dl -F "$url"
read -p "Please enter the desired quality code: " FORMAT

echo "Streaming with quality $FORMAT..."
mpv --cache=1024 $(youtube-dl -f $FORMAT -g "$url")

Uscita di esempio:

    yt.sh https://m.youtube.com/watch?v=Dax_tnZRExc
    [youtube] Dax_tnZRExc: Downloading webpage
    [youtube] Dax_tnZRExc: Downloading video info webpage
    [youtube] Dax_tnZRExc: Extracting video information
    [youtube] Dax_tnZRExc: Downloading MPD manifest
    [info] Available formats for Dax_tnZRExc:
    format code  extension  resolution note
    139          m4a        audio only DASH audio   49k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 308.75KiB
    249          webm       audio only DASH audio   50k , opus @ 50k, 271.91KiB
    250          webm       audio only DASH audio   70k , opus @ 70k, 366.63KiB
    171          webm       audio only DASH audio  118k , vorbis@128k, 652.50KiB
    140          m4a        audio only DASH audio  127k , m4a_dash container, mp4a.40.2@128k (44100Hz), 820.00KiB
    251          webm       audio only DASH audio  130k , opus @160k, 705.84KiB
    160          mp4        256x144    DASH video  109k , avc1.4d400c, 13fps, video only, 703.64KiB
    278          webm       256x144    144p  111k , webm container, vp9, 25fps, video only, 439.72KiB
    242          webm       426x240    240p  243k , vp9, 25fps, video only, 623.95KiB
    133          mp4        426x240    DASH video  252k , avc1.4d4015, 25fps, video only, 1.54MiB
    134          mp4        640x360    DASH video  388k , avc1.4d401e, 25fps, video only, 1.24MiB
    243          webm       640x360    360p  458k , vp9, 25fps, video only, 1.19MiB
    135          mp4        854x480    DASH video  761k , avc1.4d401e, 25fps, video only, 2.40MiB
    244          webm       854x480    480p  893k , vp9, 25fps, video only, 2.00MiB
    136          mp4        1280x720   DASH video 1382k , avc1.4d401f, 25fps, video only, 4.56MiB
    247          webm       1280x720   720p 1754k , vp9, 25fps, video only, 3.94MiB
    137          mp4        1920x1080  DASH video 2350k , avc1.640028, 25fps, video only, 8.48MiB
    248          webm       1920x1080  1080p 2792k , vp9, 25fps, video only, 8.09MiB
    17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
    36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
    43           webm       640x360    medium , vp8.0, vorbis@128k
    18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k
    22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)
    Please enter the desired format #

Se si desidera scaricare il video anziché lo streaming, è sufficiente rimuovere il mpv --cache=1024parte e il simbolo del dollaro con parentesi.


3
2018-06-29 13:27





Alcune delle altre opzioni per scaricare i migliori video di qualità diversi da quelli menzionati qui dipendono dalla tua convenienza:

Scarica il miglior formato mp4 disponibile o qualsiasi altro migliore se non è disponibile mp4

$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'

Scarica il miglior formato disponibile ma non meglio di 480p

$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'

Scarica il miglior formato solo video ma non più grande di 50 MB

$ youtube-dl -f 'best[filesize<50M]'

Scarica il miglior formato disponibile tramite link diretto su protocollo HTTP / HTTPS

$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'

Riferimento:

Direttamente dalla pagina github di youtube-dl


1
2017-08-17 13:58





Di default, youtube-dl sceglierà la migliore qualità.


-3
2017-12-29 16:26



Sì, come da readme Hai anche l'opzione (s) per selezionare il formato previsto, vedi qui: github.com/rg3/youtube-dl/blob/master/... - AjayKumarBasuthkar