Festgebannte Untertitel von der VHS/Laserdiscs (closed captioned) rippen

  • Ich habe vergessen dass diese Module ja installiert werden mussten. Du hast 2 Möglichkeiten:

    1. Ein paar Zeilen zu kommentieren

    2. Die Module zu installieren

    Beim 1. werden dann keine Bilder zusätzlich mehr gespeichert neben der csv

    Such nach def SceneLog(n,f,clip,dir,zero_pad): (ca Zeile 160)

    und da folgende Zeilen mit einem # kommentieren

    #v = cv.merge([np.array(frame.get_read_array(i), copy=False) for i in reversed(range(frame.format.num_planes))])

    #nfn = "%0*d.png" % (zero_pad, n)

    #cv.imwrite(os.path.join(dir, nfn), v)

    und vor das import cv2 as cv auch ein # setzen


    Bei 2. musst du die module nachinstallieren. Geh dazu in den Unterordner VapourSynth64 und öffne powershell (oder cmd).

    Mit powershell sieht der Befehlt dann so aus:

    .\python.exe -m pip install numpy opencv-python

    (per cmd ohne das .\)

    und du musst den Kommentar # vor dem #import numpy as np entfernen (Zeile 30)

    #################

    Hier ein r vor die "" setzen damit der Windows pfad erkannt wird. Oder \\ oder / statt \ nutzen

    FichierSource=r"D:\Users\DEAFYAKUZA\Desktop\Video.avi"

    #################

    Und noch eine Kleinigkeit: cropping

    Füg oben in das script diese Zeile hinzu

    FichierSource="Video.avi"

    cropargs = dict(top=0, bottom=0, left=0, right=0)

    und ersetzte

    Clip=core.ffms2.Source(source=FichierSource)

    durch

    Clip=core.ffms2.Source(source=FichierSource).std.Crop(**cropargs)

    Falls du das Video beschneiden möchtest ;)

    VapourSynth Paketmanager VSRepo + GUI

    Avisynth Paketmanager AVSRepo + GUI

    2 Mal editiert, zuletzt von FatFaster (25. November 2018 um 20:08)

  • YUV im AVI Format.


    Edit: Ja, es startete mit Benchmark.

  • Das gleiche Fehler. Auch bei anderen Videoquelle.


    Muss ich dann wohl in ein normales AVI konvertieren, oder in h.264 in MKV/MP4 encoden?

  • Ja, Benchmark lief durch, fand aber viele Fehler "Error on frame xxxx request: name 'cv' is not defined.

    Aber das Video ist doch 710x120.

    Fehlercode:

  • Was cv angeht habe ich ja hier was zu geschrieben: Festgebannte Untertitel von der VHS/Laserdiscs (closed captioned) rippen

    Das script verdoppelt die Auflösung, wahrscheinlich für eine bessere Szenenerkennung.

    Entweder was wegschneiden (crop nutzen) oder du kannst auch im 422 format abspeichern.

    Für YUV422 musst du dann den Parameter --output-csp i422 beim x264 zusätzlich übergeben. Standart is i420 wie man im log sehen kann und das erlaubt keine ungeraden Auflösungen.

    Ansonsten den crop am Anfang nutzen ODER

    Clip = Clip.std.Crop(top=0, bottom=0, left=0, right=0)

    ganz an das Ende packen aber VOR Clip.set_output() und einsprechend anpassen.

  • So es hat nun doch bis zum Schluss geklappt! :)

    Wie habe ich es geschafft, also...

    - zuerst habe ich die 1. Möglichkeit zurückgesetzt (2x # Kommentare entfernt (1x vor import cv2 as cv und 1x vor import numpy as np)

    - dann die 2. Möglichkeit genommen und das per cmd erfolgreich installiert.

    - zuletzt den Parameter geändert (durch --output-csp i422 ersetzt)

    und schon war das Encoden erfolgreich.

    Vielen Dank für deine Hilfe! Es hat mir sehr geholfen!

  • Haha endlich :D

    Aber das war ja quasi erst Schritt 1. Jetzt kann ich ja noch was vorschlagen 8)

    Ich hatte auch mal ver. dup filter ausprobiert und muss sagen dieser hier war am einfachsten bzw besten für dieses Videomaterial geeignet. Es ist ein avisynth filter: http://rationalqm.us/dup/dupnew.html

    Das ist also wenn du absolut gleiche frames brauchst später -> Ultrastabilisierung :D

    In lagarith kann man übrigens Nullframes aktivieren, dann speichert der exakt gleiche frames nur einmal.

  • Siehe posting #22.

    Ich hab aber Avisynth 2.6 MT für Win 32-bit.

    Habe mit 3 verschiedene OCR-Programme ausprobiert, leider alle 3 scheitern drastisch.

    - VideoSubFinder erkennt nur hellere Bilder - keine Einstellung für dunkle Bilder

    - SubRip kann nur bis 2 Zeilen Untertitel erkennen und rippen - keine Update für Verbesserung für 4 Zeilen Untertitel.

    - AviSubDetector - Scheint ein großes Problem zu sein, beim Open AVI kommt eine Fehlermeldung "Access violation at address 004D6D0A in module 'AVISubDetector.exe'. Read of address 02CDA001". Dann habe ich auf den Button OK geklickt und dann auf Settings geklickt, um das Häckchen "Y Diff" und den Button "Black and White" zu setzen, doch die Fehlermeldung will sich nicht verschwinden lassen, wieder auf OK geklickt und wieder erscheint dieselbe Meldung und wieder auf OK klicken, dann den Start (Full) um Video.avi abzurufen geklickt, wieder diese gottverdammte Meldung, dann auf OK geklickt passiert nichts. Vorhin lief sie einmal gut durch trotz Fehlermeldung, musste aber mehrmals Buchstaben eingeben, bzw. Match klicken. Das ist viel zu viel Arbeit.

    Gibt es keine bessere OCR Programme?

  • Ich habe tesseract relativ einfach in Windows wsl installiert (ubuntu). Damit kann ich auch das pythocr script laufen lassen, aber die Erkennung ist halt auch nicht so gut. Jeder Text müsste per Hand korrigiert werden.

    Eben das ganze mal auch noch mal per subrip ausprobiert. Und es funktioniert doch sehr gut! Ich habe das Rechteck sehr groß gewählt sodass alle 4 Zeilen erfasst werden. Dann per manuellen Eingabe jeweils den Text eingeben. Dass es der selbe sub ist kam auch nur ein paar mal vor.

    Aber ich sehe den Nachteil hier. Man muss immer kurz warten bis der nächste Text gefunden wird... sprich Zeitverschwendung


    Edit, du kannst subrip auch 2 mal durchlaufen lassen. Zuerst die oberen 2 Zeilen, dann die Unteren... Es gab ein gutes Subtitle Edit tools was untertitel zusammenführen kann.Habe den Namen vergessen, muss ich suchen.

    VapourSynth Paketmanager VSRepo + GUI

    Avisynth Paketmanager AVSRepo + GUI

    Einmal editiert, zuletzt von FatFaster (26. November 2018 um 13:44)

  • Habe noch was gefunden https://github.com/SubtitleEdit/subtitleedit/releases

    das in Verbindung mit diesem Video

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Da ist ocr, subs zusammenführen, vergleichen, anpassen... alles eingebaut. In dem video öffnet er ja die Bilder vom VideoSubFinder und der Dateiname ist gleich der Zeit. Unser script sollte man ja dementsprechend anpassen können.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!