wip: estado de trabajo pendiente antes de la vista grid (suite 230 verde)
This commit is contained in:
+67
@@ -0,0 +1,67 @@
|
||||
channel_url: "https://www.youtube.com/@Nostal-Vlad/videos"
|
||||
|
||||
languages:
|
||||
es: any
|
||||
es-419: any
|
||||
en: any
|
||||
prefer_manual: true
|
||||
include_shorts: false
|
||||
include_live: true
|
||||
min_duration_sec: 30
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Ritmo contra YouTube.
|
||||
#
|
||||
# El unico techo publicado que existe es el de la wiki de yt-dlp: una sesion
|
||||
# sin cuenta aguanta ~300 videos/hora (~1000 peticiones/hora) antes del muro
|
||||
# de bot. Google no documenta limites para acceso sin API, asi que ese numero
|
||||
# es la referencia menos mala. Los valores de abajo apuntan deliberadamente
|
||||
# por debajo.
|
||||
#
|
||||
# Cuentas: un video cuesta 3 peticiones a youtube.com
|
||||
# 1. la pagina /watch
|
||||
# 2. la llamada InnerTube /youtubei/v1/player (separada de la anterior por
|
||||
# sleep_subrequests)
|
||||
# 3. /api/timedtext, la transcripcion
|
||||
# (la miniatura va a i.ytimg.com, que es CDN estatico y no cuenta contra esto)
|
||||
#
|
||||
# Esas 3 son irreducibles: se midio si se podia bajar de ahi restringiendo
|
||||
# player_client o saltando la pagina /watch, y no se puede. Con solo
|
||||
# web_safari, o con player_skip=webpage, yt-dlp devuelve CERO pistas de
|
||||
# subtitulos y pierde duration/channel_id/tags. El default de yt-dlp
|
||||
# (android_vr + web_safari, 2 peticiones) ya es el optimo. No re-litigar.
|
||||
#
|
||||
# Medido con estos valores: 12.4 s/video => ~870 peticiones/hora, ~290
|
||||
# videos/hora. Por debajo del techo, con margen.
|
||||
#
|
||||
# Si vas con prisa y aceptas el riesgo, baja delay.min/max_seconds y
|
||||
# min_request_interval. Si aun asi te topas con el muro, subelos:
|
||||
# min_request_interval es el unico ajuste que aplica a la vez a los jobs y
|
||||
# a los /api/tools/*, que corren fuera del JobManager.
|
||||
# --------------------------------------------------------------------------
|
||||
delay:
|
||||
min_seconds: 5.0
|
||||
max_seconds: 10.0
|
||||
backoff_base: 2.0 # tras un rate-limit: min(2 * 2**n + jitter, cap)
|
||||
backoff_cap: 60.0
|
||||
throttle_threshold: 3 # 3 rate-limits seguidos y el job para
|
||||
min_request_interval: 2.5
|
||||
audio_rate_limit: 0
|
||||
|
||||
yt_dlp:
|
||||
retries: 10
|
||||
sleep_subrequests: 3.0 # -> sleep_interval_requests de yt-dlp
|
||||
extractor_retries: 3
|
||||
socket_timeout: 30.0
|
||||
|
||||
sync:
|
||||
incremental: true
|
||||
window: 30
|
||||
max_window: 300
|
||||
overlap: 3
|
||||
|
||||
database_path: "data/state.db"
|
||||
output_dir: "data/markdown"
|
||||
template_path: "templates/video.md.j2"
|
||||
|
||||
filename_template: "{upload_date}_{slug}"
|
||||
Reference in New Issue
Block a user