Hybrid: Input -> x264/x265/Xvid/VP8/VP9/AV1

  • Hmm, ich dachte eigentlich das dieses ATI Stream der Gegenentwurf zu Cuda ist, aber bei ATI wird es wohl wieder an der stiefmütterlichen Einstellung zu OpenSource Software liegen.

    Grüße

  • Zitat

    ATI Stream der Gegenentwurf zu Cuda ist


    Ja, nur stellt NVIDIA direkt eine Encoderbibliothek bereit für die man nur noch ein Frontend schreiben muss, was ATI nicht tut.

    Zitat

    wird es wohl wieder an der stiefmütterlichen Einstellung zu OpenSource Software liegen


    vermutlich

  • Hybrid ver.100915

    *added*
    - a CUDA based H.264 encoder to Hybrid <- special thanks for netcasthd (from the engl. doom9 forum for this)
    *updated*
    - windows 32bit package (includes a 64bit folder which includes 64bit avsInfo, cuda and FrameCounter versions)

    -> updated links in 1st post


    Changelog auf Deutsch:

    *hinzugefügt*
    - einen CUDA basierten H.264 encoder <- besonderer Dank geht hier an netcasthd aus dem englischen Doom9 forum

    *aktualisiert*
    - windows 32bit Paket (beinhaltet einen 64bit-Ordner der 64bit Versionen von avsInfo, cuda und FrameCounter enthält)

    -> Links im ersten Beitrag sind aktualisiert

  • Hallo Selur,

    auf http://bluesky23.hp.infoseek.co.jp/en/index.html#AsVideoConv findet man zumindest ein Frontend für den AMD AVIVO Converter.
    Zu einem gewissen Teil scheint dieser auch Befehle über Kommandozeile zu verstehen und läßt vielleicht über dein Programm einbauen. Leider ist die Hilfe nur auf japanisch. Über google translator geht's dann
    Auf der gleichen Seite gibt's dann auch noch den DXVA Checker, der einem sagt welche Formate hardwareunterstützt laufen.;D

    gruß
    even

    Hoffentlich wird es nicht so schlimm wie es schon ist

  • Hybrid ver.101011

    *cosmectics*
    - output container dropdown now showing all possibilities without scrolling
    - bug when switching between encoding and filtering in the audio encoding section

    *fixed*
    - with video passthrough + raw output video files ended up in the temp not the output folder
    - prevent the use of internal decoder in x264 when cropTop/Bottom is not a multiple of 4 or cropLeft/Right is not a multiple of 2
    - problem with preview directly closing
    - accidental closing of Hybrid after minimizing
    - ' - ' in output name caused problem with .stats file generation
    - using wrong aid on some sources

    *changed*
    - Windows: calling SetPriority with 'SetPriority -p64 PID' instead of 'SetPriority PID'
    - added '--no-interlaced' to x264 calls, wenn internal decoder is used and input is detected as progressive

    *added*
    - option to 'warn on close'

    *updated*
    - windows 32bit package (includes a 64bit folder which includes 64bit avsInfo, cuda, FrameCounter,MP4Box, x264 versions)

    -> updated links in 1st post


    Changelog auf Deutsch:

    *kosmetik*
    - output container dropdown zeigt nun alle Möglichkeiten ohne das man scrollen muss
    - Fehler beim Wechseln zwischen Encoding und Filtering im Audio Reencodingbereich

    *Behoben*
    - bei aktiviertem Video passthrough + raw output endete der Videostream im Temp und nicht im Output Ordner
    - verhindere nun die Nutzung des internen x264 Decoders wenn cropTop/Bottom kein vielfaches von 4 und cropLeft/Right kein vielfaches von 2 ist
    - unbeabsichtigtes schließen der Vorschau
    - unbeabsichtigtes Schließen von Hybrid, nach dem es minimiert war
    - ' - ' im Ausgabenamen sorgte für Prbleme bei der .stats Dateigeneration
    - falsche aid bei manchen Quellen

    *geändert*
    - Windows: SetPriority wird nun per 'SetPriority -p64 PID' anstatt per 'SetPriority PID' aufgerufen
    - '--no-interlaced' wird automatisch zum x264 Aufruf hinzugefügt, wenn der interne Decoder verwendet wird und der Input als progressiv erkannt ist

    *hinzugefügt*
    - Option die beim Schließen warnt

    *aktualisiert*
    - windows 32bit Paket (beinhaltet einen 64bit Ordner mit 64bit Versionen von avsInfo, cuda, FrameCounter,MP4Box, x264)

    -> Links im ersten Beitrag sind aktualisiert

  • Hallo Selur,

    auf meinem debian-testing scheint Hybrid zwar erfolgreich eine mkv-Datei zu erstellen (Es meldet Erfolg), allerdings ist diese nicht auffindbar.
    Meiner (kurzen) Analyse nach liegen hier 2 Probleme vor:
    1.Meine Version (debian amd64 2.7.0-1) von mkvmerge verwendet statt
    --no-audio --no-video --no-subtitles
    --noaudio --novideo --nosubs
    2.Der Status mit dem mkvmerge terminiert wird nicht überprüft.

    Bis auf dieses (wohl hauptsächlich kosmetische) Problem ist Hybrid genau wonach ich seit einer Weile auf der Suche bin :) Vielen Dank hierfür (auch wenn GPL natürlich noch besser wäre ;)).


    Der verwendete mkvmerge Befehl sieht so aus:

    Code
    "/usr/bin/mkvmerge" --ui-language en_US -o "/media/Daten_WD1/Videos/Sintel.2010.2K.x264-VODO/Sintel_1080p.mkv" --global-tags "/tmp/Sintel_1080p_21_51_50_471_04.tag.xml.tag.xml" --attachment-mime-type image/jpeg --attachment-name Cover --attach-file "/media/Daten_WD1/Videos/Sintel.2010.2K.x264-VODO/sintel_poster.jpg" -d 0 --default-track 0:yes --track-name 0:"Sintel" --language 0:en --default-duration 0:24fps --aspect-ratio-factor 0:1/1 --fourcc 0:MP4V --no-chapters --forced-track 0:no --no-audio --no-subtitles "/tmp/Sintel_1080p_21_51_50_471_02.264" --language 0:en --default-track 0:yes --forced-track 0:no -a 0 --no-video --no-subtitles --no-chapters "/tmp/Sintel_1080p_eng_aid_0__21_51_50_471_01.aac" --forced-track 0:no --default-track 0:no --no-video --no-audio --no-chapters --track-name 0:"Sintel" --language 0:de --sub-charset 0:UTF-8 "/home/tobias/sintel_de.srt" --forced-track 0:no --default-track 0:yes --no-video --no-audio --no-chapters --track-name 0:"Sintel" --language 0:en --sub-charset 0:UTF-8 "/home/tobias/sintel_en.srt" --forced-track 0:no --default-track 0:no --no-video --no-audio --no-chapters --track-name 0:"Sintel" --language 0:es --sub-charset 0:UTF-8 "/home/tobias/sintel_es.srt" --forced-track 0:no --default-track 0:no --no-video --no-audio --no-chapters --track-name 0:"Sintel" --language 0:fr --sub-charset 0:UTF-8 "/home/tobias/sintel_fr.srt" --forced-track 0:no --default-track 0:no --no-video --no-audio --no-chapters --track-name 0:"Sintel" --language 0:it --sub-charset 0:UTF-8 "/home/tobias/sintel_it.srt" --forced-track 0:no --default-track 0:no --no-video --no-audio --no-chapters --track-name 0:"Sintel" --language 0:nl --sub-charset 0:UTF-8 "/home/tobias/sintel_nl.srt" --forced-track 0:no --default-track 0:no --no-video --no-audio --no-chapters --track-name 0:"Sintel" --language 0:pl --sub-charset 0:UTF-8 "/home/tobias/sintel_pl.srt" --forced-track 0:no --default-track 0:no --no-video --no-audio --no-chapters --track-name 0:"Sintel" --language 0:pt --sub-charset 0:UTF-8 "/home/tobias/sintel_pt.srt" --forced-track 0:no --default-track 0:no --no-video --no-audio --no-chapters --track-name 0:"Sintel" --language 0:ru --sub-charset 0:UTF-8 "/home/tobias/sintel_ru.srt"
  • Danke für die prompte Antwort.

    Mit mkvtoolnix 4.3.0 funktioniert es in der Tat, es lag also an der Version.
    Hier wäre IMHO eine Fehlermeldung gut, denn 2.7.0 ist die neuste Version die in Debian testing standardmäßig enthalten ist und führt dazu das erst einmal alles ok aussieht, der Output aber schließlich fehlt (Und die tmp-Dateien gelöscht sind...).

  • Sollte eigentlich automatisch passieren,.. (tut es bei mir auch)
    Dafür ist SetPriority da, leider gibt es ein paar User bei denen dies nicht immer klappt, hab nur leider k.A. warum.
    (als workaround kann man per Hand die Priorität von Hybrid selber heruntersetzen, was unter Windows wohl den Effekt hat, dass dann alle abzweigenden Prozesse auch mit der Priorität gestartet werden)

    Problem ist: Da SetPriority bei mir funktioniert kann ich das Problem nicht nachvollziehen. :/

    Mir ist gerade aber noch ne Idee gekommen, schicke Dir gleich mal ne Testversion. :)

    Cu Selur

  • HI, nochmal 'ne allgemeine Frage:Wie in diesem Thread beschrieben, habe ich bei manchen Filmen ja so aussetzer. Jetzt habe ich mal unter Windows DGIndex drauf losgelassen und das spuckte dann aus, das die Field Order korrigiert wurde.

    Ist es möglich, so eine Erkennung auch in Hybrid einzubauen? Es gibt ja einige Quellen die falsch geflaged sind und da dann Yadif drüber laufen zu lassen, gibt doch eigentlich wieder Verlust. Zumal, wenn ich den Hacken "Auto-deinterlace" weg mache, habe ich die Querstreifen, obwohl das Material eigentlich Progressiv ist.

    Der Weg zur Dunklen Seite... Schneller er ist, verführerischer, leichter.

  • Zitat

    Zumal, wenn ich den Hacken "Auto-deinterlace" weg mache, habe ich die Querstreifen, obwohl das Material eigentlich Progressiv ist.


    Das passt nicht zusammen. Wenn das Material wirklich progressiv ist sind da keine Querstreifen. (außer vielleicht man würde Telecine in Hybrid aktivieren)

    Wenn 'Auto deinterlacing' deaktiviert ist wird von Hybrid nur deinterlaced wenn 'Enable deinterlacing' aktiviert ist, d.h. wenn Du dann Streifen in der Vorschau siehst ist das Material entweder Interlaced oder aber Du hast Material vor Dir bei dem früher mal Interlactes Material progressiv encoded wurde.
    -> davon ausgegangen Du hast keinen verhunzten Input (interlactes Material was progressiv encoded wurde), der Deinterlacer in Hybrid ist deaktiviert (und keine Interlacer aktiviert) und die Vorschau zeigt Interlacedstreifen, dann ist das Material interlaced (bzw. telecine)

    Zitat

    HI, nochmal 'ne allgemeine Frage:Wie in diesem Thread beschrieben, habe ich bei manchen Filmen ja so aussetzer. Jetzt habe ich mal unter Windows DGIndex drauf losgelassen und das spuckte dann aus, das die Field Order korrigiert wurde.


    Nein, eine Analyse wie DGIndex sie macht wird es nicht geben und auch die Analyse die DGIndex macht ist nicht 100%ig verlässlich. Ob Material interlaced ist oder nicht kann man meiner Erfahrung nach immer nur mit den eigenen Augen feststellen.
    Zu eventuellen Aussetzern oder sonstigen Problemen kann ich nichts sagen ohne hinreichende Informationen. (siehe erster Beitrag in diesem Thread)

    Cu Selur

  • Ich stelle meine Frage hier, weil sie ansonsten ein Feature Request darstellt:

    Lässt sich x264 auf eine bestimmte Anzahl Cores einschränken (z.B. Core 0-3 von 0-7)?

    Ich encode nämlich gerade was auf einer Fair Use Machine, und alle 8 Cores zu belegen sorgt für schlechte Performance auch wenn die Priority auf lowest steht.

  • Jein. Es gibt auf Windows-Server-Systemen neben der Priority auch noch das CPU-Assignment, bei dem man einen Prozess auf bestimmte Cores festlegen kann.
    Dem Fair-Use Prinzip nach sollte man mindestens 50% der Ressourcen für eine weitere Person reservieren, die gerade ebenfalls die Maschine benutzen will.
    Bei einem einzigen Encodingvorgang ist das nicht weiter schwer, eben im Taskmanager 4 von 8 Cores abzuhaken, Windows kümmert sich dann selbst darum, die verbliebenen unausgelasteten Cores für weitere Prozesse intensiver zu nutzen.
    Aber bei einer vollen Batch für mehrere Tage wird es da schon komplexer.

    Ich schaue gerade, ob man den taskmanager auch verscripten kann, und einfach einen Hintergrundprozess laufen lässt, der nach der x264 executable sucht und ihr falls nicht passiert ein paar Cores klaut.

Jetzt mitmachen!

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