Versión sin conexión de playphrase.me

Hola a todos! Escribí un pequeño script que busca una frase dada para todos los subtítulos en una carpeta (y en todas las subcarpetas) y muestra el archivo de video correspondiente desde este lugar. Si hubo varias coincidencias, se creará una lista de reproducción que se puede navegar con "Enter" o "Shift + <" y "Shift +>".



Ejemplo de uso:


playphrase.exe -i <media_dir> <phrase> 

Antes del primer lanzamiento (o al agregar nuevos archivos de video con subtítulos), es necesario generar archivos txt utilizando los subtítulos srt disponibles, que se utilizarán al buscar:

 playphrase.exe -i <media_dir> _init_ 

Llaves adicionales:


-e, --ending: transición automática al siguiente clip (una especie de versión fuera de línea del servicio playphase.me)
-r, - aleatorizar - mover clips
-p, - Padding PADDING - agregado al principio y al final de cada clip (predeterminado 0.0 segundos)
-o, --output FILENAME - guarda los resultados de búsqueda en un archivo
-d, --demo: solo muestra el número de coincidencias sin abrir el reproductor de video
-ph, --phrases [GAP_BETWEEN_PHRASES] - el programa no comenzará desde la línea de subtítulos encontrada, sino un poco antes (si es posible desde el principio de la frase). Si lo desea, puede establecer el valor GAP_BETWEEN_PHRASES después del interruptor --phrases (el valor predeterminado es 1.75). Todos los subtítulos, cuya distancia no es mayor que GAP_BETWEEN_PHRASES, se combinarán en una frase.
-l, --limit LIMIT - limita la duración máxima de una frase (por defecto 30 segundos)



Página del programa

Para que el script funcione, el nombre del archivo con subtítulos debe coincidir con el nombre del archivo de video.

Al buscar, puede usar expresiones regulares.

Si ninguno aparece en la consola, lo más probable es que haya un error en la frase de búsqueda. Quizás necesites filtrar algunas ofertas especiales. caracteres de barra invertida (\).

En la página de descarga hay un binario listo para Windows (archivo playphrase.zip).

Para simplificar el ingreso de nuevas frases, puede usar el archivo videogrep.bat (para Windows) o videogrep.sh (para Linux), después de editarlo y cambiar la ruta a la carpeta con archivos de video y subtítulos en un editor de texto. Para salir, puede escribir quit, exit o q, x.



Si lo desea, la secuencia de comandos se puede usar con audiolibros, pero deberá generar previamente subtítulos para cada archivo de audio. Para hacer esto, puede usar el programa aeneas (o la versión en línea ), diseñado principalmente para crear libros electrónicos de audio EPUB 3 . Para el desglose semiautomático del texto de un libro en capítulos, puede usar, por ejemplo, la utilidad de consola csplit , y para un desglose adicional en fragmentos más cortos del Segmentador pragmático .

En resumen, la secuencia es aproximadamente la siguiente (se supone que el audiolibro está dividido en capítulos):

  1. Divide el texto de un libro en capítulos usando csplit. Ejemplo 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+$/" {*} 
  2. Rompa el texto de cada capítulo con el segmentador pragmático. Para la automatización parcial, puede usar el script text-segmenter.rb (compilando respuestas a Stack Overflow) o split2sentences.py .
  3. Genere subtítulos para cada archivo de audio usando aeneas. Ejemplo 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 

El resultado será algo como esto:


En general, tal vez alguien sea útil.

Source: https://habr.com/ru/post/es406245/


All Articles