Problem beim Importieren von Avisynth Script

  • Einen schönen guten Tag :)

    Habe folgendes Problem beim Importieren eines Avisynth Scripts
    Es ist ein ganz einfaches Script weil ich noch nicht viel Erfahrung mit Avisynth habe!
    Hier erstmal der Inhalt des Scripts:
    DirectShowSource("test.mpg")
    Crop(0,0,-0,-0)
    BicubicResize(512,384,0,0.5)
    Ich verstehe den Fehler nicht :nein: Es handelt sich bei der Video Datei um eine MPG2.Die Datei wurde per DVB-T aufgezeichnet.Und bei der Karte stand auch dabei das er es im mpg Format aufnimmt!
    Hoffe auf Hilfe ;)

    Und hier ist ein Screenshot des Fehlers

    [Blockierte Grafik: http://img526.imageshack.us/img526/1093/virtualdubzf3.jpg]

  • Fehlermeldung bedeutet: das Du kein Video oder Audio DirectShowDecoder installiert hast.

    Bei MPGs bitte http://neuron2.net/dgmpgdec/dgmpgdec.html verwenden und KEIN DirectShow. Wenn Du auch noch Audio im AVIsynth Decodieren willst ( MPEGAudio, AC3, LPCM) Bitte NicAudio.dll Filter verwenden.

    siehe auch div. Beiträge dazu.

  • Und als Ergänzung zu Katjarella:

    Bei DVB immer vorher Streamfehler korrigieren, z.B. mit ProjectX oder PVAStrumento.

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Danke für eure antworten!:)
    akapuma wie kann ich in ProjectX Streamfehler korrigieren das ist schon wieder ein neuer Punkt :D Ich sehe schon das wird nicht einfach das ganze zu kapieren.
    Bin grade dabei ein Senderlogo zu entfernen habe das eigentlich auch schon relativ gut hinbekommen nur bei dem Tutorial von Didée verstehe ich nicht so ganz wie und was ich in das script eintragen muss und an welchen Encoder ich es dann später weiter geben kann.

    Mfg Zinnstein

  • DVB ist eine unsichere Übertragung, denn Dein PC kann dem Sender nicht sagen "hab ich nicht verstanden, bitte wiederholen". Kurze Störungen führen so zu kaputten Streams. Bei der Wiedergabe ist das nicht ganz so schlimm, denn Bild und Ton werden gleichzeitig wiedergegeben. Bei der Weiterverarbeitung werden Bild und Ton aber vollkommen getrennt verarbeitet. Und Fehler führen dann zu unsynchronem Ton. Es sind aber nicht nur Fehler, die zu Problemen führen. Bitratenwechsel im Ton (z.B., aber nicht nur, durch Mono/Stereo-Wechsel) führen zu Problemen. Deshalb ist es üblich, DVB-Aufnahmen vor der Weiterverarbeitung mit einem speziellen Korrekturprogramm zu Demuxen (Bild und Ton trennen). Diese Programme korrigieren dabei Fehler. Es gibt 2 solche Programme, die beide gratis sind:

    ProjectX:
    Mein Favorit. Etwas aufwendig in der Installation. Um eine aktuelle Version zu erhalten, muß man sich mit Tortoise den aktuellen Quelltext herunterladen und diesen dann mit dem Java Development Kit selbst kompilieren.

    PVAStrumento:
    Eine exe-Datei und deshalb einfacher in der Anwendung.

    Und wenn dann demuxt wurde, kein DirectShowSource, sondern DGMPGDec (wie Katjarella bereits schrieb).

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Habe mir jetzt PVAStrumento geladen und die Video Datei demuxt.DGMPGDec habe ich auch schon runtergeladen und entpackt.Wie soll ich jetzt weiter verfahren muss ich auch irgendwas am Script ändern also anstatt
    DirectShowSource("test.mpg") etwas anderes oder darf ich das jetzt verstehen :D

  • DGIndex starten und eine .d2v-Datei für die Eingabedatei erzeugen.

    avs:
    LoadPlugin("c:\dfsdg\sdgsg\dgdecode.dll")
    mpeg2source("d:\filme\film.d2v")

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Danke für all die Antworten bin jetzt auch schon einen Schritt weitergekommen.Mittlerweile sieht das Script so aus:

    LoadPlugin("D:\VideoEncoding\DGIndex\DGDecode.dll")
    mpeg2source("D:\test_00.d2v")
    BicubicResize(512,384,0,0.5)
    Crop( 420, 20, 64, 24 )
    SelectRangeEvery( 56, 1 )
    TemporalSoften( 3,255,255,255,2 )
    Import(„Delogo_filter.avs“)
    Delogo_filter.avs ist ja bekanntlicher Weise der Filter von Didée wenn ich ihn aus dem Script rausnehme lädt er ganz normal den Logo Schnipsel halt ohne ihn zu retuschieren.Aber wenn ich den Script mit einbinde wie es im Tut steht dann kommt folgende Fehlermeldung :( (Verzeichnis zum Delogo Plugin ist angegeben und die .bmp befinden sich auch im gleichen Verzeichnis wie es im Tutorial beschrieben ist!)

    [Blockierte Grafik: http://img505.imageshack.us/img505/5968/fehlerik1.jpg]

  • Falsche Anführungszeichen in der Import-Zeile: >> „ “ << anstelle von >> " " <<.
    Damit kann Avisynth wahrscheinlich nix anfangen ...

  • Spielt es eigentlich eine Rolle ob ich Import("Delogo_filter.avs") an den Anfang oder ans Ende des Scripts setze?Weil wenn ich Import(„Delogo_filter.avs“) als letztes in das Script eintrage kommt ein Fehler
    Avisynth open failure:
    The script's return value was not a video clip :huh:
    Und wenn ich es oben anhänge dann lädt er zwar den Logoschnipsel aber es wird nichts vom Logo entfernt!

  • Da es sich um eine Skriptsprache handelt sollten Imports&Co immer an den Anfang.
    Wenn Du es als letztes ins Skript setzt, denkt Avisynth, dies wäre der Clip den Du exportieren willst, da es sich aber um keinen Clip sondern nur um eine Funktion handelt kommt der Fehler.

  • Und nochmal zu Klärung:

    Allein für sich genommen tut die Zeile Import("Delogo_filter.avs") zunächst mal überhaupt nichts.
    Aber: Sie erweitert den Funktionsumfang von Avisynth:

    Wenn man dieses Script importiert hat, dann "kennt" Avisynth plötzlich zwei neue Befehle, die es vorher nicht gekannt hat: nämlich die Befehle "ServeLogo()" und "DeLogo()".
    Und diese Befehle sind es, die Du in Deinem Script anwenden musst.

    Ceterum Censeo:

    Es steht alles im Guide. :)

  • Das Script sieht jetzt so aus:

    Import("Delogo_filter.avs")
    LoadPlugin("D:\VideoEncoding\DGIndex\DGDecode.dll")
    mpeg2source("D:\test_00.d2v")
    BicubicResize(512,384,0,0.5)
    Crop( 420, 20, 64, 24 )
    SelectRangeEvery( 56, 1 )
    TemporalSoften( 3,255,255,255,2 )
    DeLogo( 0,0, "LO", "arte", Cmix=0.8, Lmix=0.0)

    Verstehe jetzt nicht was ich bei
    DeLogo( 0,0, "LO", "arte", Cmix=0.8, Lmix=0.0) verändert werden soll also was anstatt der 0,0 hinsoll.

  • Anstelle der '0,0' musst Du die Breite und die Höhe des Logo-Schnipsels eintragen. (Also die Höhe & Breite, die die Bitmap-Masken haben.)

    Das steht alles im Guide. :)

  • Habe jetzt alle Daten eingetragen die benötigt sind:
    Import("Delogo_filter.avs")
    LoadPlugin("D:\VideoEncoding\DGIndex\DGDecode.dll")
    mpeg2source("D:\test_00.d2v")
    BicubicResize(512,384,0,0.5)
    Crop( 420, 20, 64, 24 )
    SelectRangeEvery( 56, 1 )
    TemporalSoften( 3,255,255,255,2 )
    ServeLogo( 64, 24, "RO", 56, 2 )
    DeLogo( 64,24, "RO", "arte", Cmix=0.0, Lmix=0.0)

    Bekomme aber beim Importieren immer noch folgenden Fehler

    [Blockierte Grafik: http://img338.imageshack.us/img338/295/fehlerkg5.jpg]

  • 1. Warum steht bei Dir eigentlich der Resizer vor dem Crop? (i.d.R. schneidet man erst und resized dann)
    2. Sicher dann die Parameter im Crop-Befehl in der richtigen Reichenfolge sind?
    Crop(clip clip, int left, int top, int width, int height, bool align)
    Crop(clip clip, int left, int top, int -right, int -bottom, bool align)

    Quelle: http://avisynth.org/oldwiki/index.php?page=Crop+Deutsch

    Cu Selur

  • Zinnstein: Halt langsam. Du kannst doch nicht alles auf einmal machen & ins Script reinschreiben! Beim Singen singt man eine Note nach der anderen, nicht alle gleichzeitig! (wenn doch, dann klingt das wie: "*rülps*")

    Der Ablauf ist

    - Quelle per "ServeLogo()" in Vdub öffnen, dann die Masken erstellen
    - Erst DANACH kann mit "DeLogo()" das Logo entfernt werden (und ServeLogo darf dann natürlich nicht mehr verwendet werden!)

    Die Zeilen mit Crop(),TemporalSoften() und SelectEvery() brauchst Du auch nicht. Das ist in ServeLogo() bereits alles enthalten.


    Also:

    Dieses Script:

    Code
    Import("Delogo_filter.avs")LoadPlugin("D:\VideoEncoding\DGIndex\DGDecode.dll")mpeg2source("D:\test_00.d2v")ServeLogo( 64, 24, "RO", 56, 2 )

    in Vdub öffnen, Video->Filters->DeLogo einfügen, und dann wie im Guide beschrieben analysieren lassen und die Masken erstellen.


    Wenn die Masken erstellt und abgespeichert sind, dann sieht Dein "endgültiges" Script z.B. so aus:

    Code
    Import("Delogo_filter.avs")
    LoadPlugin("D:\VideoEncoding\DGIndex\DGDecode.dll")
    mpeg2source("D:\test_00.d2v")
    DeLogo( 64,24, "RO", "arte", Cmix=0.0, Lmix=0.0)
    BicubicResize(512,384,0,0.5)


    (.. und das steht wirklich alles im Guide drin. Es empfiehlt sich a) aufmerksam und b) vollständig zu lesen.)

  • Super Danke!:) Endlich klappt alles letzte Frage ist an welchen Encoder ich das Script geben kann.Endlich hab auch ich das kapiert ;D nochmals danke für die Hilfe!!
    Edit:
    Wie mache ich es eigentlich wenn ich zwei Logos in einer Aufnahme habe wie es z.B bei N24 der Fall ist?

Jetzt mitmachen!

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