Olá pessoal! Escrevi um pequeno script que procura uma determinada frase para todas as legendas em uma pasta (e em todas as subpastas) e mostra o arquivo de vídeo correspondente deste local. Se houver várias correspondências, será criada uma lista de reprodução que poderá ser navegada com "Enter" ou "Shift + <" e "Shift +>".
Exemplo de uso:
playphrase.exe -i <media_dir> <phrase>
Antes do primeiro lançamento (ou ao adicionar novos arquivos de vídeo com legendas), é necessário gerar arquivos txt usando as legendas srt disponíveis, que serão usadas na pesquisa:
playphrase.exe -i <media_dir> _init_
Chaves adicionais:
-e, --ending - transição automática para o próximo clipe (um tipo de versão offline do serviço playphase.me)
-r, --randomize - move clipes
-p, --padding PADDING - adicionado ao início e final de cada clipe (padrão: 0,0 segundos)
-o, --output FILENAME - salva os resultados da pesquisa em um arquivo
-d, --demo - apenas exibe o número de correspondências sem abrir o player de vídeo
-ph, --phrases [GAP_BETWEEN_PHRASES] - o programa começará não a partir da linha de legenda encontrada, mas um pouco mais cedo (se possível desde o início da frase). Se desejar, você pode definir o valor GAP_BETWEEN_PHRASES após a opção --phrases (o padrão é 1,75). Todas as legendas, cuja distância não seja maior que GAP_BETWEEN_PHRASES, serão combinadas em uma frase.
-l, --limit LIMIT - limita a duração máxima de uma frase (padrão 30 segundos)
→
Página do ProgramaPara que o script funcione, o nome do arquivo com legendas deve corresponder ao nome do arquivo de vídeo.
Ao pesquisar, você pode usar expressões regulares.
Se Nenhum aparecer no console, provavelmente haverá um erro na frase de pesquisa. Talvez você precise exibir algumas promoções. caracteres de barra invertida (\).
Na
página de download, há um binário pronto para Windows (archive playphrase.zip).
Para simplificar a inserção de novas frases, você pode usar o arquivo videogrep.bat (para Windows) ou videogrep.sh (para Linux), editando-o anteriormente e alterando o caminho para a pasta com arquivos de vídeo e legendas em um editor de texto. Para sair, você pode digitar sair, sair ou q, x.
Se desejado, o script pode ser usado com audiolivros, mas você precisará gerar previamente legendas para cada arquivo de áudio. Para fazer isso, você pode usar o programa
aeneas (ou a
versão online ), projetada principalmente para criar
eBooks de áudio do EPUB 3 . Para divisão semiautomática do texto de um livro em capítulos, você pode usar, por exemplo, o utilitário
csplit do console e para divisão adicional em fragmentos mais curtos do
Segmento Pragmático .
Em resumo, a sequência é aproximadamente a seguinte (pressupõe-se que o audiolivro esteja dividido em capítulos):
- Divida o texto de um livro em capítulos usando csplit. Exemplo de comando:
csplit "Last Mortal Bond, The - Brian Staveley.txt" /^[0-9]+$/ {*}
csplit "The Lion, the Witch and the Wardrobe.txt" -f "Chapter" -b "_%02d.txt" "/^Chapter \w+$/" {*}
- Divida o texto de cada capítulo usando o Segmentador Pragmático. Para automação parcial, você pode usar o script text-segmenter.rb (compilando respostas ao Stack Overflow) ou split2sentences.py .
- Gere legendas para cada arquivo de áudio usando eneas. Exemplo de comando:
python -m aeneas.tools.execute_task audio.mp3 text.txt "task_language=eng|os_task_file_format=srt|is_text_type=plain" subtitles.srt
O resultado será algo como isto:
Em geral, talvez alguém seja útil.