Xvid Commandline Encoder

  • Hi,

    endlich ist es gelungen, einen Xvid Commandline Encoder zu entwickeln, der sehr gut funktioniert und einen nativen mpeg4 stream als raw stream schreibt und nicht etwas abgewandeltes im avi Kontainer so wie xvid in AutoGK oder sonstwo.

    Natürlich ist so ein Commandline Encoder nichts für One-Klick user, aber er wird sicher in viele Programme eingebaut werden - als erstes wird ihn MeGUI nutzen.

    Ich habe ihn mit folgender Commandline im 2 Pass Verfahren genutzt und nachher den RAW-Stream (Endung *.m4v - ist so wie m2v bei mpeg2) mit Yamb zum mp4 gemuxt

    -------
    Pass 1
    xvid_encraw -i Film.avs -o Film.m4v -type 2 -pass1 xvid.log -max_key_interval 250 -turbo -vhqmode 4 -qpel -qtype 1 -nopacked -noclosed_gop -par 1
    -------

    --------
    Pass 2
    xvid_encraw -i Film.avs -o Film.m4v -type 2 -pass2 xvid.log -bitrate 1400 -max_key_interval 250 -vhqmode 4 -qpel -qtype 1 -nopacked -noclosed_gop -par 1
    -------

    Hier der aktuelle build auf Basis der neuesten stable

    xvid_1.1.0_encraw_20.01.2006

    cu

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

  • Hier mal die unterstützten Switchs:


    Denke da schreib ich kein Wissenswertes extra dafür, da die Features ja den vfw Features entsprechen.

    Cu Selur

  • @ Selur

    Das dürfte wirklich nicht nötig sein. Bin für mein Beispiel spielend leicht mit dem Wissenswerten klargekommen :)

    Ausserdem wird berichtet, dass der Encoder auch problemlos mit der xvidcore.dll für Dual Core umgehen kann.

    cu

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

  • Zitat von JoeB


    Ausserdem wird berichtet, dass der Encoder auch problemlos mit der xvidcore.dll für Dual Core umgehen kann.

    Hmm, da bin ich skeptisch. Ich weiß nicht was Squid am Quellcode geändert hat, aber bisher war encraw statisch mit xvidcore gelinkt. Von dem her würde dir eine
    andere xvidcore.dll nichts nützen. Und da die Aussage nicht von squid kommt, wäre ich da etwas vorsichtig.

    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 Kopernikus

    Hmm, da bin ich skeptisch. Ich weiß nicht was Squid am Quellcode geändert hat, aber bisher war encraw statisch mit xvidcore gelinkt. Von dem her würde dir eine
    andere xvidcore.dll nichts nützen. Und da die Aussage nicht von squid kommt, wäre ich da etwas vorsichtig.


    Zumindest gibt es Erfolgsmeldungen :)

    Obiges package funktioniert auf jeden Fall, somit sollte jeder testen können. :)

    cu

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

  • Hi,

    also ich habe das package mal upgedatet auf Xvid 1.2 wegen des verbesserten Handlings des Trellis.

    Hier der Changelog (ist wirklich nicht der Rede wert)

    Changelog zu "xvidencraw_1.2_27.01.2006"
    - xvidcore 1.2 beta single thread version
    - verbessertes Trellis
    - Änderung der bitstream version von 41 (Xvid 1.1) auf 42
    - Ergänzung von "Usage.txt"

    Release xvidencraw_1.1_20.01.2006
    - xvid_encraw vom 20.01.2006
    - xvidcore.dll 1.1 final single threat version


    xvidencraw_1.2_27.01.2006

    cu

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

  • Hi,

    ein neues update mit Zonen und mkv output statt avi oder m4v. Jetzt hoffe ich auf direkten mp4 output.

    Changelog zu xvidencraw_1.2_09.02.2006
    - zones parameter: Beispiel: -zq 58000 10
    - mkv output

    Beispiel für eine Zone (z.Bsp. Abspann):
    -zq 5000 8 => startet ab frame 58.000 eine Zone mit dem konstanten Quantisierer 8

    Download

    cu

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

  • Wie lautet die Line für max Quali? Ich habe einige (anamorphe) Tests gemacht mit denselben Einstellungen wie bei VirtualDub. Bei xvidencraw war die Quali übelst schlecht, hab prakatisch nur noch Verpixelungen gesehen. Die Quali von VDub war wie immer herrvorragend.

    Das war die Line:

    xvid_encraw -i ana2.avs -avi ana.avi -type 2 -pass1 xvid.log -max_key_interval 250 -turbo -quality 0 -frames 20000 -par 4 -nochromame -notrellis -qmatrix matrix.txt
    xvid_encraw -i ana2.avs -avi ana.avi -type 2 -pass2 xvid.log -bitrate 2176 -max_key_interval 250 -vhqmode 4 -quality 6 -bvhq -nopacked -noclosed_gop -notrellis -frames 20000 -par 4 -qmatrix matrix.txt

    (Die eigene Matrix benutz ich immer, an der liegts nicht)

  • Zitat von skyjaker

    Wie lautet die Line für max Quali? Ich habe einige (anamorphe) Tests gemacht mit denselben Einstellungen wie bei VirtualDub. Bei xvidencraw war die Quali übelst schlecht, hab prakatisch nur noch Verpixelungen gesehen. Die Quali von VDub war wie immer herrvorragend.

    Das war die Line:

    xvid_encraw -i ana2.avs -avi ana.avi -type 2 -pass1 xvid.log -max_key_interval 250 -turbo -quality 0 -frames 20000 -par 4 -nochromame -notrellis -qmatrix matrix.txt
    xvid_encraw -i ana2.avs -avi ana.avi -type 2 -pass2 xvid.log -bitrate 2176 -max_key_interval 250 -vhqmode 4 -quality 6 -bvhq -nopacked -noclosed_gop -notrellis -frames 20000 -par 4 -qmatrix matrix.txt

    (Die eigene Matrix benutz ich immer, an der liegts nicht)

    Wieso -quality 0 im ersten pass? Du hast doch -turbo gewählt, da werden schon von alleine alle unwichtigen Sachen abgeschaltet. Du solltest grundsätzlich in beiden passes die gleichen Optionen wählen und nur in pass 1 -turbo dazuschalten :) -> dann wird das auch mit der Qualität was. Ich habe jetzt mittlerweile so 6-8 Filme damit gemacht und bin sehr zufrieden ;)

    cu

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

  • Zones werden doch anders gemacht:

    Beispiel:
    -zones 58000,q,8 : ab frame 58000 wird mit q=8 quantisiert
    -zones 58001,w,0.2 : ab frame 58000 wird mit 20% der Qualität des Hauptfilmes encodet

    oder viele zones hinternander:
    -zones 58000,q,8/58001,w,0.2

    cu

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

  • Ich meine keine Zonen sondern die

    "Quantization type"

    -H.263
    -MPEG
    -MPEG-Custom

    Funktion.

    Die findet man im "Profile @ Level" unter "more" in der XviD-Config unter VDub. Ich benutze immer MPEG-Custom und wollte wissen, ob man bei xvid_encraw zusätzlich noch -qtype angeben muss oder ob die Option -qmatrix reicht.

  • neues Build von squid_80:


    ftp://squid80.no-ip.com/xvid_encraw.zip

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

  • Zitat von katjarella


    ach wie geht des mit dem Carton Modus? Oder wo gibts alle Parameter zu sehn?

    DANKE schon mal.


    xvid_encraw -h :)

    Bei diesem download ist ein kleines howto dabei :)

    cu

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

  • neues Build von squid_80 - sollte nun von MeGUI unterstützt werden:

    Zitat

    I think the only problem with using my build is that I unwittingly changed the -bitrate parameter to kbps instead of bps. I recently made a patch that should fix this problem (unless you use a bitrate < 10kbps or > 10mbps). Try replacing your xvid_encraw.exe with this version: http://okejl.dk/dunstan/xvid_encraw_megui_test.zip

    But be warned it's my current development build, contains some pretty dodgy stuff. In particular make sure the input is YV12 because unlike the original encraw it won't complain, it'll probably just crash. MeGUI should probably take care of that anyway.

    Let me know of any problems and I'll see what I can do.


    und

    Zitat

    I *think* I fixed that bug by reordering the size->bitrate equation to prevent overflow. I might be mistaken since I can't remember what it used to look like. Try it and see.
    This build may contain unfinished code too, since it's my work-in-progress build. In particular, make sure the input is raw YV12 (you might get away with a compressed avi that decompresses to YV12 by default) because it won't throw an error if it's not - you'll just end up with a) garbage b) a cropped picture or c) a crash
    For the adventurous, you can try making a packed .avi output file using -timecode <file> where file is a matroska v2 timecode file (like the one dedup spits out, for example). The .avi file should have dropped frames inserted to make up the time differences between frames.


    Doom9-Thread

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

Jetzt mitmachen!

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