Mikroruckler bei Encoding von PAL nach H.264 unvermeidbar?

  • Ich möchte einige mit meinem Satellitenreceiver aufgenommene PAL-Videos (also MPEG2) nach H.264 konvertieren. Ich habe schon diverse Tools ausprobiert, aber z.B. bei Kameraschwenks sind bei der H.264-Datei (auch bei Wiedergabe am Fernseher) ständig kleine Ruckler zu beobachten - wenn man nicht darauf achtet, fällt es nicht auf, da dies beim PAL-Original aber nicht der Fall ist, würde mich schon interessieren, ob es eine Möglichkeit gibt, dies zu vermeiden.

    Ich habe bei der Konvertierung die Auflösung stets unverändert gelassen und 25 Frames pro Sekunde eingestellt. Auch habe ich diverse Interlaced-Einstellungen anstelle von Non-Interlaced ausprobiert, ohne Erfolg. Hat jemand eine Idee (z.B. mit einem speziellen H.264-Profil) oder ist das Problem prinzipbedingt durch die Konvertierung, also technisch nicht lösbar?

  • :grübeln: Versteh ich nicht. PAL ist PAL (25 fps, 576 Zeilen Höhe), egal ob mit MPEG2 (H.262) oder mit MPEG4-AVC (H.264) encodiert.

    Versuche doch mal, einen Ausschnitt von ein paar Sekunden Schwenk aus dem MPEG2 zu extrahieren (sollte mit DGIndex möglich sein) und hochzuladen, so dass wir erst mal das Original analysieren; vielleicht ist da ja schon eine Normwandlung drin...

  • :grübeln: Versteh ich nicht. PAL ist PAL (25 fps, 576 Zeilen Höhe), egal ob mit MPEG2 (H.262) oder mit MPEG4-AVC (H.264) encodiert.

    Eigentlich ja...

    Hier mal eine kurze Szene, zunächst das MPEG2-Original: http://www.filedropper.com/original
    Und hier die H.264-kodierte Fassung: http://www.filedropper.com/umkodiert

    Ein Unterschied ist der, dass das Original interlaced ist und VLC daher eine Bildwiederholrate von 50 anzeigt (bei der H.264-Version 25, da non-interlaced). Aber wenn ich interlaced kodiere, wird das Ruckeln deutlich stärker. Auch ein Kodieren auf 50 Vollbilder/sec. bringt keine Abhilfe.

    Ich weiß allerdings nicht, ob man das Ruckeln auf einem modernen Fernseher sieht - ich beziehe mich auf einen Röhrenfernseher. Achte besonders auf die Porträts der Stars an der Wand, dort wird es (hier) besonders deutlich.

  • Wenn das Ruckeln stärker wird, hast du vielleicht die falsche Halbbild-Reihenfolge. Es gibt TFF und BFF. Auch ein Deinterlacer muss die richtige Reihenfolge wissen. Wie man die zuverlässig herausfindet, wurde schon häufig erwähnt; hier am Beispiel von DGMPGDec nach der Indizierung:

    Code
    LoadPlugin("dgdecode.dll")
    MPEG2Source("Original.d2v")
    AssumeTFF() # oder: AssumeBFF()
    Bob()

    Und dann schön Bild für Bild vorwärts. Wenn es gleichmäßig vorangeht, stimmt es. Wenn es vor und zurück springt, ist es die falsche Reihenfolge. Macht es irgendwas anderes, lass dir helfen.

    Bei der Reihenfolge niemals dem Quell-Plugin vertrauen. Immer selber festlegen. Manche können es nicht erkennen (wie AviSource), manche können auch mal fehlerhaft markierte Quellen verarbeiten.
    __

    Dein Original-Ausschnitt ist leider unbrauchbar. Keinerlei Schwenk zu sehen. Leider kann ich nur die erste GOP decodieren, vielleicht ist das zu kurz.
    __

    Ach nein - der Filehoster hat einfach nach 300 KB abgebrochen. Noch mal anschauen...

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten

    2 Mal editiert, zuletzt von LigH (2. Januar 2014 um 23:38)

  • Wenn das Ruckeln stärker wird, hast du vielleicht die falsche Halbbild-Reihenfolge. Es gibt TFF und BFF. Auch ein Deinterlacer muss die richtige Reihenfolge wissen. Wie man die zuverlässig herausfindet, wurde schon häufig erwähnt; hier am Beispiel von DGMPGDec nach der Indizierung:

    Code
    LoadPlugin("dgdecode.dll")
    MPEG2Source("Original.d2v")
    AssumeTFF() # oder: AssumeBFF()
    Bob()

    Und dann schön Bild für Bild vorwärts. Wenn es gleichmäßig vorangeht, stimmt es. Wenn es vor und zurück springt, ist es die falsche Reihenfolge.

    Ja, meinem Eindruck ist das genau so. Leider habe ich mit DGMPGMDec überhaupt keine Erfahrung. Ich habe die Kodierung sowohl mit Freemake Video Converter als auch mit Super! vorgenommen, die aber anscheinend beide eine solche Einstellung nicht bieten.

    Edit: Korrektur, Super! bietet TFF und BFF - das hatte ich auch beides ausprobiert, aber mit beiden Einstellungen wurde das Ruckeln jeweils merklich stärker.

  • Ich habe eine Lösung gefunden:

    Und zwar habe ich jetzt direkt X264 über die GUI Handbrake ausprobiert: Das Ruckeln tritt bei allen Interlaced-Einstellung auf - bis auf die letzte namens "Bob", damit ist es weg!

  • sowohl mit Freemake Video Converter als auch mit Super!

    Beide gehören nicht zu den Programmen, die wir hier üblicherweise empfehlen. Im Gegenteil, vor Super! warnen wir sogar, dass es das System durcheinander bringt.

    DGMPGDec ist ein Plugin für den Frameserver AviSynth, auf dem viele gute Konverter basieren. Zum Testen gehe ich aber lieber an die Wurzeln und schaue mir das ganze ohne "benutzerfreundliche" Konverter-Oberfläche an; schön mit Handwerkszeug (VirtualDubMod mit integriertem Skript-Editor).
    __

    OK, sauberes TFF. Damit sollte entweder ein guter Deinterlacer (TDeint oder QTGMC, zur Not auch Yadif) ordentlich arbeiten können, oder eine Interlaced-Wiedergabe auf einem Fernseher richtig funktionieren. Bisher würde ich also noch auf ein Wiedergabeproblem tippen. Jetzt mal die Kopie anschauen...
    __

    Ich sehe keine Ruckler in der "Umkodiert.mp4". Alles schön sauber (abgesehen von etwas zittriger Kamera bei der Großaufnahme der Uhr). Kann also eigentlich nur an der Wiedergabe speziell in deinem System liegen.

    Encodiert wurde diese MP4 im Progressiv-Modus. Du wirst also sicherlich einen Deinterlacer verwendet haben? Hat dein Monitor eine Bildwiederholfrequenz von 50, 75 oder 100 Hz? Oder wartet die Darstellung zumindest auf den vertikalen Strahlrücklauf? Oder gibst du das ganze auf einem Fernseher aus? Mit dem PC oder welchem Player?

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten

    2 Mal editiert, zuletzt von LigH (3. Januar 2014 um 00:08)

  • Wie gesagt, ich gebe die Datei auf einem Fernseher aus. Und mit der Einstellung "Bob" ist es wie eben beschrieben weg. Eventuell ist dein Abspielgerät einfach besser als meines, das wäre eine Möglichkeit.

  • Ich schau es mir nur am PC-Monitor an.

    Bob() produziert übrigens 50 fps Vollbild. Natürlich hat das flüssigere Bewegung als Deinterlacing zu 25 fps Vollbild. Möglicherweise rechnet der Player oder Fernseher auch interlaced PAL bei MPEG2 zu 50 fps hoch, kriegt das aber bei interlaced MPEG4-AVC nicht hin...

  • Du hattest offenbar Recht, der Receiver, der das selbst aufgenommene Material ohne Ruckeln wiedergibt, scheint bei der Mediaplayer-Funktion mit H.264 nicht besonders gut zurechtzukommen. Zwei andere Geräte geben das Material ohne Ruckeln wieder. Und eines davon kommt wiederum mit "Bob" nicht zurecht, daher werde ich das wieder abschalten.

    Okay, danke für deine Hinweise, durch die ich auf die richtige Spur gekommen bin. :)

Jetzt mitmachen!

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