443 lines
26 KiB
TeX
443 lines
26 KiB
TeX
% ---------------------------------------------------------------------------------------
|
|
% CONFIGURACIÓN DEL DOCUMENTO
|
|
% ---------------------------------------------------------------------------------------
|
|
% \documentclass define el tipo de documento y las opciones base.
|
|
% - 11pt: Tamaño de fuente base. Un buen equilibrio entre densidad y legibilidad.
|
|
% - a4paper: Define el tamaño del papel estándar internacional.
|
|
\documentclass[11pt, a4paper]{article}
|
|
|
|
|
|
% %%% --- IMPORTACIÓN DE PAQUETES --- %%%
|
|
% Los paquetes añaden nuevas funcionalidades a LaTeX.
|
|
|
|
% --- Paquetes Esenciales ---
|
|
\usepackage[utf8]{inputenc} % Permite escribir caracteres UTF-8 (acentos, ñ) directamente.
|
|
\usepackage[T1]{fontenc} % Codificación de fuentes moderna para una correcta visualización y copiado de PDF.
|
|
\usepackage[spanish,es-noshorthands]{babel} % Soporte para el idioma español. La opción 'es-noshorthands' es
|
|
% CRÍTICA para evitar conflictos con otros paquetes.
|
|
|
|
% --- Configuración de Página y Diseño ---
|
|
\usepackage{geometry} % Para configurar los márgenes y el diseño de la página.
|
|
\usepackage{graphicx} % Para incluir imágenes (\includegraphics).
|
|
\usepackage{fancyhdr} % Para personalizar encabezados y pies de página.
|
|
\usepackage{xcolor} % Para usar colores por nombre o código (HTML, RGB, etc.).
|
|
\usepackage{float} % Proporciona el especificador [H] para "flotar aquí exactamente".
|
|
|
|
% --- Tipografía y Estilo de Texto ---
|
|
% \usepackage{firasans} % EJEMPLO: Fuente Sans-Serif moderna (mantener comentada si no está instalada).
|
|
\usepackage{textcomp} % Provee símbolos adicionales como el de copyright.
|
|
\usepackage{fontawesome5} % Permite usar iconos de Font Awesome (ej: \faInfoCircle).
|
|
|
|
% --- Tablas, Listas y Cajas ---
|
|
\usepackage{booktabs} % Para crear tablas de aspecto profesional (\toprule, \midrule, \bottomrule).
|
|
\usepackage{longtable} % Para tablas que pueden ocupar varias páginas.
|
|
\usepackage{tabularx} % Para tablas con columnas de ancho flexible que ocupan todo el ancho del texto.
|
|
\usepackage{array} % Herramientas avanzadas para columnas en tablas.
|
|
\usepackage{enumitem} % Para un control avanzado sobre el formato de las listas (itemize, enumerate).
|
|
\usepackage{tcolorbox} % Para crear cajas de texto coloreadas y personalizables.
|
|
\usepackage{titlesec} % Para personalizar el formato de los títulos de sección (\section, \subsection).
|
|
\usepackage{titletoc} % Control sobre la tabla de contenidos.
|
|
|
|
% --- Utilidades y Enlaces ---
|
|
\usepackage{hyperref} % Para crear hipervínculos dentro del documento y a URLs externas.
|
|
% Es una buena práctica cargarlo al final.
|
|
|
|
|
|
% %%% --- CONFIGURACIÓN DE GEOMETRÍA DE LA PÁGINA --- %%%
|
|
% Se definen los márgenes y espacios para el encabezado/pie de página.
|
|
\geometry{
|
|
a4paper, % Tamaño de papel
|
|
margin=2.5cm, % Margen uniforme para todos los lados
|
|
headheight=15pt, % Altura reservada para el encabezado
|
|
footskip=30pt % Distancia desde el final del texto hasta el pie de página
|
|
}
|
|
|
|
|
|
% %%% --- PALETA DE COLORES PERSONALIZADA --- %%%
|
|
% Se define una paleta de colores corporativa para mantener la consistencia visual.
|
|
% Se usa el modelo HTML para una fácil selección desde herramientas de diseño.
|
|
\definecolor{WarlockRed}{HTML}{C11919}
|
|
\definecolor{WarlockGold}{HTML}{ECD125}
|
|
\definecolor{WarlockDark}{HTML}{212325}
|
|
\definecolor{WarlockGray}{HTML}{333333}
|
|
\definecolor{WarlockLightGray}{HTML}{F5F5F5}
|
|
\definecolor{WarlockBlue}{HTML}{005A9B}
|
|
\definecolor{InfoBlue}{HTML}{E7F3FE}
|
|
\definecolor{WarnYellow}{HTML}{FFFBE6}
|
|
\definecolor{WarnBorder}{HTML}{FFBE0B}
|
|
|
|
% Se establece el color de texto por defecto para todo el documento.
|
|
\color{WarlockGray}
|
|
|
|
|
|
% %%% --- CONFIGURACIÓN DE HIPERVÍNCULOS --- %%%
|
|
% Se personaliza la apariencia de los enlaces generados por 'hyperref'.
|
|
\hypersetup{
|
|
colorlinks=true, % Los enlaces serán coloreados en lugar de encajonados.
|
|
linkcolor=WarlockRed, % Color para enlaces internos (a secciones, figuras, etc.).
|
|
filecolor=WarlockRed, % Color para enlaces a archivos locales.
|
|
urlcolor=WarlockRed, % Color para enlaces a URLs externas.
|
|
pdftitle={Warlock-Studio 3.0 Guía de Usuario 6 Documentación Técnica}, % Metadatos del PDF.
|
|
pdfauthor={Iván Eduardo Chavez Ayub (Revisado por IA)} % Metadatos del PDF.
|
|
}
|
|
|
|
|
|
% %%% --- ESTILO DE TÍTULOS DE SECCIÓN --- %%%
|
|
% Se usa 'titlesec' para definir un estilo personalizado para las secciones.
|
|
% \titleformat{command}[forma]{formato}{etiqueta}{separación}{código-antes}
|
|
\titleformat{\section}
|
|
{\normalfont\Large\bfseries\color{WarlockRed}} % Formato del título: Fuente normal, grande, negrita, color rojo.
|
|
{\thesection.} % Etiqueta: El número de la sección seguido de un punto.
|
|
{1em} % Separación horizontal entre la etiqueta y el título.
|
|
{} % Código a ejecutar antes del título (en este caso, ninguno).
|
|
|
|
\titleformat{\subsection}
|
|
{\normalfont\large\bfseries\color{WarlockRed!70!black}} % Similar a \section, pero con un color más oscuro.
|
|
{\thesubsection.}
|
|
{1em}
|
|
{}
|
|
|
|
% \titlespacing*{command}{espacio-izq}{espacio-arriba}{espacio-abajo}
|
|
\titlespacing*{\section}
|
|
{0pt} % Espaciado a la izquierda del título.
|
|
{3.5ex plus 1ex minus .2ex} % Espaciado vertical ANTES del título (con flexibilidad).
|
|
{2.3ex plus .2ex} % Espaciado vertical DESPUÉS del título (con flexibilidad).
|
|
|
|
|
|
% %%% --- DEFINICIÓN DE CAJAS DE TEXTO PERSONALIZADAS --- %%%
|
|
% Se usa 'tcolorbox' para crear entornos de "cajas" para información y advertencias.
|
|
\tcbuselibrary{skins, breakable, shadows} % Se cargan bibliotecas adicionales para más estilos.
|
|
% 'breakable' permite que las cajas se dividan entre páginas.
|
|
% 'shadows' añade efectos de sombra.
|
|
|
|
% Caja para información general.
|
|
\newtcolorbox{infobox}{
|
|
colback=InfoBlue, % Color de fondo de la caja.
|
|
colframe=WarlockBlue, % Color del borde.
|
|
fonttitle=\bfseries, % Fuente del título de la caja (negrita).
|
|
coltitle=WarlockBlue, % Color del texto del título.
|
|
title=\faInfoCircle\hspace{0.5em} Información, % Contenido del título (icono + texto).
|
|
breakable, % Permite que la caja se parta entre páginas.
|
|
pad at break=2mm, % Espaciado interno cuando la caja se rompe.
|
|
enhanced, % Activa modos de renderizado avanzados.
|
|
drop shadow={WarlockGray!50!white} % Añade una sombra sutil.
|
|
}
|
|
|
|
% Caja para advertencias importantes.
|
|
\newtcolorbox{warnbox}{
|
|
colback=WarnYellow,
|
|
colframe=WarnBorder,
|
|
fonttitle=\bfseries,
|
|
coltitle=WarnBorder!80!black,
|
|
title=\faExclamationTriangle\hspace{0.5em} Advertencia,
|
|
breakable,
|
|
pad at break=2mm,
|
|
enhanced,
|
|
drop shadow={WarnBorder!50!white}
|
|
}
|
|
|
|
% Comando personalizado para formatear código en línea.
|
|
% \newcommand{nombre}[argumentos]{definición}
|
|
\newcommand{\inlinecode}[1]{\colorbox{WarlockLightGray}{\small\texttt{#1}}}
|
|
|
|
|
|
% %%% --- CONFIGURACIÓN DE ENCABEZADO Y PIE DE PÁGINA --- %%%
|
|
% Se usa 'fancyhdr' para controlar el contenido de encabezados y pies.
|
|
\pagestyle{fancy}
|
|
\fancyhf{} % Limpia todos los campos del encabezado y pie de página.
|
|
|
|
% \fancyhead[L/C/R]{...} define el contenido de la cabecera (Izquierda, Centro, Derecha).
|
|
\fancyhead[L]{\textit{Warlock-Studio 3.0}}
|
|
\fancyhead[R]{\leftmark} % \leftmark muestra el nombre de la sección actual.
|
|
|
|
% \fancyfoot[L/C/R]{...} define el contenido del pie de página.
|
|
\fancyfoot[L]{\includegraphics[height=0.8cm]{logo.png}} % Asume que 'logo.png' está en la misma carpeta.
|
|
\fancyfoot[C]{\thepage} % Muestra el número de página actual.
|
|
\fancyfoot[R]{\textcopyright~2025 Warlock-Studio}
|
|
|
|
% Se definen los grosores de las líneas de separación.
|
|
\renewcommand{\headrulewidth}{0.4pt}
|
|
\renewcommand{\footrulewidth}{0.4pt}
|
|
|
|
% Se redefine cómo se genera la marca de sección para que incluya el número.
|
|
\renewcommand{\sectionmark}[1]{\markboth{\thesection. #1}{}}
|
|
|
|
|
|
% =======================================================================================
|
|
% INICIO DEL CUERPO DEL DOCUMENTO
|
|
% =======================================================================================
|
|
\begin{document}
|
|
|
|
% %%% --- PÁGINA DE TÍTULO --- %%%
|
|
% Se crea una portada impactante y profesional usando un 'tcolorbox' a toda página.
|
|
\begin{titlepage}
|
|
\begin{tcolorbox}[
|
|
%--- Estilo de la caja ---
|
|
colback=WarlockDark, % Fondo oscuro.
|
|
colframe=WarlockGold, % Borde dorado.
|
|
sharp corners, % Esquinas rectas en lugar de redondeadas.
|
|
boxrule=1.5pt, % Grosor del borde.
|
|
%--- Alineación y Tamaño ---
|
|
halign=center, % Alineación horizontal del contenido.
|
|
valign=center, % Alineación vertical del contenido.
|
|
height=\dimexpr\textheight-1cm\relax % Altura de la caja (toda la altura del texto menos 1cm).
|
|
]
|
|
%--- Contenido de la Portada ---
|
|
\centering % Centra los elementos internos.
|
|
|
|
\includegraphics[width=0.5\textwidth]{logo.png}\par % Logo.
|
|
|
|
\vfill % Espacio flexible para empujar el contenido.
|
|
|
|
\color{white} % Cambia el color del texto a blanco para contraste.
|
|
|
|
{\Huge\bfseries Warlock-Studio\par}
|
|
\vspace{0.7cm} % Espacio vertical fijo.
|
|
{\Large -- Manual Técnico del Usuario y Documentación --\par}
|
|
\vspace{0.2cm}
|
|
{\Large Versión 3.0\par}
|
|
|
|
\vfill % Otro espacio flexible.
|
|
|
|
{\large Iván Eduardo Chavez Ayub\par}
|
|
\href{https://github.com/Ivan-Ayub97}{\texttt{\color{WarlockGold}@Ivan-Ayub97 en GitHub}}\par % Enlace con estilo.
|
|
|
|
\vspace{1.5cm}
|
|
|
|
{\large \today\par} % Muestra la fecha de compilación.
|
|
\end{tcolorbox}
|
|
\thispagestyle{empty} % Oculta el encabezado y pie de página en la portada.
|
|
\end{titlepage}
|
|
|
|
|
|
% %%% --- RESUMEN Y TABLA DE CONTENIDOS --- %%%
|
|
\pagestyle{fancy} % Restaura el estilo de página 'fancy' después de la portada.
|
|
|
|
% El entorno 'abstract' crea un resumen del documento.
|
|
\begin{abstract}
|
|
\noindent % Evita la sangría en la primera línea.
|
|
Este documento es una guía técnica exhaustiva para Warlock-Studio 3.0. La información ha sido validada y enriquecida con un análisis profundo del código fuente para proporcionar detalles precisos sobre su arquitectura, una guía de optimización avanzada y un manual de solución de problemas robusto.
|
|
\end{abstract}
|
|
|
|
\newpage % Salto de página antes de la tabla de contenidos.
|
|
\tableofcontents % Genera la tabla de contenidos automáticamente.
|
|
\newpage % Salto de página después de la tabla de contenidos.
|
|
|
|
|
|
% %%% --- CUERPO PRINCIPAL DEL MANUAL --- %%%
|
|
|
|
% --- Sección 1: Introducción ---
|
|
\section{Introducción}
|
|
Warlock-Studio es una suite de mejora y escalado de medios impulsada por IA, diseñada para ofrecer resultados de alta calidad a través de una interfaz de usuario accesible. La versión 3.0 introduce mejoras clave en gestión de GPU, manejo de errores y eficiencia de rendimiento. Se consolida como una herramienta poderosa para creadores de contenido profesionales.
|
|
|
|
\subsection{Novedades en la Versión 3.0}
|
|
La última versión aporta las siguientes mejoras clave:
|
|
% Se usa 'itemize' para listas con viñetas. [leftmargin=*] alinea la lista con el margen del párrafo.
|
|
\begin{itemize}[leftmargin=*]
|
|
\item \textbf{Soporte mejorado de modelos IA:} Nuevos modelos de última generación como Real-ESRGAN, RIFE y GFPGAN se han integrado para un superior escalado e interpolación.
|
|
\item \textbf{Gestión avanzada de GPU:} Mejora en el manejo de errores para optimizar el rendimiento incluso en configuraciones de VRAM más bajas.
|
|
\item \textbf{Gestión optimizada de memoria:} Incluye técnicas proactivas de optimización de memoria y mejor soporte de hilos para un procesamiento fluido.
|
|
\item \textbf{Mejora en GUI y preferencias de usuario:} Una interfaz más amigable con opciones de configuración mejoradas y actualizaciones dinámicas en tiempo real.
|
|
\item \textbf{Codificación de video mejorada:} Soporta múltiples codificadores acelerados por hardware de NVIDIA, AMD e Intel para un rendimiento óptimo.
|
|
\end{itemize}
|
|
|
|
\subsection{Características Principales}
|
|
\begin{itemize}[leftmargin=*]
|
|
\item \textbf{Escalado por IA:} Utiliza modelos de última generación como Real-ESRGAN, BSRGAN y SRVGGNetCompact.
|
|
\item \textbf{Interpolación de Fotogramas:} Aumenta los FPS o crea efectos de cámara lenta fluidos usando modelos RIFE.
|
|
\item \textbf{Reducción de Ruido:} Incluye modelos IRCNN dedicados a la limpieza de imágenes y videos.
|
|
\item \textbf{Restauración de Rostros:} Modelo GFPGAN para mejorar y restaurar rostros en fotos.
|
|
\item \textbf{Aceleración por Hardware:} Usa el motor ONNX Runtime con el proveedor DirectML (\texttt{DmlExecutionProvider}) para una aceleración por GPU compatible con DirectX 12.
|
|
\item \textbf{Codificación de Video Avanzada:} Soporte para codificadores acelerados por hardware de NVIDIA (NVENC), AMD (AMF) e Intel (QSV).
|
|
\end{itemize}
|
|
|
|
|
|
% --- Sección 2: Instalación ---
|
|
\section{Instalación y Arquitectura del Programa}
|
|
|
|
\subsection{Requisitos del Sistema}
|
|
% Se usa 'table' para tablas que no se dividen entre páginas. [H] fuerza su posición.
|
|
\begin{table}[H]
|
|
\centering % Centra la tabla en la página.
|
|
% 'tabular' es el entorno que dibuja la tabla. {ll} define dos columnas alineadas a la izquierda.
|
|
\begin{tabular}{ll}
|
|
\toprule % Línea superior de la tabla (de booktabs).
|
|
\textbf{Componente} 6 \textbf{Requisito} \\
|
|
\midrule % Línea media de la tabla (de booktabs).
|
|
Sistema Operativo 6 Windows 10 (64-bit) o posterior \\
|
|
Memoria RAM 6 8 GB (Mínimo), 16 GB (Recomendado) \\
|
|
Tarjeta Gráfica (GPU) 6 Compatible con \textbf{DirectX 12}. \textbf{Recomendado: 4+ GB VRAM}. \\
|
|
Almacenamiento 6 2 GB de espacio libre. Se recomienda un SSD para un mejor rendimiento. \\
|
|
\bottomrule % Línea inferior de la tabla (de booktabs).
|
|
\end{tabular}
|
|
\caption{Requisitos de hardware y software para Warlock-Studio 3.0.}
|
|
\end{table}
|
|
|
|
\subsection{Estructura de Archivos y Dependencias}
|
|
\begin{infobox}
|
|
Warlock-Studio es una aplicación autocontenida. Los siguientes componentes se incluyen en la instalación y no requieren acción por parte del usuario.
|
|
\end{infobox}
|
|
\begin{itemize}[leftmargin=*]
|
|
\item \inlinecode{ffmpeg.exe:} Ubicado en la carpeta \texttt{Assets}, es el motor para toda la manipulación, codificación y decodificación de video.
|
|
\item \inlinecode{exiftool.exe:} También en \texttt{Assets}, se utiliza para leer y escribir metadatos (EXIF, XMP), asegurando que la información original del archivo se preserve.
|
|
\item \textbf{Modelos IA:} Los modelos en formato \texttt{.onnx} se encuentran en la carpeta \texttt{AI-onnx}.
|
|
\item \textbf{Preferencias de Usuario:} Se guarda un archivo \inlinecode{Warlock-Studio_3.0_UserPreference.json} en la carpeta de \textbf{Documentos} del usuario.
|
|
\item \textbf{Registros (Logs):} Los archivos de registro se almacenan en \texttt{Documentos\textbackslash Warlock-Studio_3.0_Logs}.
|
|
\end{itemize}
|
|
|
|
|
|
% --- Sección 3: Guía de Modelos ---
|
|
\section{Guía Detallada de Modelos de IA}
|
|
La elección del modelo de IA es el factor más importante para la calidad y el tiempo de procesamiento.
|
|
|
|
\subsection{Tabla Comparativa de Modelos}
|
|
La siguiente tabla detalla el uso relativo de VRAM de cada modelo.
|
|
% 'longtable' es para tablas que pueden ocupar varias páginas. La definición de columnas es similar a 'tabular'.
|
|
% Se usa 'p{ancho}' para la última columna, creando un párrafo de ancho fijo con ajuste de línea automático.
|
|
\begin{longtable}{l l c c p{6.5cm}}
|
|
\toprule
|
|
\textbf{Modelo} 6 \textbf{Función Principal} 6 \textbf{Escala} 6 \textbf{Peso VRAM} 6 \textbf{Caso de Uso Recomendado} \\
|
|
\midrule
|
|
\endhead % \endhead define el encabezado que se repetirá en cada página.
|
|
|
|
\multicolumn{5}{c}{\textit{Modelos de Reducción de Ruido (Denoising)}} \\
|
|
\midrule
|
|
\texttt{IRCNN\_Mx1} 6 Denoise 6 x1 6 4.0 6 Ruido moderado. \\
|
|
\texttt{IRCNN\_Lx1} 6 Denoise 6 x1 6 4.0 6 Ruido intenso. \\
|
|
\midrule
|
|
\multicolumn{5}{c}{\textit{Modelos de Escalado - Alta Calidad (Lentos)}} \\
|
|
\midrule
|
|
\texttt{BSRGANx4} 6 Upscale 6 x4 6 0.6 6 Fotografías realistas. Excelente detalle fino. \\
|
|
\texttt{BSRGANx2} 6 Upscale 6 x2 6 0.7 6 Similar a x4 pero para un escalado menor. \\
|
|
\texttt{RealESRGANx4} 6 Upscale 6 x4 6 0.6 6 Uso general, bueno para texturas. \\
|
|
\texttt{RealESRNetx4} 6 Upscale 6 x4 6 2.2 6 Alternativa a RealESRGAN, puede ser más rápido. \\
|
|
\midrule
|
|
\multicolumn{5}{c}{\textit{Modelos de Escalado - Alta Velocidad (Ligeros)}} \\
|
|
\midrule
|
|
\texttt{RealESR\_Gx4} 6 Upscale 6 x4 6 2.2 6 Escalado rápido, ideal para videos. \\
|
|
\texttt{RealESR\_Animex4} 6 Upscale 6 x4 6 2.2 6 Optimizado para anime y dibujos animados. \\
|
|
\midrule
|
|
\multicolumn{5}{c}{\textit{Modelos de Restauración de Rostros}} \\
|
|
\midrule
|
|
\texttt{GFPGAN} 6 Restablecer 6 x1 6 1.8 6 Mejora y restauración de rostros. \\
|
|
\midrule
|
|
\multicolumn{5}{c}{\textit{Modelos de Interpolación de Fotogramas (Solo Video)}} \\
|
|
\midrule
|
|
\texttt{RIFE} 6 Interpolar 6 N/A 6 N/A 6 Máxima calidad de interpolación. \\
|
|
\texttt{RIFE\_Lite} 6 Interpolar 6 N/A 6 N/A 6 Versión más rápida, ideal para GPUs con c 4 GB VRAM. \\
|
|
\bottomrule
|
|
\caption{Guía de selección de modelos de IA y su impacto en VRAM.}
|
|
\label{tab:modelos} % \label para poder referenciar la tabla con \ref{tab:modelos}.
|
|
\end{longtable}
|
|
|
|
|
|
% --- Sección 4: Optimización ---
|
|
\section{Configuración y Optimización del Rendimiento}
|
|
|
|
\subsection{Parámetros Críticos de Rendimiento}
|
|
\begin{itemize}[leftmargin=*]
|
|
\item \textbf{Input Resolution \%:} El ajuste más efectivo para la velocidad. Reduce la resolución antes de procesarla con IA. Un valor entre \textbf{50\% y 75\%} suele ser ideal.
|
|
\item \textbf{GPU VRAM Limiter (GB):} Defina la VRAM de su GPU. Se usa para calcular el tamaño de los \textit{tiles} de procesamiento y evitar errores de memoria.
|
|
\item \textbf{AI Multithreading:} Solo para videos. Procesa varios fotogramas en paralelo. Acelera el proceso pero consume más VRAM y CPU.
|
|
\item \textbf{AI Blending:} Combina la imagen original con la procesada. Útil para reducir artefactos cuando se usa un \textit{Input Resolution} bajo.
|
|
\item \textbf{Generación de fotogramas:} Para modelos RIFE, permite crear fotogramas interpolados para mayor FPS o efectos de cámara lenta.
|
|
\end{itemize}
|
|
|
|
\subsection{El Fichero de Preferencias de Usuario}
|
|
El archivo \inlinecode{Warlock-Studio_3.0_UserPreference.json} guarda su configuración.
|
|
% Se usa 'tabularx' para que la tabla ocupe automáticamente el 100% del ancho del texto.
|
|
% La columna 'X' es una columna flexible que se expande para llenar el espacio disponible.
|
|
\begin{table}[H]
|
|
\centering
|
|
\small % Reduce el tamaño de la fuente dentro de la tabla.
|
|
\begin{tabularx}{\textwidth}{l X}
|
|
\toprule
|
|
\textbf{Clave JSON} 6 \textbf{Descripción} \\
|
|
\midrule
|
|
\texttt{default\_AI\_model} 6 El último modelo de IA seleccionado. \\
|
|
\texttt{default\_AI\_multithreading} 6 El número de hilos de procesamiento para video. \\
|
|
\texttt{default\_gpu} 6 La última GPU seleccionada (Auto, GPU 1, etc.). \\
|
|
\texttt{default\_keep\_frames} 6 Si se deben conservar los fotogramas de video ("ON" o "OFF"). \\
|
|
\texttt{default\_image\_extension} 6 Extensión de imagen por defecto (\texttt{.png}, \texttt{.jpg}, etc.). \\
|
|
\texttt{default\_video\_extension} 6 Extensión de video por defecto (\texttt{.mp4}, \texttt{.mkv}, etc.). \\
|
|
\texttt{default\_video\_codec} 6 El codificador de video por defecto (x264, hevc\_nvenc, etc.). \\
|
|
\texttt{default\_blending} 6 El nivel de mezcla seleccionado (Low, Medium, High). \\
|
|
\texttt{default\_output\_path} 6 La última ruta de salida seleccionada. \\
|
|
\texttt{default\_input\_resize\_factor} 6 El valor del porcentaje de resolución de entrada. \\
|
|
\texttt{default\_output\_resize\_factor} 6 El valor del porcentaje de resolución de salida. \\
|
|
\texttt{default\_VRAM\_limiter} 6 El valor del limitador de VRAM de la GPU. \\
|
|
\bottomrule
|
|
\end{tabularx}
|
|
\caption{Claves guardadas en el archivo de preferencias del usuario.}
|
|
\end{table}
|
|
|
|
% --- Sección 5: Solución de Problemas ---
|
|
\section{Guía Avanzada de Solución de Problemas}
|
|
\begin{warnbox}
|
|
La causa \textbf{Número 1} de errores son los \textbf{caracteres especiales} en rutas y nombres de archivo. Evite usar: \texttt{', ", @, \#, \$, \%, \&, *, [, ], ?, etc.}.
|
|
\end{warnbox}
|
|
|
|
% 'description' es para listas de definiciones.
|
|
% [style=nextline] coloca el texto en la línea siguiente al término.
|
|
\begin{description}[leftmargin=*, style=nextline, itemsep=0.8em]
|
|
\item[\faBan\ Error: "FFmpeg encoding failed: Invalid argument"]
|
|
\textbf{Causa:} Nombre de archivo o ruta no válida.
|
|
\textbf{Solución:} Renombre el archivo y/o la carpeta eliminando caracteres especiales.
|
|
|
|
\item[\faMemory\ Error: "out of memory" o cierre inesperado]
|
|
\textbf{Causa:} La GPU se quedó sin memoria de video (VRAM).
|
|
\textbf{Solución:}
|
|
% 'enumerate' es para listas numeradas. 'nosep' reduce el espacio entre ítems.
|
|
\begin{enumerate}[nosep, leftmargin=*]
|
|
\item Reduzca el \textbf{VRAM Limiter} a un valor igual o inferior al de su GPU.
|
|
\item Baje el \textbf{Input Resolution \%} a 75\% o menos.
|
|
\item Para videos, disminuya los hilos de \textbf{AI Multithreading} o apáguelo.
|
|
\item La aplicación intentará recuperarse de este error automáticamente.
|
|
\end{enumerate}
|
|
|
|
\item[\faTachometerAlt\ Error: "cannot convert float NaN to integer"]
|
|
\textbf{Causa:} Timeout del driver de la GPU, a menudo por sobrecarga o sobrecalentamiento.
|
|
\textbf{Solución:} Reinicie el proceso \textbf{sin borrar la carpeta de fotogramas}. El programa reanudará el trabajo donde se quedó.
|
|
|
|
\item[\faVolumeMute\ Problema: Video de salida sin audio]
|
|
\textbf{Causa:} El video original no tenía audio, se usó un modo \textit{Slowmotion} o el códec de audio era incompatible.
|
|
\textbf{Solución:} El programa intenta copiar el audio, si falla, lo re-codifica a AAC. Si todo falla, guarda el video sin audio. Usar \inlinecode{.mkv} en la salida puede ayudar.
|
|
|
|
\item[\faQuestionCircle\ Problema: La aplicación no se abre]
|
|
\textbf{Causa:} Configuración corrupta, falta de permisos o error del entorno.
|
|
\textbf{Solución:}
|
|
\begin{enumerate}[nosep, leftmargin=*]
|
|
\item Elimine el archivo \inlinecode{Warlock-Studio_3.0_UserPreference.json} en su carpeta de \textbf{Documentos}.
|
|
\item Revise los archivos de registro en \texttt{Documentos\textbackslash Warlock-Studio_3.0_Logs}.
|
|
\item Asegúrese de que sus controladores de GPU estén actualizados.
|
|
\end{enumerate}
|
|
|
|
\item[\faExclamationTriangle\ Problema: La interpolación de fotogramas no funciona]
|
|
\textbf{Causa:} Modelos RIFE no seleccionados o formato de video incompatible.
|
|
\textbf{Solución:} Asegúrese de haber seleccionado un modelo RIFE (RIFE o RIFE\_Lite) y que la opción de generación de fotogramas esté correctamente configurada.
|
|
\end{description}
|
|
|
|
% --- Sección 6: Arquitectura ---
|
|
\section{Arquitectura y Procesos Avanzados}
|
|
|
|
\subsection{Motor de Inferencia y Aceleración por Hardware}
|
|
Warlock-Studio utiliza \textbf{ONNX Runtime} con el proveedor \textbf{DirectML} (\inlinecode{DmlExecutionProvider}). Este traduce las operaciones de IA a llamadas de \textbf{DirectX 12}, garantizando una amplia compatibilidad con GPUs de NVIDIA, AMD e Intel.
|
|
|
|
\subsection{Sistema de Tiles y Gestión de Memoria}
|
|
Para manejar archivos de alta resolución, la aplicación divide cada fotograma en fragmentos (\textit{tiles}). El tamaño de estos se calcula dinámicamente usando el \textbf{VRAM Limiter}. Además, se invoca al recolector de basura de Python (\inlinecode{gc.collect()}) para forzar la liberación de memoria y garantizar estabilidad.
|
|
|
|
\subsection{Funcionalidad de Reanudación y Checkpoints}
|
|
Si un proceso de video se interrumpe, los fotogramas procesados se guardan. Al reiniciar la tarea, la función \inlinecode{check\_video\_upscaling\_resume} detecta estos archivos y continúa el trabajo desde donde falló, ahorrando tiempo.
|
|
|
|
\subsection{Escritura Asíncrona de Fotogramas}
|
|
Durante el escalado de video, los fotogramas procesados se envían a un hilo de escritura separado. Esto permite a la GPU procesar el siguiente lote sin esperar a que la escritura en disco (más lenta) termine, maximizando el rendimiento.
|
|
|
|
\subsection{Pipeline de Interpolación de Fotogramas}
|
|
Los modelos RIFE utilizan un pipeline de interpolación especializado que analiza el movimiento entre fotogramas para generar fotogramas intermedios suaves. Esto permite mayores tasas de cuadros o efectos de cámara lenta con artefactos mínimos.
|
|
|
|
|
|
% =======================================================================================
|
|
% FIN DEL DOCUMENTO
|
|
% =======================================================================================
|
|
\end{document}
|