Scarica solo il formato mp4 su youtube-dl


74

Come posso usare download-dl per scaricare video attraverso la playlist url solo formattare mp4 invece che formattare .mkvo .webm?

Uso questo comando per scaricare video: youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....

Il risultato di questo comando sono video con estensione .mp4, .mkvo.webm


guarda gli interruttori --list-formatse --format nn.
jc__

Usato -f mp4. Ma una volta scaricato il file, su mp4, con 150mb e un'altra volta con 90mb. Sono stato letto l'aiuto, disponibile tramite "youtube --help" e non riesco a trovare un altro parametro in cui posso specificare per scaricare la qualità massima!
Edgar Oliveira,

Risposte:


81

Per elencare i formati disponibili digitare:

youtube-dl -F url

Quindi scegli il migliore

Esempio : youtube-dl -f 11 url

Esempio da webupd8

youtube-dl -F http://www.youtube.com/watch?v=3JZ_D3ELwOQ

uscita campione:

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

Puoi scegliere beste digitare

youtube-dl -f 22 http://www.youtube.com/watch?v=3JZ_D3ELwOQ

Per ottenere la migliore qualità video (formato DASH 1080p "137") e la migliore qualità audio (formato audio DASH "140"), è necessario utilizzare il comando seguente:

youtube-dl -f 137+140 http://www.youtube.com/watch?v=3JZ_D3ELwOQ

MODIFICARE

Puoi ottenere più opzioni qui

Selezione video:

--playlist-start NUMBER          Playlist video to start at (default is 1)
--playlist-end NUMBER            Playlist video to end at (default is last)
--playlist-items ITEM_SPEC       Playlist video items to download. Specify
                             indices of the videos in the playlist
                             separated by commas like: "--playlist-items
                             1,2,5,8" if you want to download videos
                             indexed 1, 2, 5, 8 in the playlist. You can
                             specify range: "--playlist-items
                             1-3,7,10-13", it will download the videos
                             at index 1, 2, 3, 7, 10, 11, 12 and 13.
--match-title REGEX              Download only matching titles (regex or
                             caseless sub-string)
--reject-title REGEX             Skip download for matching titles (regex or
                             caseless sub-string)
--max-downloads NUMBER           Abort after downloading NUMBER files
--min-filesize SIZE              Do not download any videos smaller than
                             SIZE (e.g. 50k or 44.6m)
--max-filesize SIZE              Do not download any videos larger than SIZE
                             (e.g. 50k or 44.6m)
--date DATE                      Download only videos uploaded in this date
--datebefore DATE                Download only videos uploaded on or before
                             this date (i.e. inclusive)
--dateafter DATE                 Download only videos uploaded on or after
                             this date (i.e. inclusive)
--min-views COUNT                Do not download any videos with less than
                             COUNT views
--max-views COUNT                Do not download any videos with more than
                             COUNT views
--match-filter FILTER            Generic video filter (experimental).
                             Specify any key (see help for -o for a list
                             of available keys) to match if the key is
                             present, !key to check if the key is not
                             present,key > NUMBER (like "comment_count >
                             12", also works with >=, <, <=, !=, =) to
                             compare against a number, and & to require
                             multiple matches. Values which are not
                             known are excluded unless you put a
                             question mark (?) after the operator.For
                             example, to only match videos that have
                             been liked more than 100 times and disliked
                             less than 50 times (or the dislike
                             functionality is not available at the given
                             service), but who also have a description,
                             use --match-filter "like_count > 100 &
                             dislike_count <? 50 & description" .
--no-playlist                    Download only the video, if the URL refers
                             to a video and a playlist.
--yes-playlist                   Download the playlist, if the URL refers to
                             a video and a playlist.
--age-limit YEARS                Download only videos suitable for the given
                             age
--download-archive FILE          Download only videos not listed in the
                             archive file. Record the IDs of all
                             downloaded videos in it.
--include-ads                    Download advertisements as well
                             (experimental)

Quando scarico video sulla playlist, attraverso "youtube-dl -itcv --yes-playlist url" esistono alcuni video che non sono stati scaricati. Come posso fare per aggirare questo? Oppure, questo problema esisteva perché non ho usato il parametro "-f mp4" e si è verificato un errore quando il programma ha scelto il formato migliore da scaricare?
Edgar Oliveira,

basta digitareyoutube-dl --yes-playlist url
GAD3R

continua con lo stesso problema. La playlist che ho provato a scaricare indica 42 video su YouTube. Ma sono stati scaricati solo 34 video. L'output è: [youtube: playlist] playlist Nome Playlist: download di 34 video
Edgar Oliveira

1
@EdgarOliveira spesso nelle playlist ci sono alcuni video cancellati ma YouTube continua a includere nella playlist ... questo è il problema che causa
Scott Stensland

110

In questo modo ( fonte ):

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

fantastico, questo video scaricato migliore + audio migliore e unito insieme.
Renetik,

5
Se non ti interessano i formati specifici richiesti da OP, allora vale la pena notare che dal 2015 sono i valori predefiniti per youtube-dl -f bestvideo+bestaudio/best, quindi è già configurato per scaricare bestvideo e bestaudio (e li mescola automaticamente insieme in un file risultante) . Fonte: github.com/rg3/youtube-dl/blob/master/…
jj_

@jj_ Sicuramente - quando uso questa riga di comando, è per ottenere una versione H.264 + AAC compatibile con la più ampia gamma di dispositivi.
s4y,

@ s4y sì, ma ciò comporta il rischio di transcodifica. Per evitarlo, lo farei diversamente, non forzando un singolo formato contenitore su ogni file scaricato.
jj_

1
@ s4y youtube-dl eseguirà effettivamente la transcodifica quando è necessario ( --audio-formatopzione) ma sei proprio qui: non dovrebbe essere il caso di quella linea, perché stai forzando youtube-dl a scaricare due file (bestaudio [ext = mp4] e bestvideo [ext = m4a]) che hanno lo stesso tipo di contenitore in comune (mp4), quindi qualunque sia il loro contenuto, quando lo rimodellano, saranno impilati in un altro mp4 senza alcuna transcodifica richiesta.
jj_

10

Secondo questo commento di glenn-slayden, si ottiene un formato mp4 con la massima qualità video come segue:

Mi rendo conto che questo thread è un po 'vecchio, ma penso che la situazione sia leggermente cambiata. Per il mio obiettivo:

  • innanzitutto, prendi sempre la migliore qualità video disponibile indipendentemente dal formato;
  • ma poi non lasciare mai che il solo formato audio causi la perdita di mp4 .

In precedenza, stavo usando bestvideo+bestaudio/best, ma trovo che la seguente variante funzioni molto meglio per ridurre mkv, (apparentemente) eliminare webm, ma garantire comunque la massima qualità video (non usare l' --merge-output-formatopzione quando si utilizza questo):

--format bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best 

Si noti che, nel primo termine, il extfiltro è specificato per l'audio ma non per il video , una tecnica che non ho visto menzionato nella discussione sopra. Se ciò sembra arretrato rispetto ai miei obiettivi dichiarati, ciò potrebbe essere dovuto al fatto che, considerando che stiamo cercando di garantire che il formato video sia mp4, perché è il vincolo dato per l'audio?

La chiave è che ogni termine di fallback (separato dalle barre) fallirà se una qualsiasi parte del suo requisito fallisce, passando al termine successivo. Durante l'utilizzo bestvideo+bestaudio, molti casi di ottenere un contenitore non mp4 vengono visualizzati solo perché la selezione del formato insiste inequivocabilmente su bestaudio, il che può quindi significare un formato misto. È perché il bestvideo+bestaudiocomando è troppo insistente per essere costretti a uscire mp4.

Ma cosa succede se ti interessa di più ottenere un contenitore mp4 che fare della qualità audio ? Insistendo su m4aaudio prima - ma poi cedendo solo su quella parte, mentre l'emissione bestvideodi nuovo - (utilizzando la selezione del formato di cui sopra) si essenzialmente esprimere un flessibile, la preferenza per il mp4corso degli altri contenitori; sicuramente non vuole mp4, se possibile, ma non a costo di qualità video ridotta.

Come ho detto, potresti ancora ottenerne alcuni mkv, ma saranno notevolmente ridotti in numero e utilizzati solo quando richiesto per fornire un video (presumibilmente) migliore. E finora con questa configurazione, non ne ho visto webmaffatto, perché qualcosa come 248 + 140 funziona come mkv.

In quest'ultimo caso, l'aggiunta --merge-output-format mp4verrà convertita in mp4 se necessario. Quindi il comando completo è:

youtube-dl --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4
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.