Como selecionar a qualidade do vídeo do youtube-dl?

169

Instalei o youtube-dl no meu 14.04.

Eu posso baixar o vídeo seguindo o comando

$ youtube-dl [youtube-link]

Mas eu quero saber como selecionar a qualidade de pixel disponível do vídeo do youtube ( i. 1080p, 720p, 480p, etc ) .

Na descrição do software eles disseram que é possível (mostrado na imagem abaixo), mas como fazer ..

    
por A J 21.06.2014 / 12:03

5 respostas

249

Para baixar um vídeo, digite o URL após o comando da seguinte forma:

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

Para selecionar a qualidade do vídeo , primeiro use a opção -F para listar os formatos disponíveis. Veja um exemplo

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

Veja a saída:

[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)

A melhor qualidade é 22 , então use -f 22 ao invés de -F para baixar o vídeo MP4 com resolução de 1280x720 como este:

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

Ou use os seguintes flags para baixar automaticamente as melhores trilhas de áudio e vídeo disponíveis:

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

Se você encontrar um erro durante o processo de muxing, tente o seguinte:

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

Esse comando garantirá que você baixe o vídeo mp4 da mais alta qualidade e o áudio m4a do vídeo e os mescle de volta em um único mp4 (usando o ffmpeg no meu caso).

Fonte: link

    
por mchid 21.06.2014 / 12:19
72

Você pode fazer o download de 1080p usando youtube-dl , mas precisa fazer um pouco mais de trabalho. Normalmente, ele só fará o download de 720p como máximo, mesmo se você puder ver 1080p no youtube.com.

Execute com -F para ver os formatos disponíveis:

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)

observe que youtube-dl rotulou a última opção de 1280x720 como a "melhor" qualidade e é isso que fará o download por padrão, mas a linha que começa com 137 é realmente de maior qualidade 1920x1080. O Youtube separou os streams de vídeo e áudio para as linhas denominadas DASH, então também precisamos escolher o áudio da mais alta qualidade, que neste caso é a linha que começa com 141. Então, rodamos youtube-dl desta vez especificando o áudio e vídeo:

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

e vai baixar o vídeo 1080p e mesclá-lo automaticamente com o áudio da mais alta qualidade. Ele também deve excluir automaticamente as partes baixadas separadas. Este método é um pouco mais de trabalho, mas você obterá os melhores resultados.

    
por Ryan Horrisberger 24.01.2015 / 22:59
14

Para selecionar resoluções específicas, você pode especificar o tamanho e a qualidade do áudio para que eles sejam selecionados automaticamente - por isso, para 480p :

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

com bestvideo[height<=720]+bestaudio/best[height<=720] para 720p etc. Isso pode ser adicionado ao arquivo de configuração em ~/.config/youtube-dl/config (ou mesmo /etc/youtube-dl.conf ) para que você não obtenha downloads grandes demais:

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

Você pode usar --ignore-config se quiser desabilitar o arquivo de configuração para uma execução específica do youtube-dl.

Por favor, note que muitas vezes ele terá que baixar um vídeo separado e vapor de áudio e mesclá-los.

Para mais exemplos, consulte doucmentation youtube-dl .

    
por Wilf 31.12.2016 / 10:47
3

Um script de wrapper bash que solicita o formato, que inclui todas as conversões disponíveis, incluindo apenas áudio, somente vídeo.

Aceita URLs absolutos do YouTube e IDs de vídeo.

#!/ 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")

Exemplo de saída :

    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 você quiser fazer o download do vídeo em vez de transmiti-lo, basta remover a parte mpv --cache=1024 e o cifrão com colchetes.

    
por ccpizza 29.06.2016 / 15:27
-3

Por padrão, o youtube-dl escolherá a melhor qualidade.

    
por Nerol 29.12.2014 / 17:26