Sobre el proyecto

Video-subtitle-extractor (VSE) es una herramienta de código abierto que extrae subtítulos duros quemados en videos para convertirlos en archivos de subtítulos externos (SRT o TXT). Se publica bajo la licencia Apache 2.0, se desarrolla con Python 3.12+ y es compatible con Windows, macOS y Linux. El flujo de procesamiento principal incluye: extraer fotogramas clave del video, detectar la ubicación del texto en los fotogramas, reconocer el contenido del texto, filtrar áreas que no son de subtítulos, eliminar líneas de subtítulos duplicadas y, finalmente, generar un archivo SRT con líneas de tiempo alineadas. El proyecto también incluye video-subtitle-remover (VSR), que se usa para eliminar marcas de agua, logotipos de canal y subtítulos duros del video original. Características destacadas: - OCR completamente local, sin necesidad de solicitar o usar APIs de OCR en línea de terceros como Baidu o Alibaba, lo que ofrece mayor control de privacidad y costos. - Compatible con aceleración GPU (CUDA, DirectML, ONNX) y ejecución solo con CPU, cubriendo hardware de NVIDIA, AMD, Intel y Apple Silicon. - Ofrece tres modos de reconocimiento: rápido (modelo ligero, veloz pero puede perder o errar algunas palabras), automático (selecciona el modelo según el hardware, recomendado) y preciso (detección fotograma a fotograma, casi sin pérdida de texto pero muy lento). - Admite extracción de subtítulos en 87 idiomas, incluidos chino simplificado, chino tradicional, inglés, japonés, coreano, vietnamita, árabe, francés, alemán, ruso, español, portugués e italiano. - Admite procesamiento por lotes, requiriendo que los videos del lote tengan la misma resolución y región de subtítulos. - Incluye un archivo de configuración typoMap.json que permite reemplazar texto o eliminar segmentos completos de los resultados de reconocimiento, por ejemplo, reemplazar "威筋" por "威胁" o borrar textos publicitarios como "性感荷官在线发牌". - Ofrece dos modos de uso: interfaz gráfica (python gui.py) y línea de comandos (python ./backend/main.py). Con la GUI, se puede seleccionar directamente la región de subtítulos y ejecutar con un clic. En cuanto al despliegue, el proyecto ofrece paquetes comprimidos de Release que se pueden ejecutar directamente tras descomprimir; para la instalación desde el código fuente, se debe crear un entorno virtual de Python y luego elegir uno de los cuatro entornos de ejecución según el hardware: CUDA 11.8 + cuDNN 8.6.0, DirectML, ONNX o CPU, instalando la versión correspondiente de PaddlePaddle 3.3.1 y sus dependencias. Es importante que las rutas de video y del programa no contengan caracteres chinos ni espacios, ya que podrían provocar errores desconocidos; para las tarjetas gráficas NVIDIA serie 50, dado que Paddle 3.3.1 aún no es compatible con CUDA 12.8, se recomienda usar la versión genérica de DirectML. El proyecto también mantiene varios grupos de QQ para resolver dudas y anima a los usuarios a sugerir mejoras en Issues y Discussions. En general, se posiciona como una herramienta local de extracción de subtítulos duros para usuarios individuales y entusiastas de los subtítulos, adecuada para recuperar subtítulos editables en videos sin subtítulos o con subtítulos quemados.