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

  • gibt die Optionen:

    Zitat

    --asm <integer> Override CPU detection
    --no-asm Disable all CPU optimizations


    Wobei nur die letztere in Hybrid direkt zur Verfügung steht mittels: x264->Misc->Misc->Restrictions->Disable assembler optimizations.
    Für Dich wäre erstere Option interessant, die Du manuell bei Hybrid unter x264->Misc->Adjustments->Command line addition angeben könntest.
    Hab aber spontan auch keine Ahnung was für Werte da für welche CPU Optionen stehen. :)

    Cu Selur

  • Achso. Habs überlesen. Bitte nicht entfernen! Was genau ist denn kaputt dabei? Kenn die technischen Abläufe gerade nicht, da ich immernoch mit deiner Version via PM arbeite, aber das Durchreichen an einen altbewährten Muxer der mehrere Audiospuren kennt sollte doch gehen, oder?

  • Gibt mehrere Probleme die sich durch die Kandidatenauswahl ergibt:

    Zitat

    das Durchreichen an einen altbewährten Muxer der mehrere Audiospuren kennt sollte doch gehen, oder?


    Wenn Du mir einen nennen kannst.

    1. FFmpeg
    Positiv:
    - kommt mit raw Video-&Audiostreams klar (notwendig für einfaches remuxen)
    - erlaubt tagging von .avi Dateien
    - kann (wenn auch nur positive, was aber reicht) Delays für jeden Stream einzeln festlegen (ist in der Hybrid Version momentan ein Bug, den ich aber fixen könnte)

    Negativ:
    - kann 5.1 ac3 Streams nicht (ordentlich) in ein .avi packen (ARGH!)
    - kann nicht beim Multiplexen splitten (z.B. alle X MB eine neue Datei)

    2. Mencoder
    Positiv:
    - kommt mit raw Video-&Audiostreams klar (wenn man etwas trickst, denke ich weiß was man machen müsste)
    - keine Probleme mit 5.1 ac3

    Negativ:
    - kann nicht beim Multiplexen splitten (z.B. alle X MB eine neue Datei)
    - kann keine Delays von Streams verwenden (ARGH!)
    - kann anscheinend nur eine Audiospur multiplexen (ARGH!)
    - erlaubt kein tagging

    3. Avi-Mux Gui
    Positiv:
    - kann beim Multiplexen splitten
    - kommt auch mit negativen Auddio delays klar

    Negativ:
    - kommt nicht mit raw Videostreams klar (unschön beim Remuxen)
    - erlaubt kein tagging
    - ist nur unter Windows erhältlich (ARGH!)

    => würde ja gerne den Support für .avi hinzufügen, aber ohne Tool was ordentlich mit dem Output klar kommt ohne das ich zick Temporäredatein anlegen muss sieht es duster aus.

    Cu Selur

  • Für den ac3-Bug gibts immerhin einen Workaround.

    https://roundup.ffmpeg.org/issue1498

    -> msg9068

    Wie borniert sind die da eigentlich alle bei Bugreports? Es wird eindeutig ne falsche Codec-ID geschrieben, aber weil WMP das abspielt (was er übrigens nicht tut) ist es dann ok? Übrigens, ffplay spielts auch nicht richtig ab. Video ist ne Diashow und läuft zu schnell ab.

    Audio Language Tagging ist in meinen Augen übrigens total unwichtig, wenn auch nice to have. Mencoder hat aber eine andere große Einschränkung, er kann nur eine Tonspur.

    Ich glaube fast die einzige Möglichkeit homogen für Windows und Linux das gleiche Tools zu benutzen ist eine gefixte Version von FFmpeg.

    Bezüglich der Raw-Streams. Müssten nicht alle verfügbaren Xvid Commandline Encoder auch gleich das Video in einem avi-Container ausgeben können? Glaube die Einschränkung ist etwas sehr hart gesetzt, denn kein normaler Mensch wird etwas anderes in ein avi packen wollen als mpeg-4 part 2.

    Edit: Ich hab grad mal ein ffmpeg mit workaround gebaut... das gemuxte avi ist leider auch unbrauchbar. MPC-HC spielt es zu schnell ab, steigt irgendwo nach 2-3 Sekunden Video ein, Ton aber von Anfang an, VLC spielt zwar Video in der richtigen Geschwindigkeit ab, Audio aber nur fetzenweise. Virtualdubmod zeigt die Tonspur knapp 15% zu lang an.

    Edit2: avidemux wäre auch noch ein Kandidat, aber da bekomme ich übers cli einfach ums verrecken keine 2. Tonspur hin und die darf auch nur cbr sein.

    Einmal editiert, zuletzt von -TiLT- (14. Dezember 2010 um 02:25)

  • Zitat

    Für den ac3-Bug gibts immerhin einen Workaround.
    ...
    Ich hab grad mal ein ffmpeg mit workaround gebaut... das gemuxte avi ist leider auch unbrauchbar. MPC-HC spielt es zu schnell ab, steigt irgendwo nach 2-3 Sekunden Video ein, Ton aber von Anfang an, VLC spielt zwar Video in der richtigen Geschwindigkeit ab, Audio aber nur fetzenweise. Virtualdubmod zeigt die Tonspur knapp 15% zu lang an.
    ...


    Workaround? Sehe nur einen Patch, der es seit einem Jahr nicht in den Source Code geschafft hat, es also vermutlich nie schaffen wird und wie Du festgestellt hast, funktioniert er auch nicht.

    Zitat

    Audio Language Tagging ist in meinen Augen übrigens total unwichtig, wenn auch nice to have.


    Ja, Audio Language Tagging ist mir auch egal, geht eher um Container Tagging. ;)

    Zitat

    Mencoder hat aber eine andere große Einschränkung, er kann nur eine Tonspur.


    Mist, dass hab ich übersehen, werde ich einfügen oben.

    Zitat

    Ich glaube fast die einzige Möglichkeit homogen für Windows und Linux das gleiche Tools zu benutzen ist eine gefixte Version von FFmpeg.


    Ja, eine funktionierende ffmpeg Version wäre am interessantesten.

    Zitat

    avidemux wäre auch noch ein Kandidat, aber da bekomme ich übers cli einfach ums verrecken keine 2. Tonspur hin und die darf auch nur cbr sein.


    womit avidemux dann auch gestorben ist.

    Cu Selur

  • Es gibt eine Kombination aus mencoder (für Video und die erste Tonspur) und avimerge aus dem transcode Paket (für alle weiteren Tonspuren), welche ich früher erfolgreich benutzt habe. Ich werde sie mir mal nochmal im Zusammenhang mit ac3 Tonspuren anschauen und schauen ob man auch ein mingw32 build hinbekommt.

  • mit einer Tonspur und delay geht es mit mencoder:

    Code
    mencoder -mc 0 -noskip -delay 0.08 "d:\Encoding Output\video.avi" -audiofile "d:\Encoding Output\audio DELAY -80ms.ac3" -audio-demuxer 20 -rawaudio format=0x2000:bitrate=448000:channels=6:rate=48000 -ovc copy -oac copy -of avi -o "d:\Encoding Output\test.avi"

    aber eben auch nur mit einer Tonspur,..

  • Async wird es aber nur, wenn man die Audioframes nicht entlang der Videoframes aligned oder zu breit geht. Typische Werte sind da Videoframelength oder Audioframelength bei 25fps z.B. 40ms oder 32ms bei AC3 und MP3. (Virtualdubmod std 40ms, mencoder afar 32ms) Der maximale Versatz den man sich damit einhandelt ist somit relativ gering und ließe sich nur dann vermeiden wenn man an einem perfect alignment schneidet, ergo müssen ende von keyframe-1 und audioframe genau aufeinanderfallen. Kann man sich ja leicht ausrechnen wie oft das vorkommt ->~0 . Andere Splitter verschweigen das Problem nur.

    Avisync kann dann die Delays (positive und negative) verarbeiten.

    Ich verstehe, dass diese Lösung nicht dem Optimalfall entspricht.
    1. avi incl. ton + weitere Tonspuren
    2. avi um weitere Tonspuren erweitern und taggen.
    3. tonspuren mit delay versehen.
    4. Avis cutten.

    Das ist sehr kleinschrittig, aber soweit ich das sehe die einzige Möglichkeit alles unter einen Hut zu bekommen, ohne andere Abstriche machen zu müssen. Außerdem ist noch ungetestet, inwieweit input auch piped sein darf.

Jetzt mitmachen!

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