Offline-Version von playphrase.me

Hallo allerseits! Ich habe ein kleines Skript geschrieben, das nach einer bestimmten Phrase für alle Untertitel in einem Ordner (und in allen Unterordnern) sucht und die entsprechende Videodatei von diesem Ort aus anzeigt. Bei mehreren Übereinstimmungen wird eine Wiedergabeliste erstellt, die entweder mit "Enter" oder "Shift + <" und "Shift +>" navigiert werden kann.



Anwendungsbeispiel:


playphrase.exe -i <media_dir> <phrase> 

Vor dem ersten Start (oder beim Hinzufügen neuer Videodateien mit Untertiteln) müssen TXT-Dateien mit den verfügbaren srt-Untertiteln generiert werden, die bei der Suche verwendet werden:

 playphrase.exe -i <media_dir> _init_ 

Zusätzliche Schlüssel:


-e, --ending - automatischer Übergang zum nächsten Clip (eine Art Offline-Version des Dienstes playphase.me)
-r, --randomize - Clips verschieben
-p, --padding PADDING - am Anfang und Ende jedes Clips hinzugefügt (Standard 0,0 Sekunden)
-o, --outout FILENAME - speichert die Suchergebnisse in einer Datei
-d, --demo - zeigt nur die Anzahl der Übereinstimmungen an, ohne den Videoplayer zu öffnen
-ph, --phrases [GAP_BETWEEN_PHRASES] - Die Show beginnt nicht an der gefundenen Untertitelzeile, sondern etwas früher (wenn möglich am Anfang der Phrase). Falls gewünscht, können Sie den Wert GAP_BETWEEN_PHRASES nach dem Schalter --phrases festlegen (Standard ist 1,75). Alle Untertitel, deren Abstand nicht größer als GAP_BETWEEN_PHRASES ist, werden zu einer Phrase zusammengefasst.
-l, --limit LIMIT - begrenzt die maximale Dauer einer Phrase (Standard 30 Sekunden)



Programmseite

Damit das Skript funktioniert, muss der Dateiname mit Untertiteln mit dem Namen der Videodatei übereinstimmen.

Bei der Suche können Sie reguläre Ausdrücke verwenden.

Wenn in der Konsole Keine angezeigt wird, liegt höchstwahrscheinlich ein Fehler in der Suchphrase vor. Vielleicht müssen Sie einige Specials überprüfen. Backslash-Zeichen (\).

Auf der Download-Seite befindet sich eine vorgefertigte Binärdatei für Windows (Archiv playphrase.zip).

Um die Eingabe neuer Phrasen zu vereinfachen, können Sie die Datei videogrep.bat (für Windows) oder videogrep.sh (für Linux) verwenden, nachdem Sie sie bearbeitet und den Pfad zum Ordner mit Videodateien und Untertiteln in einem Texteditor geändert haben. Zum Beenden können Sie quit, exit oder q, x eingeben.



Falls gewünscht, kann das Skript mit Hörbüchern verwendet werden, Sie müssen jedoch für jede Audiodatei Untertitel vorab generieren. Zu diesem Zweck können Sie das Programm aeneas (oder die Online-Version ) verwenden, das hauptsächlich zum Erstellen von EPUB 3-Audio-eBooks entwickelt wurde . Für die halbautomatische Aufteilung des Textes eines Buches in Kapitel können Sie beispielsweise das Konsolendienstprogramm csplit und für die weitere Aufteilung in kürzere Fragmente des Pragmatic Segmenter verwenden .

Kurz gesagt, die Reihenfolge ist ungefähr wie folgt (es wird angenommen, dass das Hörbuch in Kapitel unterteilt ist):

  1. Teilen Sie den Text eines Buches mit csplit in Kapitel auf. Befehlsbeispiel:

     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. Brechen Sie den Text jedes Kapitels mit dem Pragmatic Segmenter. Für die teilweise Automatisierung können Sie das Skript text-segmenter.rb (Kompilieren von Antworten auf Stack Overflow) oder split2sentences.py verwenden .
  3. Generieren Sie mit aeneas Untertitel für jede Audiodatei. Befehlsbeispiel:

     python -m aeneas.tools.execute_task audio.mp3 text.txt "task_language=eng|os_task_file_format=srt|is_text_type=plain" subtitles.srt 

Das Ergebnis wird ungefähr so ​​aussehen:


Im Allgemeinen ist vielleicht jemand nützlich.

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


All Articles