ytarchive es una aplicación para Windows y Linux que permite descargar una emisión en directo de Youtube desde el principio.
Esto es más útil para los flujos que ya han comenzado y desea descargar, pero también se puede utilizar para esperar a que un flujo programado y empezar a descargar tan pronto como se inicia.
Nota: Es necesario tener FFmpeg instalado para fusionar el archivo final.
Uso
usage: ytarchive [OPTIONS] [url] [quality] [url] es una URL de youtube livestream. Si no se proporciona, se le se le pedirá que introduzca una. [calidad] es una lista delimitada por barras de las calidades de vídeo que desea que desea que se seleccionen para la descarga, de la más a la menos deseada. Si no se le pedirá que introduzca una, con una lista de calidades disponibles para elegir. disponibles. Son válidos los siguientes valores audio_only, 144p, 240p, 360p, 480p, 720p, 720p60, 1080p, 1080p60, 1440p, 1440p60, 2160p, 2160p60, best Opciones: -h --help Mostrar este mensaje de ayuda. -4 --ipv4 Realizar todas las conexiones utilizando IPv4. -6 --ipv6 Realiza todas las conexiones utilizando IPv6. --info-only Imprime la información de la transmisión, como el título del vídeo, la calidad seleccionada, la hora de inicio de la transmisión y la duración. Hora de inicio y duración del flujo y, a continuación, sale. --add-metadata Escribe alguna información básica de metadatos en el archivo final. --audio-url GOOGLEVIDEO_URL Pasa la url dada como url del fragmento de audio. Debe ser una url de Google Video con un parámetro itag de 140. -c --cookies ARCHIVO_COOKIES Da un archivo cookies.txt que tiene tus cookies de youtube. Permite a al script acceder a contenido sólo para miembros si eres miembro para el usuario del stream dado. Debe tener el formato de cookies de netscape. --debug Imprime mucha información extra. --disable-save-state Desactiva el guardado de estado para descargas reanudables. Útil si está archiva el mismo flujo varias veces en el mismo directorio en el mismo directorio. -dp --permisos-directorio PERMISOS Establece los permisos del sistema de archivos para los directorios creados. Utiliza notación notación numérica. Tenga en cuenta la configuración de umask de su directorio. Por defecto es 0755. --error Imprime sólo errores e información general. --ffmpeg-path FFMPEG_PATH Establece una ubicación específica para ffmpeg, incluyendo el nombre del programa. Por ejemplo, «C:\ffmpeg\ffmpeg.exe» o «/opt/ffmpeg/ffmpeg». -fp --file-permissions PERMISOS Establece los permisos del sistema de archivos para los archivos creados. Utiliza notación notación numérica. Tenga en cuenta la configuración de umask de su directorio. Por defecto es 0644. --h264 Sólo descarga vídeo h264, saltándose VP9 si se hubiera utilizado. -k --keep-ts-files Conserva los archivos de audio y vídeo del flujo final después de multiplexarlos en lugar de eliminarlos. -l --lookalike-chars Utiliza caracteres similares a los prohibidos en el formato de salida del nombre de archivo. Emula los caracteres prohibidos utilizando los mismos caracteres de sustitución que yt-dlp. Esto hará que los nombres de archivo se parezcan más a los títulos originales. --sólo-miembros Sólo descarga secuencias sólo para miembros. Sólo puede usarse con URLs de canales como /live, /streams, etc, y requiere cookies. Resulta útil cuando se monitorizan canales y sólo se desean flujos de miembros. --merge Ejecuta automáticamente el comando ffmpeg para los streams descargados al cancelar manualmente la descarga. En caso contrario, se le pedirá que lo haga. --metadata CLAVE=VALOR Si se escriben metadatos, sobrescribir/añadir entrada clave-valor de metadatos. KEY es una clave de metadatos que ffmpeg reconoce. Si no es válida, ffmpeg puede ignorarla o producir un error. VALUE es una plantilla de formato. Si es una cadena vacía (''), omite la escritura de metadatos para la clave. Consulte OPCIONES DE PLANTILLA DE FORMATO más abajo para obtener una lista de las claves de formato disponibles. Puede utilizarse varias veces. --mkv Transfiere el archivo final a un contenedor mkv en lugar de a un contenedor mp4. Se ignora cuando sólo se descarga audio. --monitor-channel Monitoriza continuamente un canal en busca de streams. Requiere el uso de una URL /live. Esto volverá a buscar una transmisión después de que termine de descargar la actual. actual. Implica '-r 60 --merge' a menos que se establezca por separado. Mínimo 30 segundos de espera, se recomiendan 60 o más. Usar 'best' para la calidad o una lista bastante exhaustiva para evitar esperas si la calidad seleccionada no está disponible para determinados flujos. si la calidad seleccionada no está disponible para determinados flujos. Tenga cuidado de controlar el uso del disco cuando se utiliza este para evitar llenar su unidad mientras está ausente. --newline Imprime cada mensaje en una nueva línea, en lugar de que algunos mensajes reutilicen una línea. --no-audio No descargar el flujo de audio --no-frag-files Mantener los datos de los fragmentos en memoria en lugar de escribirlos en un archivo intermedio. Esto tiene la posibilidad de aumentar drásticamente el uso de RAM si un fragmento se descarga con especial lentitud a medida que más fragmentos terminan de descargarse. Esto sólo es un problema cuando --threads >1 Muy recomendable si no tiene limitaciones estrictas de RAM. Especialmente en Wangblows, que ha causado problemas con el bloqueo de archivos al intentar borrar archivos fragmentados. --no-merge No ejecuta el comando ffmpeg para los flujos descargados al cancelar manualmente la descarga. De lo contrario, se le pedirá que lo haga. --no-save No guardar los datos y archivos descargados si no se ejecuta ffmpeg al cancelar manualmente la descarga. En caso contrario, se le pedirá que lo haga. No hace nada si --merge está activado. --no-save-state No guardar los archivos necesarios para reanudar la descarga al cancelar manualmente la descarga. manualmente la descarga. En caso contrario, se le pedirá que lo haga. No hace nada si --merge o --save están activados. --no-video Si se da una url de googlevideo o se pasa con --audio-url, no se pide una url de vídeo. Si se indica una URL de vídeo con --video-url se ignora. -n --no-wait No esperar a una retransmisión en directo si se trata de una futura retransmisión programada. -o --output NOMBRE_ARCHIVO Establece el nombre del archivo de salida EXCLUYENDO LA EXTENSIÓN. Puede incluir formato similar a youtube-dl, aunque mucho más limitado. Ver OPCIONES DE FORMATO más abajo para una lista de claves de formato disponibles. Por defecto es '%(title)s-%(id)s'. --proxy <SCHEME>://[<USER>:<PASS>@]<HOST>:<PORT> Especifique el proxy que se utilizará para la descarga, por ejemplo - socks5://127.0.0.1:1080 - http://192.168.1.1:8080 - http://user:password@proxy.example.com:8080 Se admiten servidores proxy HTTP, HTTPS y SOCKS5. -q --quiet No imprime nada en la consola, excepto la información relevante para la entrada del usuario. --retry-frags INTENTOS Establece el número de intentos a realizar cuando se descarga un fragmento de flujo. Establezca 0 para reintentar indefinidamente, o hasta que seamos completamente incapaces. Por defecto es 10. -r --retry-stream SEGUNDOS Si está esperando una retransmisión en directo programada, vuelva a comprobar si la retransmisión está cada SEGUNDOS en lugar de esperar a la hora programada inicialmente. Si SECONDS es menor que el retardo de sondeo que da youtube (normalmente 15 segundos), entonces se establecerá el valor que proporciona youtube. --guardar Guarda automáticamente los datos y archivos descargados si no se ejecuta ffmpeg ejecutándose al cancelar manualmente la descarga. Se le pedirá en caso contrario. No hace nada si --merge está activado. --save-state Deja los archivos automáticamente y no borra nada cuando cancela manualmente manualmente la descarga, permitiendo reanudarla más tarde cuando sea posible. posible. En caso contrario, se le pedirá que lo haga. La reanudación requiere que el flujo esté disponible para la descarga normal. No hace nada si --merge o --save están activados. --separate-audio Guarda el audio en un archivo separado, de forma similar a cuando se descarga audio_only, junto con el archivo muxed final. Esto incluye la incrustación de metadatos y la imagen en miniatura, si está configurada. -td --temporary-dir DIRECTORY Establece el directorio de trabajo para la descarga. Aquí es donde se almacenarán los archivos temporales. Si no se define, se utilizará el directorio de salida de salida. --hilos THREAD_COUNT Establece el número de hilos que se utilizarán para descargar fragmentos de audio y vídeo. de audio y vídeo. El número total de subprocesos en ejecución será CUENTA_HILOS * 2 + 3. Hilo principal, un hilo para cada descarga de audio y descarga de audio y vídeo, y THREAD_COUNT número de descargadores de fragmentos de audio y vídeo. Establecer esto a un número grande tiene una posibilidad de causar la descarga comience a fallar con HTTP 401. Reinicie la descarga con un hasta que ya no obtenga 401s debería funcionar. Por defecto es 1. -t --thumbnail Descarga e incrusta la miniatura del flujo en el archivo final. Si la miniatura se muestra correctamente depende de su navegador de archivos. El de Windows parece funcionar. Nemo en Linux parece que no. --trace Imprime casi cualquier información que pueda tener razón de ser impresa. Muy spammy, no lo use a menos que tenga una buena razón. -v --verbose Imprime información extra. -V --versión Imprime el número de versión y sale. --video-url GOOGLEVIDEO_URL Pasa la url dada como url del fragmento de vídeo. Debe ser una Google Video con un parámetro itag que no sea 140. --vp9 Si existe una versión VP9 de la calidad de vídeo seleccionada, descargue esa versión en lugar de la habitual h264. -w --wait Espera a una emisión en directo si se trata de una emisión programada. Si no se utiliza esta opción cuando se proporciona un stream programado, se le preguntará si desea esperar o no. --warn Imprime advertencias, errores e información general. Este es el nivel de registro predeterminado. --write-description Escribe la descripción del vídeo en un archivo .description separado. --write-mux-file Escribe el comando ffmpeg que mezclará audio y video o pondrá audio en un contenedor mp4 en lugar de ejecutar el comando automáticamente. Útil si quieres ajustar el comando, quieres un nivel de registro más alto, etc. --write-thumbnail Escribe la miniatura en un archivo separado. --live-from DURATION, TIMESTRING o NOW Inicia la descarga desde el momento especificado en el futuro, el pasado o 'ahora'. Utilice un valor de tiempo negativo para saltar hacia atrás en el tiempo desde ahora. Utilice un valor de tiempo positivo para especificar la marca de tiempo en el flujo desde la que empezar a capturar (desde el inicio del flujo). Admite duraciones de tiempo (por ejemplo, 1d8h30m5s) o cadenas de tiempo (por ejemplo, 32:30:05). Ejemplos: * '--live-from -01:10:00' buscará hacia atrás 1 hora y 10 minutos desde ahora y comenzará la descarga a partir de ese momento. * '--live-from 1h10mm00s' comenzará a descargar desde 1 hora y 10 minutos después del inicio de la transmisión. * '--live-from now' empezará a grabar desde la hora actual del stream. Ejemplos: ytarchive -w Espera un flujo. Le pedirá la URL y la calidad. ytarchive -w https://www.youtube.com/watch?v=CnWDmKx9cQQ 1080p60/best Espera la URL de la transmisión indicada. Priorizará la descarga en 1080p60. Si 1080p60 no es una calidad disponible, elegirá la mejor de las disponibles. disponible. ytarchive --threads 3 https://www.youtube.com/watch?v=ZK1GXnz-1Lw mejor Descarga el stream dado con 3 hilos en la mejor calidad disponible. Le preguntará si desea esperar si la transmisión está programada pero no se ha iniciado. ytarchive -r 30 https://www.youtube.com/channel/UCZlDXzGoo7d44bwdNObFacg/live mejor Esperará por una transmisión en vivo en la URL dada, verificando cada 30 segundos. ytarchive -c cookies-youtube-com.txt https://www.youtube.com/watch?v=_touw1GND-M mejor Carga el archivo de cookies e intenta descargar la transmisión. Le preguntará si desea esperar. ytarchive --no-wait --add-metadata https://www.youtube.com/channel/UCvaTdHTWBGv3MKj3KVqJVCw/live mejor Intenta descargar el flujo dado, y añadirá metadatos al archivo final muxado. al archivo final. No esperará si no hay flujo o si no se ha iniciado. iniciado. ytarchive -o '%(canal)s/%(fecha_carga)s_%(título)s' https://www.youtube.com/watch?v=HxV9UAMN12o mejor Descarga el stream dado a un directorio con el nombre del canal, y un que tendrá la fecha de subida y el título del stream. Le pedirá que esperar. ytarchive -w -k -t --vp9 --merge --no-frag-files https://www.youtube.com/watch?v=LE8V5iNemBA mejor Espera, guarda los archivos .ts finales, incrusta la miniatura del flujo, fusiona los archivos descargados si la descarga se detiene manualmente. los archivos descargados si la descarga se detiene manualmente, y mantiene fragmentos en memoria en lugar de escribir en archivos intermedios. Descarga el flujo de vídeo en VP9 si está disponible. Este conjunto de banderas no requiere ninguna intervención adicional del usuario si algo va mal. ytarchive -k -t --vp9 --monitor-channel --no-frag-files https://www.youtube.com/channel/UCvaTdHTWBGv3MKj3KVqJVCw/live best Igual que el anterior, pero espera un flujo en el canal dado, y repetirá el ciclo después de descargar cada flujo. repetirá el ciclo después de descargar cada flujo. ytarchive --proxy http://127.0.0.1:9050 https://www.youtube.com/watch?v=2aIdHTuyYMA mejor Descarga el flujo dado con un proxy HTTP local. OPCIONES DE PLANTILLA DE FORMATO Las claves de plantilla de formato proporcionadas se hacen igual que para youtube-dl. Véase https://github.com/ytdl-org/youtube-dl#output-template Para los nombres de archivo, cada sustitución de plantilla se desinfecta sustituyendo los caracteres no válidos del nombre de archivo por un guión bajo (_). por un guión bajo (_). Si se utiliza '--lookalike-chars', los caracteres inválidos del nombre de archivo se sustituyen por los mismos caracteres similares que utiliza yt-dlp. id (cadena): Identificador del vídeo url (cadena): URL del vídeo title (cadena): Título del vídeo channel_id (cadena): ID del canal channel (cadena): Nombre completo del canal en el que se emite el livestream upload_date (cadena: AAAAMMDD): Técnicamente fecha de inicio del stream, zona horaria UTC - ver nota más abajo start_date (cadena: AAAAMMDD): Fecha de inicio del flujo, zona horaria UTC publish_date (cadena: AAAAMMDD): Fecha de publicación del flujo, zona horaria UTC description (cadena): Descripción del vídeo [no permitido para la plantilla de formato de nombre de archivo]. Nota sobre upload_date: en lugar de la fecha real de subida, la fecha de inicio del flujo se utiliza para proporcionar una mejor fecha por defecto para las plantillas de salida youtube-dl que utilizan upload_date. Para obtener la fecha real de subida, la fecha de publicación parece ser la misma que la fecha de subida para streams.s.
ytarchive ha sido creado por Kethsar.
Que novedades incluye la versión 0.4.0 See changelog
Released
- Soporte inicial para descargas reanudables
- Soporte para encontrar flujos de miembros cuando se utiliza una url de canal (incluyendo monitorización de canales).