xvid_encraw probleme

  • Dann würden meines Wissens alle Befehle schnell nacheinander ausgeführt werden, was zu Fehlern bei den 2nd passes führen würde (weil die 2pass.stats noch nicht existieren).
    Mit "start /w" wird die nächste Zeile erst ausgeführt, nachdem der vorherige Programmaufruf beendet wurde, sprich der 2nd pass wird erst ausgeführt, nachdem der 1st pass fertig ist.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • wenn die die Batchdatei nicht im gleichen Verzeichnis wie Rest ist (encraw, avs...), muß man alle kompletten Dateipfade angeben: für xvid_encraw, für das avs, für die Matrix, das statsfile.... also besser gleich ins richtige Verzeichnis packen :)

    wenn ich folgendes als *.bat speichere, klappt es:

    Code
    xvid_encraw -i sm.avs -mkv Film.mkv -type 2 -pass1 C:\statsfile.stats -max_key_interval 250 -vhqmode 4 -bvhq -max_bframes 3 -imin 1 -pmin 1 -bmin 1 -qpel -gmc -qmatrix matrix.cqm -zones 1,w,0.5,25O/359,w,1O/161519,w,0.04,25OG -par 4xvid_encraw -i sm.avs -mkv Film.mkv -type 2 -pass2 C:\statsfile.stats -bitrate 2163 -max_key_interval 250 -vhqmode 4 -bvhq -max_bframes 3 -imin 1 -pmin 1 -bmin 1 -qpel -gmc -qmatrix matrix.cqm -zones 1,w,0.5,25O/359,w,1O/161519,w,0.04,25OG -par 4pause

    wenn ich das eingebe:

    Code
    start /w xvid_encraw -i sm.avs -mkv Film.mkv -type 2 -pass1 C:\statsfile.stats -max_key_interval 250 -vhqmode 4 -bvhq -max_bframes 3 -imin 1 -pmin 1 -bmin 1 -qpel -gmc -qmatrix matrix.cqm -zones 1,w,0.5,25O/359,w,1O/161519,w,0.04,25OG -par 4
    start /w xvid_encraw -i sm.avs -mkv Film.mkv -type 2 -pass2 C:\statsfile.stats -bitrate 2163 -max_key_interval 250 -vhqmode 4 -bvhq -max_bframes 3 -imin 1 -pmin 1 -bmin 1 -qpel -gmc -qmatrix matrix.cqm -zones 1,w,0.5,25O/359,w,1O/161519,w,0.04,25OG -par 4
    pause


    öffnen sich 2 Fenster, die passes werden explizit nacheinander angesteuert. Danke, Nexus :daumen:

    Wobei ich aber glaube, daß die 1.Methode auch reichen würde; im Test zeigte sich, daß am Übergang kurz gewartet wird bei der Einblendung der 1.pass stats (fps, avg time usw.) bis der nächste pass drankommt...

    Pioneer PDP-427 XA | Popcorn Hour NMT C-200 | Sony STR-DB 840 QS | Canton Ergo 91 DC

  • Zitat von nexustheoriginal

    Dann würden meines Wissens alle Befehle schnell nacheinander ausgeführt werden, was zu Fehlern bei den 2nd passes führen würde (weil die 2pass.stats noch nicht existieren).
    Mit "start /w" wird die nächste Zeile erst ausgeführt, nachdem der vorherige Programmaufruf beendet wurde, sprich der 2nd pass wird erst ausgeführt, nachdem der 1st pass fertig ist.


    Hm, im Allgemeinen werden die Befehle in einer Batch-Datei sequentiell abgearbeitet, außer Du startest explizit einen Befehl im Hintergrund als EXtra-Thread - eben mit "&" unter Linux oder "start" unter Dos/Win

    Zumindest funktionieren so z.B. meine Batches, mit denen ich genau das mache, was hier auch gefragt war, nur mit VirtualDub und einer Job-Datei.

    Oder macht "xvid_encraw" standardmäßig einen eigene Thread und gibt die Kontrolle gleich wieder an die dos-Box zurück? Wäre dann aber ein Feature davon...

    Grüße!
    Trekkie2

  • Es gibt leider erhebliche Unterschiede in der Abarbeitung von Batchdatien zwischen Windows 2000 und Windows XP:

    Windows 2000 verwendet noch synchrone Programmaufrufe (das heißt: die Programme warten brav aufeinander, auch bei "start" ist das normalerweise so).

    Windows XP dagegen verwendet teilweise asynchrone Aufrufe (insbesondere GUI-Programme werden gestartet, und es geht sofort weiter; CLI-Programme müssten aber eigentlich nacheinander starten).

    "start /w" ist in der Hinsicht immer die sicherere Methode, in beiden Systemen zuverlässig auf das Beenden zu warten.

  • Wie immer: Danke Erklär-Bär für die Erleuchtung!

    Jep, ich habe W2k, da funktionieren die Skripte wunderbar - gut zu wissen...

    Grüße!
    Trekkie2

  • LigH: gibt es einen Befehl, wo explizit die stats (also das am Ende eines Durchlaufs) in eine Textdatei abgespeichert werden?

    mit "> output.txt" sieht man keinen Verlauf in der Kommandozeile mehr, es wird alles in ein Textfile gespeichert.

    Pioneer PDP-427 XA | Popcorn Hour NMT C-200 | Sony STR-DB 840 QS | Canton Ergo 91 DC

  • Hier gibt es "tee":
    http://www.csc.calpoly.edu/~bfriesen/software/files/tee32.zip

    Wenn es genauso funtioniert wie der Unix Befehl müsstest du es so machen:

    Code
    start /w xvid-encraw -bla -bla -bla | TEE C:\encraw_log.txt

    Tee müsste dann in einem Verzeichnis liegen , das in der PATH-Variable definiert ist , am besten du kopierst es nach "." , das ist dein User-Verzeichnis.

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • cool, danke! hatte gestern auf die schnelle nix gefunden :)

    werde das demnächst ausporbieren :ja:

    Pioneer PDP-427 XA | Popcorn Hour NMT C-200 | Sony STR-DB 840 QS | Canton Ergo 91 DC

  • Jetzt hab ich das erste Mal encraw benutzt , und schon funktioniert es nicht richtig.

    Hier meine CL:

    Code
    start /w xvid_encraw -i K:\Encode.avs -o K:\Encode.m4v -type 2 -pass1 C:\statsfile.stats -max_key_interval 299 -vhqmode 4 -bvhq -max_bframes 3 -imin 1 -pmin 1 -bmin 1 -qpel -gmc -qmatrix "N:\HC017\matrix\Sharktooth's EQM v3HR.cqm" -par 1
    start /w xvid_encraw -i K:\Encode.avs -o K:\Encode.m4v -type 2 -pass2 C:\statsfile.stats -bitrate 10755 -max_key_interval 299 -vhqmode 4 -bvhq -max_bframes 3 -imin 1 -pmin 1 -bmin 1 -qpel -gmc -qmatrix "N:\HC017\matrix\Sharktooth's EQM v3HR.cqm" -par 1
    pause

    Das ist im Prinzip die , die kurt dort oben gepostet hatte.
    Aber Anstelle einer Datei , die ~4GB groß sein solltr , komm nur eine 300MB große heraus , die dementsprechend scheiße aussieht.

    Wo liegt mein Fehler ?

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • Das liegt daran, dass squid bei der Bitratensteuerung einen Hack verwendet hat. Früher wurde die Bitrate bei enc_raw in bps angegeben. Das ist ja aber umständlich .Um Kompatibilität sicherzustellen hat er einen switch eingebaut, der bei großen Zahlen bps verwendet, und bei kleineren kbps.

    Um 10 MBit zu verwenden, müsstest du also deine Bitrate mit 1024 mulitplizieren.

    BTW: "." ist nicht das User Verzeichnis, sondern das Verzeichnis, in dem man sich aktuell befindet.

    Es gibt eine Theorie, die besagt, dass das Universum sofort verschwinden und etwas noch Unerklärlicheres und Bizarres an seine Stelle treten wird, sobald jemand herausfindet, wofür es gut ist und warum es existiert.

    Es gibt eine andere Theorie, die besagt, dass das bereits geschehen ist.

  • Guten Morgen , Kopernikus , danke für die Antwort.

    Ich sollte es also so nochmal versuchen ?

    Code
    start /w xvid_encraw -i K:\Encode.avs -o K:\Encode.m4v -type 2 -pass1 C:\statsfile.stats -max_key_interval 299 -vhqmode 4 -bvhq -max_bframes 3 -imin 1 -pmin 1 -bmin 1 -qpel -gmc -qmatrix "N:\HC017\matrix\Sharktooth's EQM v3HR.cqm" -par 1
    start /w xvid_encraw -i K:\Encode.avs -o K:\Encode.m4v -type 2 -pass2 C:\statsfile.stats -bitrate 11013120 -max_key_interval 299 -vhqmode 4 -bvhq -max_bframes 3 -imin 1 -pmin 1 -bmin 1 -qpel -gmc -qmatrix "N:\HC017\matrix\Sharktooth's EQM v3HR.cqm" -par 1
    pause

    Könntest du einmal schauen , ob die Syntax ansonsten richtig ist ?
    Ich war mir z.B. nicht sicher bei den Leerzeichen in den Parametern.

    Zwischen PAR und dem Wert muss ein Leerzeichen stehen , sonst geht es nicht. Aber zwischen Pass und Wert steht keins ?

    Die Rotation der Erde wurde in den letzten Jahren primär durch sich im Grab umdrehende Musiker angetrieben - Mainstream sei dank.

  • das liegt daran, dass der Parameter "-pass2" heißt, denn es gibt ja sonst nur noch "-pass1". Bei den PARs gibt es aber viel zu viele, um die mit expliziten Parametern abzudecken.

    Sonst sieht es auf den ersten Blick gut aus.

    Es gibt eine Theorie, die besagt, dass das Universum sofort verschwinden und etwas noch Unerklärlicheres und Bizarres an seine Stelle treten wird, sobald jemand herausfindet, wofür es gut ist und warum es existiert.

    Es gibt eine andere Theorie, die besagt, dass das bereits geschehen ist.

  • hab noch ein paar Tests auf meiner P4,2hgz-Gurke gemacht.
    Ergebnissse für second pass, 704*432:

    encraw: 5,94fps
    encraw mit TEE: 5,91fps
    VDM: 5,48fps + ca. 25MB mehr Arbeitsspeicher

    ---> Tee funzt prima und macht nur relativ wenig an speed aus. :)

    btw: sorry wegen dem Vertepper oben, habs auf -par 4 geändert...

    Pioneer PDP-427 XA | Popcorn Hour NMT C-200 | Sony STR-DB 840 QS | Canton Ergo 91 DC

  • Zitat von Eastermeyer

    Guten Morgen , Kopernikus , danke für die Antwort.

    Ich sollte es also so nochmal versuchen ?

    Code
    start /w xvid_encraw -i K:\Encode.avs -o K:\Encode.m4v -type 2 -pass1 C:\statsfile.stats -max_key_interval 299 -vhqmode 4 -bvhq -max_bframes 3 -imin 1 -pmin 1 -bmin 1 -qpel -gmc -qmatrix "N:\HC017\matrix\Sharktooth's EQM v3HR.cqm" -par 1
    start /w xvid_encraw -i K:\Encode.avs -o K:\Encode.m4v -type 2 -pass2 C:\statsfile.stats -bitrate 11013120 -max_key_interval 299 -vhqmode 4 -bvhq -max_bframes 3 -imin 1 -pmin 1 -bmin 1 -qpel -gmc -qmatrix "N:\HC017\matrix\Sharktooth's EQM v3HR.cqm" -par 1
    pause


    Könntest du einmal schauen , ob die Syntax ansonsten richtig ist ?
    Ich war mir z.B. nicht sicher bei den Leerzeichen in den Parametern.

    Zwischen PAR und dem Wert muss ein Leerzeichen stehen , sonst geht es nicht. Aber zwischen Pass und Wert steht keins ?

    Ergänze im ersten pass noch: -turbo -quality 5 und es ist klasse ;)

    cu

    Joe
    __________________
    Freedom ist just another word for nothing left to loose.

  • Hallo Jungs, wenn ich mit xvid_encraw ein Video Encode und dabei nur die Größe des Ziel's angebe, ist das eigentlich völlig Falsch?

    Also so:

    Code
    xvid_encraw -size 180000 -pass1 video.log -nopacked -progress 25 -max_bframes 0 -i video.avs -avi video.avi
    xvid_encraw -size 180000 -pass2 video.log -nopacked -progress 25 -max_bframes 0 -i video.avs -avi video.avi

    Oder muß ich den 1Pass anders machen?

  • -size oder -bitrate wird nur im 2.pass angegeben ... also im 1.pass einfach -size weglassen.

    Begründen kann ich's nicht, weiß nur daß man im vfw Interface ebenfalls nur im 2.pass Angaben über Bitrate/Zielgröße macht :)

    Pioneer PDP-427 XA | Popcorn Hour NMT C-200 | Sony STR-DB 840 QS | Canton Ergo 91 DC

  • Der erste Pass wird mit Quantizer 2 durchgeführt, deshalb ist size oder bitrate überflüssig. Aus den da gesammelten Daten wird dann der zweite Pass optimiert.

    Es gibt eine Theorie, die besagt, dass das Universum sofort verschwinden und etwas noch Unerklärlicheres und Bizarres an seine Stelle treten wird, sobald jemand herausfindet, wofür es gut ist und warum es existiert.

    Es gibt eine andere Theorie, die besagt, dass das bereits geschehen ist.

  • Zitat von kurt

    hm, stimmt eigentlich - der stream ist ja native...

    oben hat's jetzt funktioniert, siehe edit.
    Aber du hast recht, mit -avi output.avi und -nopacked am ende klappt aucb :)

    Edit: alles klar, squid hat bestätigt, daß bei mkv output kein pb verwendet wird. pb ist auch standardmäßig aus und kann mit -packed für avi output eingeschalten werden.


    kleine Richtigstellung:

    packed bitstream ist on by default für avi output. Mit -nopacked kann das geändert werden. Für mkv output ist pb aus.

    Hatte squids post falsch übersetzt :redface: (hier nochmals bestätigt)

    Pioneer PDP-427 XA | Popcorn Hour NMT C-200 | Sony STR-DB 840 QS | Canton Ergo 91 DC

  • Hallöle,

    hat einer von euch eine Ahnung was ich falsch mache?
    Egal welche Bitrate ich angebe, es kommt immer die gleiche Filesize
    für das encodete Video heraus... !? ;(

    Code
    xvid_encraw -i "g:\VIDEO-PAL-720x576.avs" -type 2 -pass1 "g:\stats.stats" -max_key_interval 250 -vhqmode 3 -qtype 0 -max_bframes 2 -bvhq -o NUL: -quality 5 -qpel -turboxvid_encraw -i "g:\VIDEO-PAL-720x576.avs" -type 2 -pass2 "g:\stats.stats" -max_key_interval 250 -vhqmode 3 -qtype 0 -max_bframes 2 -bvhq -avi "g:\VIDEO-PAL-720x576.avi" -nopacked  -bitrate 1886 -quality 5 -qpel

    macht das Ergebnis genauso gross wie...

    Code
    xvid_encraw -i "g:\VIDEO-PAL-720x576.avs" -type 2 -pass1 "g:\stats.stats" -max_key_interval 250 -vhqmode 4 -qtype 0 -max_bframes 2 -bvhq -o NUL: -quality 5 -qpel -turbo
    xvid_encraw -i "g:\VIDEO-PAL-720x576.avs" -type 2 -pass2 "g:\stats.stats" -max_key_interval 250 -vhqmode 4 -qtype 0 -max_bframes 2 -bvhq -avi "g:\VIDEO-PAL-720x576.avi" -nopacked  -bitrate 2200 -quality 6 -qpel

    Bin verwirrt...

    Meine Encraw-Version ist die vom 30. April 2006...

Jetzt mitmachen!

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