Baixe um canal inteiro do YouTube com youtube-dl e retome automaticamente se for interrompido

Baixe um canal inteiro do YouTube com youtube-dl e retome automaticamente se for interrompido

Estou baixando um canal inteiro do YouTube com cerca de 10.000 vídeos. Às vezes, o download é interrompido devido a erros como “conteúdo muito curto” ou “conexão interrompida”. No entanto, existe uma maneira de reiniciar automaticamente o download? Provavelmente existe um arquivo em lote que você pode criar, mas não sei como fazer um.

Este é o comando que uso para baixar:

youtube-dl -f bestvideo+bestaudio ytuser:(Channel) -o "/Videos/lhs/[%(upload_date)s - %(id)s] %(title)s.%(ext)s" --ffmpeg-location %CD%\ffmpeg\bin

Responder1

Esta resposta não funcionará em versões mais antigas do youtube-dl. Você precisa atualizar o youtube-dl para a versão mais recente. Se você tiver o Python instalado em seu sistema, poderá instalar a versão mais recente do youtube-dl localmente em um ambiente virtual Python ou poderá baixar a versão mais recente do youtube-dl e instalá-la globalmente.

No Ubuntu 14.04 e posterior, o youtube-dl também é um pacote snap. Para instalá-lo digite:

sudo snap instalar youtube-dl# inicie-o com snap run youtube-dl

Abra o terminal e digite:

youtube-dl -f best -ciw -o "%(title)s.%(ext)s" -v <url-of-channel>

...onde <url-of-channel>é substituído pela URL do canal.

Observação:Se você estiver baixando muitos vídeos, você deve mudar os diretórios para o diretório onde deseja salvar os vídeos antes de começar a baixá-los.

Explicação

-f, --format FORMAT
    video format code. The special name "best" will pick the best quality.

-c, --continue                   
    force resume of partially downloaded files

-i, --ignore-errors              
    continue on download errors, for example to skip unavailable videos in a channel 

-w, --no-overwrites
    do not overwrite files

-v, --verbose
    print various debugging information

Responder2

Se você olhar a página de manual do youtube-dl, verá a opção de retomar downloads parciais.

-c, --continue
           Resume partially downloaded files.

Página de manualLink

Responder3

Talvez este argumento não existisse quando a pergunta foi feita, mas usando

--ignore-errors

fará com que o download do youtube-dl continue, independentemente de quaisquer erros. Use com cuidado, pois uma solução abrangente como essa tem o potencial de causar problemas se você perder um erro importante, embora com um canal com 10 mil vídeos, você provavelmente não se importe se alguns deles não forem baixados corretamente.

Além disso, usando

--download-archive archive.log

irá acompanhar o que já foi baixado e pulará os vídeos que você já possui, portanto, se o script parar devido a algo como uma falha de energia, quando você executá-lo novamente ele não tentará baixar tudo novamente desde o início .

Responder4

Um script útil:youtube_channel_archiver

informação relacionada