StaxRip Encoding-Frontend (Diskussion)

  • Das threads=1 ist dafür da, das es bei 64-Bit Systemen zu keinem Decoder-Thread Überlauf kommen kann, der wohl Fehler produziert.

    Nun ja, "Überlauf" ist eigentlich ein Begriff, der in einem ganz anderen Zusammenhang gebraucht wird. Betrachten wir hier mal konkret den Zweck, dass libavcodec nur einen Decoder-Thread verwenden soll, weil bei manchen Kombinationen aus Container und Inhaltsvariante mehrere Threads nicht ganz zuverlässig arbeiten könnten, wenn das den Demultiplexer durcheinander bringt. Passiert selten, aber PAFF-interlaced AVC in TS war so eine Sache, besonders bei FFMS2.

    Siehe auch mein neustes Screencast Video dazu:
    [NOPARSE]

    Externer Inhalt vimeo.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [/NOPARSE]

    :eek: Gut zu wissen... e-m-b-e-d ist ja zensiert.

  • Betrachten wir hier mal konkret den Zweck, dass libavcodec nur einen Decoder-Thread verwenden soll....

    Also bei diese beiden "xSource" Quellen, kann man dann sagen, dass der libavcodec nur einen Decoder-Thread verwenden soll :)

    FFVideoSource("inputVideo",threads=1)
    oder
    LWLibavVideoSource("inputVideo",threads=1)

    ...weil bei manchen Kombinationen aus Container und Inhaltsvariante mehrere Threads nicht ganz zuverlässig arbeiten könnten.

    Gut das es eine Absicherung dagegen gibt ;)
    Wenn man ,threads=1 weglässt, kann was passieren, muss aber nicht.


    :eek: Gut zu wissen... e-m-b-e-d ist ja zensiert.

    Was heißt das mit "e-m-b-e-d ist ja zensiert" genau?
    Verstehe ich gerade nicht ;)

    Code
    Hier noch ein kleines Text Tutorial zum Screencast Video,
    wie man die Script Änderung per Hand vor dem Encoding Prozess in StaxRip vornehmen kann:

    https://vimeo.com/164821196

    1.) Quell Video in StaxRip per AviSynth + FFVideoSource laden:

    StaxRip 1742 - Bild Anhang Nr.1.png


    2.) Im Temp Ordner, den StaxRip zu jedem Video erstellt, kann man sich die Scripte vorher anschauen (Nicht dort editieren)

    StaxRip 1742 - Bild Anhang Nr.2.png


    3.) Wenn in der StaxRip Preview, das Video der Zeit noch nicht korrekt dargestellt wird... dann bei Schritt 4 weiter machen

    StaxRip 1742 - Bild Anhang Nr.3.png


    4.) Jetzt kommt die Manuelle Script Änderung in StaxRip per Hand zum Einsatz:

    StaxRip 1742 - Bild Anhang Nr.4.png


    5.) Zum Abgleich noch mal einen kurzen Blick in den Temp Ordner werfen um sich die Scripte anzuschauen,
    wie sie von der "Internen Script Edit Zentrale" in StaxRip verändert worden sind...
    (Hier nichts verändern! Nur zum Abgleich anschauen)

    StaxRip 1742 - Bild Anhang Nr.5.png


    6.) Nun sollte das Video korrekt dargestellt werden :)

    Vorsicht großes Bild
    http://img.xrmb2.net/images/638138.png

    Einmal editiert, zuletzt von H264x (1. Mai 2016 um 16:27)

  • Manchmal frage ich mich, seit wann du dieses Forum liest ... anscheinend nur sehr selektiv :ani_lol: wenn dir in den vergangenen Jahren nie aufgefallen ist, dass man z.B. YouTube-Videos nicht einfach so einbetten konnte, weil jedes Auftauchen der Zeichenkette "еmbеd" (= "einbetten") zur Sicherheit gegen Schadsoftware durch "*****" zensiert wird (hier hab ich mal das kyrillische е benutzt). Offenbar unterstützt unsere Forensoftware nun doch einen "video"-Tag, wir hatten ihn bisher nur noch nicht entdeckt.

  • Offenbar unterstützt unsere Forensoftware nun doch einen "video"-Tag, wir hatten ihn bisher nur noch nicht entdeckt.

    Deshalb habe ich mich ja gewundert, das das Video einfügen problemlos geklappt hat ;)

    Einmal editiert, zuletzt von H264x (1. Mai 2016 um 16:26)

  • Kann mir einer sagen wie ich von einer TruHD oder DTS Master nur den Core nehmen kann? Wie muss ich da vorgehen bei den Einstellungen? Hatte das irgendwann mal aber seit der neusten Version find ichs irgendwie nicht auf Anhieb. Vielleicht kann mir das ja jemand noch kurz sagen.

  • Moin,
    ich habe hier mehrere Videoschnipsel, die ich gern in Stax mit der "Merge"-Funktion neu in einen Stream coden möchte. Leider funktioniert das nicht wie gewünscht. Jeder Schnipsel einzeln kann ohne Probleme codiert werden, aber zusammen wird das nichts.
    Nach einer Weile hab ich vermutlich das Problem gefunden ...
    DGIndexNV sagt: Drei der fünf Videos sind TFF codiert und die restlichen Zwei sind MBAFF

    Und ich denke mal, hier kommst Stax bzw AviSynth nicht klar, wenn man das nicht spezifiziert. Oder?
    Oder liegt es an DGIndexNV? Das führt ja bei der Erstellung des DGI-Files alle fünf Videos zusammen.

  • Wenn man die Videostreams einzeln decodieren würde, könnte man sie wohl als AviSynth-Clips aneinanderketten. Aber das Verbinden in DGDec* ist wohl nur für Teile gedacht, die ohnehin vorher mal zumindest logisch zusammenhingen (wie VOB-Segmente oder Blu-ray-MTS)...

    MBAFF und PAFF unterscheiden sich technisch deutlich, deshalb will DGDec* sie dann vermutlich nicht als gemeinsame Quelle verarbeiten.

  • Ok, mein manuelles Avisynth-Skripting ist ein wenig eingerostet :(
    Normal generiert ja Stax nach dem Schema:

    Code
    LoadPlugin("...\DGDecodeNV.dll")DGSource("...\*.dgi",deinterlace=0,resize_w=0,resize_h=0)Crop(...);ConvertToYV12()Yadif()LanczosResize(...,...)

    Das zu codierende Video müsste ich ja dann fünf mal einfügen, um dann am Ende alle Teile zusammenzufügen.


    Und das ganze dann an x264 per Kommandozeile weiterreichen ...

  • Fast; aber das Funktionsergebnis von ConvertToYUV12(video) ist nicht wieder video, sondern last, also ab da wieder weiter ohne Clipnamen.

    Code
    #...video = a+b+c+d+eConvertToYUV12(video)Yadif()LanczosResize(1280,720)

    Oder gleich ohne:

    Code
    #...
    UnalignedSplice(a, b, c, d, e)
    ConvertToYUV12()
    Yadif()
    LanczosResize(1280,720)

    Und über Einzelheiten können wir dann weiter streiten (z.B. was das für ein Original ist, ob du eher auf doppelte Framerate bobben statt deinterlacen solltest)... ;)

  • Besten Dank.

    Ist eine Aufnahme von Pro7 HD. Normalerweise bleibe ich "reinrassig" bei Sat-Aufnahmen beim zusammenfügen (Werbung rausschneiden usw). Aber die Wiederholung über Sat hats leider zerschossen. Deswegen musste ich noch auf eine "Sicherheitsaufnahme" aus dem Kabelnetz zurückgreifen, die ich immer noch in der Firmenwohnung mache ... Und im Kabel gibt es da anscheinend dieses MBAFF ...

    Nachtrag:
    Ich brauch das AVS gar nicht so gründlich zusammenstellen. Es reicht der Import des Plugins, die 5 Videos definieren und das Zusammenführen UnalignedSplice(a, b, c, d, e).
    Das Skript dann als Input in Stax und der Rest (CobvertToYUV12,Yadif, Resize) kommt aus Stax. Funktioniert, hab grad ein kurzes Xvid-Video ausprobiert :) Jetzt kann ich das komplett coden.
    Vielen Dank!

    Einmal editiert, zuletzt von MacLeod (13. August 2016 um 13:35)

  • Es interessiert eigentlich weniger, von welchem Sender die Aufnahmen stammen, sondern welche technischen Eigenschaften sie haben (Auflösung, Framerate, ...), also evtl. ein kleines Päckchen MediaInfo-Analyselogs. Aber gut, wenn StaxRip damit weiterbastelt (z.B. ein Basis-Skript importiert und zusätzliche Filter selber anfügt), geht's ja einfach.

  • Reicht das so als Info? Das sind die Mediainfo-Ausgaben zu den Videospuren.

    Code
    VideoID                                       : 511 (0x1FF)Menü-ID                                  : 1000 (0x3E8)Format                                   : AVCFormat/Info                              : Advanced Video CodecFormat-Profil                            : High@L4.0Format-Einstellungen für CABAC           : JaFormat-Einstellungen für ReFrames        : 3 framesFormat_Settings_GOP                      : M=4, N=28Codec-ID                                 : 27Dauer                                    : 6min 13sBitrate                                  : 4 259 KbpsBreite                                   : 1 920 PixelHöhe                                     : 1 080 PixelBildseitenverhältnis                     : 16:9Bildwiederholungsrate                    : 25,000 FPSStandard                                 : ComponentColorSpace                               : YUVChromaSubsampling                        : 4:2:0BitDepth/String                          : 8 bitsScantyp                                  : InterlacedScanreihenfolge                          : oberes Feld zuerstBits/(Pixel*Frame)                       : 0.082Stream-Größe                             : 190 MiB (87%)colour_primaries                         : BT.709transfer_characteristics                 : BT.709matrix_coefficients                      : BT.709
  • Ja. Du hast also 1080i als Basis. Und du willst zu 720p. Da wäre eigentlich die doppelte Framerate das Ziel, um die flüssige Bewegung zu erhalten (wenn es denn wirklich vom Videoinhalt interlaced ist, und nicht nur vom Codierverfahren).

    Ändere also mal testweise das Sktipt so, dass du Yadif(mode=1) verwendest, und bevor du dann loslegst, schau dir stichprobenweise verschiedene Abschnitte an, Halbbild für Halbbild vorwärts in VirtualDub{FilterMod} oder AvsPmod oder in der StaxRip-Vorschau (ich hoffe, StaxRip hat sowas mit leichter Bedienung, noch nie so genau verwendet...), wo es ordentlich Seitwärtsbewegung gibt. Siehst du meist paarweise zwei fast identische Inhalte, dann musste das Material nur zwangsweise interlaced codiert werden, um kompatibel zu albernen Standards zu sein, dann passt das Skript sogar ohne die ganze Yadif()-Zeile (nichts zu deinterlacen da). Hast du dagegen Schritt für Schritt gleichmäßigen Fortschritt in den Bewegungen, ist es echt interlaced, dann lohnt sich möglicherweise Yadif(mode=1) zum Erhalten der Flüssigkeit der Bewegung; kostet allerdings mehr Bitrate.

    Im Zweifel vielleicht mal ein paar Sekunden aus dem Original-Material ausschneiden und zeigen...

  • Bei mir lief Staxrip immer ohne Probleme. Leider ist mein System vor ein paar Tagen abgesürzt.
    Nun kommt nach einer Neuinstallation von Windows immer diese Meldung wenn ich eine Source öffnen möchte:

    Exception

    AVIFileOpen failed to execute

    Failed to open AviSynth script:

    P:\Dateiname_temp\Dateiname_Source.avs

    You can try to open the script with VirtualDub x64, if it don't open it could be a problem with the script or the AviSynth+ x64 setup, if StaxRip don't report a script error and the script looks valid then reinstalling AviSynth+ x64 might fix the problem, the setup is located at:

    C:\Users\me\Downloads\Staxe\Apps\AviSynth+r1858.exe

    System.Exception: AVIFileOpen failed to execute

    Failed to open AviSynth script:

    P:\Dateiname_temp\Dateiname.avs

    You can try to open the script with VirtualDub x64, if it don't open it could be a problem with the script or the AviSynth+ x64 setup, if StaxRip don't report a script error and the script looks valid then reinstalling AviSynth+ x64 might fix the problem, the setup is located at:

    C:\Users\me\Downloads\Staxe\Apps\AviSynth+r1858.exe
    bei StaxRip.AVIFile..ctor(String path) in D:\Projekte\VS\VB\StaxRip\General\AVIFile.vb:Zeile 53.
    bei StaxRip.VideoScript.Synchronize(Boolean convertToRGB, Boolean comparePath) in D:\Projekte\VS\VB\StaxRip\General\VideoScript.vb:Zeile 202.
    bei StaxRip.VideoScript.GetFramerate() in D:\Projekte\VS\VB\StaxRip\General\VideoScript.vb:Zeile 302.
    bei StaxRip.MainForm.OpenVideoSourceFiles(IEnumerable`1 files, Boolean isNotEncoding) in D:\Projekte\VS\VB\StaxRip\Forms\MainForm.vb:Zeile 1807.


    Diese Ordner auf D: gibt es nicht und gabe es auch bei der alten Installation nicht.
    Werde nicht schlau daraus. Hat jemand eine Lösung für mich?
    Danke schon mal.

  • Die Verzeichnisse gibt es nicht bei dir auf Laufwerk D:, aber bei stax76 auf dem Entwickler-PC.

    Die Fehlermeldung, dass *.avs-Dateien nicht als AVIFile geöffnet werden können, bedeutet üblicherweise, dass AviSynth (oder hier AviSynth+ für 64-bit-Verarbeitung) nicht korrekt installiert wurde, also installier's noch mal, so wie das in der Fehlermeldung vorgeschlagen wurde (die muss man schon mal lesen und versuchen zu verstehen).

    Zitat

    ... reinstalling AviSynth+ x64 might fix the problem, the setup is located at:

    C:\Users\me\Downloads\Staxe\Apps\AviSynth+r1858.exe

  • Zitat

    Bei mir lief Staxrip immer ohne Probleme. Leider ist mein System vor ein paar Tagen abgesürzt.
    Nun kommt nach einer Neuinstallation von Windows immer diese Meldung wenn ich eine Source öffnen möchte:

    Exception

    AVIFileOpen failed to execute

    Öffnet VirtualDub x64 die avs Datei?

    Zitat

    ich hoffe, StaxRip hat sowas mit leichter Bedienung, noch nie so genau verwendet...

    Ich bin für Verbesserungsvorschläge immer offen und dankbar.


    1.3.8.9 unstable test build:

    https://github.com/stax76/staxrip…d/test-build.md

  • Leider kann man die neuste Test-Version nicht nutzen. Das Fenster ist viel zu klein und man kann nicht mal OK drücken.

    Wäre super wenn Du das fixen könntest. Habs sogar mehrmals runtergeladen ohne Erfolg. Falls mans anders Fixen kann, bitte melden.

  • Bringt nichts ausser das die Schrift kleiner wird. Das Problem scheint unter dem Source Fenster zu liegen. Da ist der Abstand zu Gross bis Crop, PAR und DAR kommt, deshalb hat nicht alles Platz.

Jetzt mitmachen!

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