Por
Dekuwa
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.