Sobre o projeto

O FFsubsync é uma ferramenta de linha de comando agnóstica de linguagem, biblioteca Python e utilitário baseado em navegador para sincronizar automaticamente legendas com arquivos de vídeo ou legendas de referência. Ele alinha os tempos do texto aos pontos iniciais corretos nos arquivos multimídia. ### Como Funciona O algoritmo central de sincronização opera em três etapas principais: 1. Discretiza tanto o fluxo de áudio do arquivo de vídeo quanto as legendas em janelas de 10 ms. 2. Determina se cada janela contém fala. As legendas são analisadas diretamente, enquanto os fluxos de áudio são analisados usando detectores prontos de atividade de voz (VAD), como o integrado ao WebRTC. 3. Alinha as strings binárias resultantes maximizando correspondências por meio de uma abordagem de convolução baseada na Transformada Rápida de Fourier (FFT), reduzindo a complexidade temporal para O(n log n). ### Principais Recursos - **Múltiplos Tipos de Referência:** Sincronize com arquivos de vídeo, arquivos de áudio, arquivos de legenda de referência corretamente sincronizados (.srt) ou URLs remotas. - **Versão Baseada em Navegador:** Execute totalmente no lado do cliente sem instalação via WebAssembly (ffmpeg.wasm), garantindo que os arquivos permaneçam locais. - **Detecção Robusta de Codificação:** Infere automaticamente codificações legadas de texto de legendas (como Windows-1251, GBK, Shift-JIS e UTF-16 com BOMs) usando múltiplos detectores alternativos. - **Opções Avançadas de Sincronização:** Suporta correção de taxa de quadros, proporções de busca da seção áurea, alinhamento por partes (`--split-penalty`) para cortes no meio do arquivo e backends VAD alternativos (Auditok, Silero/PyTorch). - **Suporte a Docker:** Imagens de contêiner pré-construídas disponíveis via GitHub Container Registry. - **API de Biblioteca Python:** Pode ser invocada programaticamente com callbacks personalizados de progresso.