Multithreading mit Staxrip

  • Hi
    im leerlauf sprich nur source field crop encodet staxrip mit all meinen kernen aber sobald ich filter dazu packe sei es tweak deen oder ein derainbow encodet plötzlich nur noch ein kern was dann sehr lange dauert.
    ich encode jetzt 4 dateien gleichzeitig um das zu kompensieren, aber mal so ebend ne datei zu encoden is nicht mehr drin.

    hab mir früher immer ganz oben im script ein SetMTmode(2) reingeschrieben welches dafür sorgt das MT funktioniert. siehe: MT 0.7

    mir is schon klar dass das encode auf die art ein paar nachteile bringt und das das aufteile nicht so gern von den progs gesehen wird.
    Sobald ich SetMTmode(2) setzte stürzt der encode ab sobald es zum encoden vom video kommt. gibts ne andere methode die ich verwenden kann? oder etwas was ich gegen das abstürzen tun kan?

    meine daten:
    Staxrip 1.1.6.0
    Intel Core i7 920
    6GB Ram
    x64 system

  • Mit AviSynth MT basteln ist schon die richtige Methode, weil AviSynth eben eigentlich nicht multithreaded ist. Deswegen kann v.a. MTMode() auch gerne mal abstürzen. Du kannst dann noch gezielter mit MT() rumspielen und immer hoffen, dass sich nichts verheddert und abstürzt. Zuverlässiger geht AviSynth mit mehreren Kernen leider nicht.

    Oft hilft es auch schon, mit MTMode(2,<Anzahl threads>) die Threadanzahl zu senken. Die steht iirc standardmäßig auf Anzahl der CPU-Kerne. Ist oft gar nicht nötig für volle Auslastung, aber je mehr Threads desto wahrscheinlicher Probleme.

    Brother John
    ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
    DVD nach MPEG-4 klappt nicht? Verzweifelt? Auf zum Encodingwissen!

  • Ganz oben sollte im Zweifelsfall immer SetMTmode(5,[ThreadAnzahl]) stehen. Weil, der erste "Befehl" in einem Script ist ja normalerweise ein XXXSource()-Befehl. Und viele Quellfilter mögen es gar nicht, wenn sie multi-threaded aufgerufen werden.

    Der typische Aufbau ist so in etwa

  • ah ok werd ich mal testen. habe bisher immer ganz oben SetMTmode(2) stehen gehabt.
    gibt es spezielle filter/scripte die das nicht gern sehen oder verhält sich das wie avisynth(mal gehts mal nicht)

    nutze oft fastlinearken aaf
    und so allrounder wie deen msharp tweak.

  • Wollte das mal ausprobieren, aber Staxrip mag es nicht, wenn irgendetwas vor dem Source-Filter steht.
    Muss man sich als im Moment manuell reinbasteln.

  • ich löse das problem anders. anstatt ein filter davor zu setzen schreibe ich in den profil editor einfach den befehl vor den source filter

    so: MPEG2Source = SetMTMode(2) MPEG2Source("%source_file%")

    hab noch nie probs gehabt auf diese weise.

    EDIT: mal ne dumme frage wenn ich die threads angeben soll...soll ich wirklich die threads angeben oder ehr die kerne?

  • die SetMTmode(5,4) methode geht zu 60%^^

    also die cpu last steigt von 17% auf 50-60%,. ist zwar noch keine 100% aber viel besser als vorher....wird wohl auch an der source etwas liegen, den vobs gehen ohne probleme mit SetMTmode(2)

    Edit:
    hab ebend mal was versucht...und zwar unterstützen ja die standard aktion wie crop, resize usw ja MT...also hab ich den MT befehl erst da angefangen wo ich die externen filter nutze. siehe test script hier:

    LoadPlugin("C:\StaxRip 1.1.6.7\Applications\AviSynth plugins\Decomb\Decomb.dll")
    LoadPlugin("C:\StaxRip 1.1.6.7\Applications\AviSynth plugins\Deen.dll")
    LoadPlugin("C:\StaxRip 1.1.6.7\Applications\AviSynth plugins\DGDecode.dll")
    LoadPlugin("C:\StaxRip 1.1.6.7\Applications\AviSynth plugins\UnDot.dll")
    LoadPlugin("C:\StaxRip 1.1.6.7\Applications\AviSynth plugins\VSFilter.dll")
    SetMTMode(5) MPEG2Source("X:\XXX\VTS_01_1 temp files\VTS_01_1.d2v")
    tfm(order=1).tdecimate(hybrid=1)
    Crop(6,0,-8,-0)
    BilinearResize(704,480)
    SetMTMode(2) Undot()
    deen("a2d",4,5,7)
    import("C:\StaxRip 1.1.6.7\Applications\AviSynth Plugins\FLD.avs") FastLineDarken(strength=60, thinning=0, luma_cap=200) import("C:\StaxRip 1.1.6.7\Applications\AviSynth Plugins\aaf.avs") aaf("repair",aas=-0.7)
    Tweak(sat=1.1)
    import("C:\StaxRip 1.1.6.7\Applications\AviSynth Plugins\aaf.avs") aaf("repair",aas=-0.7)
    TextSub("X:\XXX\XX.ass")

    und siehe da kein absturz keine probleme mehr...und das beste 100 system auslastung aller meiner 8 threads. echt klasse.

    Einmal editiert, zuletzt von thegerd (16. August 2010 um 21:36)

Jetzt mitmachen!

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