StaxRip Encoding-Frontend (Diskussion)

  • sry, bin ja erst ne woche registriert, da hab ich noch nicht alles gelesen!
    werde das mal probieren! aber wieso kann (soll) man denn transportstreams nicht direkt öffnen?

  • Wenn StaxRip schon vorher warnen würde, dass das DirectShow-Filter-System zwar zum Anschauen im Player reicht, aber für Konvertierungen zu unzuverlässig sein kann (Inhalte werden schon ungefragt gefiltert, oder gar teilweise verschluckt), dann müssten wir das nicht immer hinterher tun, wenn's für einige Anwender, die sich drauf verlassen hatten, schon zu spät war.

    [Blockierte Grafik: http://cosgan.de/images/smilie/figuren/a045.gif] Seit Jaaaahhhren predigen wir:

    Solange es noch speziell für AviSynth geschriebene *Source-Plugins gibt, soll man DirectShowSource (oder Haalis DSS2-Filter) als letzte Notlösung ansehen, wenn die anderen alle nicht funktionieren. Wer Videos über DirectShow in AviSynth holt, dem kann es passieren, dass in der DirectShow-Filter-Kette einer der Filter enthalten ist, die vielleicht schon mal den schnellsten, aber qualitativ schlechtesten Deinterlacer angewendet haben (Ergebnis: Matsch); oder "Bildaufhübscher", die man nicht ausdrücklich gewünscht hat; oder einen, der beim Decodieren ein paar Funktionen für optimale Qualität überspringt, wenn es länger dauert als zum Abspielen in Echtzeit nötig (was durch die folgenden AviSynth-Filter und Encoder sehr wahrscheinlich ist), wodurch dann Artefakte auftreten; oder ganz schlimm: Decoder, die mal das eine, mal das andere Frame auslassen, "weil es langsam wurde", und dann der erste und zweite Durchlauf im 2-pass-Modus nicht mehr übereinstimmen...

    Ähnliche Probleme würde ich auch bei QTSource befürchten, solange mir niemand beweist, dass ich mir da keine Sorgen machen muss; ich erinnere mich an zumindest ein Videoformat, bei dem man dem QuickTime-Decoder mitteilen kann, ob es in hoher Qualität decodiert werden soll (DV oder MJPEG oder ähnliches mäßig effizient komprimiertes); und da ist mir ein Decoder, der mir den höchsten Qualitätsmodus für jeden Codec garantiert, wesentlich lieber als einer, bei dem ich schlechte Qualität bekommen könnte, wenn ich irgendwo etwas nicht eingestellt habe, von dem ich gar nicht weiß, dass diese Einstellung existiert und wie ich sie finden kann.

    Für AviSynth wäre dieser weitgehend (bis auf Unkenntnisse der Programmierer, die all die Decoder anderer Hersteller irgendwie nachprogrammieren mussten) das Plugin FFmpegSource2; für AVIs mit Video, dessen Codec noch nicht nachprogrammiert werden konnte (z.B. Ut), hat AviSource immer noch seine Existenzberechtigung, und für kompliziertes modernes Video (z.B. Interlaced VC-1) ist DGDevNV empfehlenswert bis notwendig, wenn man DirectShow vermeiden will.

    Leider hat FFMS2 aber eben auch seine Grenzen. Eine davon ist, dass es Transport-Streams nicht ohne fremde Hilfe zuverlässig lesen kann (diese "fremde Hilfe" ist ausgerechnet der DirectShow-Filter "Haali Media Splitter"). Dafür kann es MKV-Dateien sehr zuverlässig verarbeiten. Daher gilt im Allgemeinen die Empfehlung, Transport-Streeam-Dateien mit mkvtoolnix (mkvmerge oder MMG) in MKV umzuverpacken, damit FFMS2 es verarbeiten kann.

    Ich würde nun zwar nicht unbedingt so weit mit meinen "Vorurteilen" gegenüber DirectShow gehen, dass ich das bereits als Lösung für dein Problem mit den plötzlichen Geschwindigkeitseinbrüchen erwarte. Wenn man sich mit der Steuerung der Bestandteile auskennt, kann DirectShow durchaus auch ein ziemlich zuverlässiges Verfahren zum Decodieren sein. Nur erfordert das recht spezielle Hilfsmittel und viel Erfahrung. Aber wenn die Decodierung in Zukunft mit FFMS2 als Decoder von MKV-Dateien immer zuverlässig schnell liefe, wäre ich auch nicht überrascht, denn solange man nicht den vollen Überblick über all seine DirectShow-Filter hat, ist vieles möglich. Und wenn man "Codec-Packs" installiert hatte, sogar der Wunsch nach einer Neuinstallation von Windows.

  • hab noch eine frage, wie steht es mit AVC source?
    (habe mal zum testen die .ts datei demuxt (h.264 und ac-3 datei))
    habe jetzt schon viel probiert und die geschwindigkeit war in knapp 30 versuchen immer perfekt!
    FFmpegSource2 probier ich als nächstes!
    codec packs habe/hatte ich nie drauf, den einzigen codec den ich drauf habe ist der CoreAVC 3.0.1 den ohne den habe ich beim encoden manchmal bildfehler
    (den zusammenhang werde ich auch nicht mehr verstehen, jedoch habe ich in 2 jahren keine andere lösung gefunden)

  • Das Projekt heißt FFmpegSource2. Die Plugindatei heißt FFMS2.dll, welche u.a. die Funktionen FFVideoSource() und FFAudioSource() für AviSynth anbietet; zusätzlich gibt es ein Import-Skript FFMS2.avsi, in dem eine Funktion FFmpegSource2() beides kombiniert.

    Also wenn du die Funktion "FFVideoSource" auswählst, wird das Plugin FFmpegSource2 verwendet.

  • hi, danke, auch damit treten nach knapp 40 versuchen keine geschwindigkeitsprobleme auf!
    ich werde das aber weiterhin beobachten!
    ich danke dir vielmals für deine geduld deinen super support!

    bin halt erst am einlernen in die materie, deshalb brauch ich das ein oder andere mal etwas länger bis ich genau verstehe, was ein profi wie du meint ;)

    abschließend wundert mich nur eines, vermutlich hab ichs einfach übersehen, man kann ja soviele videofilter (bzw demuxer - sourcen) auswählen, aber keine audiofilter, sind die da immer schon integriert oder wie? danke

    und gibts es eigentlich bis auf das bereits gesagte eine empfehlung was ma als source nehmen soll?
    also für mkv --> FFmpegSource2 (ist das ummuxen eines .ts wirklich notwendig? was würde passieren, wenn ich eine .ts oder h.264 mit FFmpegSource2 öffne?)
    für AVI (xvid), MP4 (x264) ???

  • Der Mangel an Audio-Filtern liegt sicherlich nur an StaxRip. Da wird der Autor davon ausgegangen sein, dass Einsteiger (die Zielgruppe von StaxRip) den Ton eher wenig verändern wollen; optimal zum Qualitätserhalt wird er möglichst direkt aus dem Original übernommen, gar nicht decodiert.

    AviSynth an sich bietet davon schon eine ganze Menge. Aber den Ton synchron mit dem Bild filtern erfordert schon ein wenig Erfahrung und vielleicht ein etwas anderes Konzept im Umgang mit Material und Skript, eventuell auch manuelle Skriptbearbeitung.

  • ok, danke bis auf

    Zitat

    und gibts es eigentlich bis auf das bereits gesagte eine empfehlung was ma als source nehmen soll?
    also für mkv --> FFmpegSource2 (ist das ummuxen eines .ts wirklich notwendig? was würde passieren, wenn ich eine .ts oder h.264 mit FFmpegSource2 öffne?)
    für AVI (xvid), MP4 (x264) ???

    sind nun alle meine fragen beantwortet!

  • *.ts direkt mit FFMS2: Geht, wenn Haali Media Splitter installiert ist; dennoch besser über MKV.
    *.264 direkt mit FFMS2: Geht gar nicht, FFVideoSource unterstützt kein elementares AVC.
    *.avi mit Xvid: Geht mit FFMS2 oder mit AviSource, relativ egal.
    *.mp4 mit AVC: Geht mit FFMS2.

  • ok, danke, ich weiß langsam werd ich nervig, wieso ist es denn besser mit FFMS2 die umgemuxte mkv zu öffnen als direkt den .ts? (haali ist drauf)
    weil wenn da qualitätsmäßig kein unterschied wäre würde mir das einiges an zeit sparen! (archiviere oft ganze aufgenommene staffeln, da würde das muxen dann immer wegfallen)
    also was ist genau der vorteil davon? thx (danach geb ich dir entgültig ruhe ;))

    und was kann man dagegen tun, dass FFVideoSource immer die Länge falsch ausließt?
    meine Aufnahme hat zB eine Länge von 21:30, das würde mir zB DirectShowSource auch anzeigen, FFVideoSource zeigt aber 43:01!
    wenn ich damit nun in 2pass auf eine gewissen Größe oder Bitrate kommen wollte, wäre die dann doch falsch, weil ja die Videolänge anders ist und somit die Bitrate in wirklichkeit höher wäre!?

    3 Mal editiert, zuletzt von RipInner (13. Januar 2013 um 20:38)

  • Genau doppelt so lang ... das ist eine der Nachteile vom direkten Zugriff auf TS mit Interlaced-AVC. FFMS2 kann nicht wirklich mit TS umgehen, selbst mit Haalis Hilfe.

    FFMS2 kann MKVs lesen. Und mkvmerge kann beim Konvertieren in MKV einen zuverlässigen Zustand herstellen, der für die saubere Arbeit eines Konverters nur hilfreich sein kann.

  • Zitat

    was kann ma da gegen tun?


    Interlaced Video egal ob MPEG-2, MPEG-4 AVC oder VC-1 nicht mit FFmpegSource2 verarbeiten.
    Interlactes MPEG-2 kann DGIndex ordentlich verarbeiten.
    Interlactes AVC und VC-1 Material kann meines Wissens nach nur DGDecNV ordentlich verarbeiten. (DGAVCDecDI kommt vielleicht noch mit interlactem AVC klar)
    -> Wenn man keine NVIDIA Karte hat, ist DirectShowSource bzw. DSS2 (= DirectShowSource2, kommt mit Haalis Media Splitter) die einzige Möglichkeit.

    Cu Selur

  • hab ne GTX 680, also wär das nicht das problem!
    mir wurde jetzt nur eine seite lang gesagt, dass directshowsource mies sei und es funktiert ja auch nicht wirklich zuverlässig bei mir!
    daher sollte ich FFmpegSource2 nehmen, aber das geht gar nicht weil es die datei um das doppelte zu lang macht? hä?
    was soll ich denn jetzt nehmen?
    ich will doch nur einfach eine .ts datei irgendwie weiterverarbeiten können!
    also was soll ich nun nehmen?

  • DirectShow ist nicht "grundsätzlich mies". Nur relativ riskant, wenn man es nicht aktiv steuert, sondern sich auf irgendwelche aktuellen Einstellungen verlässt. Man sollte eben immer beachten, dass DirectShow-Filter sich oft konfigurieren lassen, dann aber eher für angenehme Darstellung im Player eingestellt sind, das aber nicht immer die unverfälschten Inhalte in bester Qualität liefert, wenn es um das Weiterverarbeiten geht.

    Und wir hier haben schon den Anspruch, unseren Mitgliedern optimale Arbeitsweisen für gute Qualität zu empfehlen. Wenn es bloß irgendwie konvertiert werden soll, reicht auch irgendein Programm. Leider gibt es nicht für alle Nutzer dieser Welt das eine optimale Verfahren, weil jeder andere Ansprüche hat, und weil viele verschiedene Tools verschiedene Stärken und Schwächen haben, die bei so vielen unterschiedlichen Medienquellen eben ab und zu auch mal versagen.

    Und dann kommt anscheinend noch die Hardware dazwischen...

    Und ausgerechnet die Benutzeroberfläche, hier StaxRip, hat daran den geringsten Einfluss.

  • das irgendwie kam schon aus der verzweiflung heraus ;)
    kannst du mir jetzt sagen wie ich denn vorgehen soll wenn mein vorhaben mit FFMS2 nicht funktioniert? (hat ja die falsche länge dadurch)
    was soll ich denn jetzt als source(filter) nehmen?

  • Das Problem mit der doppelten Länge bei Interlaced AVC in FFMS2 hatten wir schon mal. Wenn es in MKV steckt und mit threads=1 als Parameter gelesen wird, klappt es wohl mit FFMS2 trotzdem (indem man mit AssumeFPS nur die Framerate anpasst, oder so...).

    Wenn du wirklich so viel konvertieren musst, und du auch eine GTX hast, dann könnte es sich lohnen, eine Lizenz für DGDecNV zu kaufen. Ob du dir das leisten willst, musst du wissen. Könnte sein, dass dadurch die CPU entlastet wird, weil sie dann die Decodierung der GPU überlässt und ab und zu mal auf das decodierte Video warten muss.

    Die eigentliche Ursache für die Geschwindigkeitseinbrüche ist damit aber immer noch nicht klar. Du schreibst, dass sowohl mit DirectShowSource als auch mit FFVideoSource immer mal zufällig eine Konvertierung langsam wird, dann aber mit den selben Einstellungen wieder normal läuft ... dann kann es eigentlich nur noch an Fehler bei der Thread-Synchronisierung liegen, glaube ich. Ohne es sicher zu wissen.

    Speziell an StaxRip sollte es jedenfalls nicht liegen.

  • ok, ein freund von mir hat das sogar gekauft, das könnte ich ja mal zum testen nehmen, wie muss ich das einbinden?
    sry, vllt bin ich einfach zu blöd, aber warum wurde mir dann überhaupt FFMS2 empfohlen, wenn von anfang an klar ist, das das dafür ungeeignet ist, da ich damit nicht auf eine dateigröße encoden kann, da es falsche laufzeiten ausliest?

    ne, das hast du falsch verstanden, mit FFVideoSource hatte ich keine probleme mehr, jedoch kann ich das ja nicht nehmen, wegen der falschen auslesezeiten!

Jetzt mitmachen!

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