Descargue un canal de YouTube completo con youtube-dl y reanúdelo automáticamente si se interrumpe

Descargue un canal de YouTube completo con youtube-dl y reanúdelo automáticamente si se interrumpe

Estoy descargando un canal de YouTube completo que consta de unos 10.000 vídeos. A veces la descarga se detiene debido a errores como "contenido demasiado corto" o "conexión interrumpida". Sin embargo, ¿hay alguna forma de reiniciar automáticamente la descarga? Probablemente exista un archivo por lotes que pueda crear, pero no sé cómo hacerlo.

Este es el comando que uso para descargar:

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

Respuesta1

Esta respuesta no funcionará en versiones anteriores de youtube-dl. Debes actualizar youtube-dl a la última versión. Si tiene Python instalado en su sistema, puede instalar la última versión de youtube-dl localmente dentro de un entorno virtual de Python, o puede descargar la última versión de youtube-dl e instalarla globalmente.

En Ubuntu 14.04 y posteriores, youtube-dl también es un paquete instantáneo. Para instalarlo escriba:

sudo snap instalar youtube-dl# ejecutarlo con snap run youtube-dl

Abra la terminal y escriba:

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

...donde <url-of-channel>se reemplaza por la URL del canal.

Nota:Si está descargando muchos videos, debe cambiar los directorios al directorio donde desea guardar los videos antes de comenzar a descargarlos.

Explicación

-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

Respuesta2

Si miras la página de manual de youtube-dl, verás la opción para reanudar las descargas parciales.

-c, --continue
           Resume partially downloaded files.

Página de manualEnlace

Respuesta3

Quizás este argumento no existía cuando se formuló la pregunta, pero usar

--ignore-errors

hará que youtube-dl continúe descargándose independientemente de cualquier error. Úselo con precaución, ya que una solución general como esta tiene el potencial de causar problemas si pasa por alto un error importante, aunque con un canal con videos de 10k, probablemente no le importe si algunos de ellos no se descargan correctamente.

Además, utilizando

--download-archive archive.log

realizará un seguimiento de lo que ya se ha descargado y omitirá los videos que ya tiene, por lo que si el script se detiene debido a algo como un corte de energía, cuando lo ejecute nuevamente no intentará volver a descargar todo desde el principio. .

Respuesta4

Un guión útil:youtube_channel_archiver

información relacionada