Probleme mit Schlieren nach Kodierung...

  • Hallo zusammen,


    mir ist die Tage beim Kodieren einiger Doku-BDs (meist interlaced) aufgefallen, dass diese deutliche Schlieren nach sich ziehen. Besonders auffällig ist dies beim Abspann, wenn eine Schrift durchs Bild läuft. Während diese auf der BD deutlich und scharf ist, ist sie im mkv recht unscharf und zeiht halt "Schlieren"...könnte das an einer falschen Reihenfolge der Halbbilder liegen?


    Meine Kodiereinstellungen sehen folgerndermaßen aus:


    x264:

    Zitat

    C:\Programme\StaxRip\Applications\x264\x264.exe "avs.avs" --output "%%~ni.h264" --preset slow --tune film --vbv-bufsize 78125 --vbv-maxrate 62500 --profile high --level 4.1 --crf 20

    falls auf 720p ungerechnet wird noch avs-Script

    Zitat

    LoadPlugin("C:\Programme\StaxRip\Applications\AviSynth plugins\LSmash\LSMASHSource.dll")
    LWLibavVideoSource("Quellvideo.mkv")
    ConvertToYV12()
    LanczosResize(1280, 720)

    und noch mkvmerge:

    Zitat

    "C:\Programme\MKVtoolnix\mkvmerge.exe" -o "%ziel%\%%~ni.mkv" "--language" "0:ger" "--track-name" "0:%%~ni" "--display-dimensions" "0:1280x720" "--default-duration" "0:50i" "--compression" "0:none" "%%~ni.h264" "--language" "0:ger" "--track-name" "0:%%~ni Ger" "--compression" "0:none" "%%~ni_ger.mp3" "--track-order" "0:0,1:0"

    Nicht über die Dateinamen wundern, das ganze läuft in einer Batch-Datei. Bei mkvmerge verwende ich aber noch die Version 5.8.0, weil mein BD-Player mit höheren Versionen nicht zurecht kommt...


    Vielleicht kann ja jemand einen Fehler erkennen...


    Besten dank


    Lapje

  • ich glaub man kann nicht einfach durch neu muxen von progressive auf interlaced ändern... hast du bei encoden auf interlaced gelassen? sieht nämlich nicht so aus

  • ja da steht 50i trotzdem spuckt mediainfo progressive aus... seltsam
    warte lieber auf die antwort von nem pro ;)
    liegt das an mir oder sieht test_source wirklich schlimm aus?

  • Du kannst eine interlaced Source nicht einfach resizen. Du musst entweder vorher deinterlacen (50p oder 25p) oder die Fields seperat skalieren und dann wieder zusammenführen (dann musst du aber auch interlaced kodieren, also --tff oder --bff in der x264 Commandline)

  • Gilt dass dann nur bei resizen oder generell wenn ich i-Material kodieren will? Da ich noch keinen wirklich vernünftigen Deinterlacer gefunden habe behalte ich das Material am besten bei...

  • Wenn du i-Material mit x264 kodierst musst du auf jeden Fall --tff oder --bff setzen. Wenn du das nicht machst werden die beiden Fields zusammengematscht und das Video kann nicht mehr richtig wiedergegeben werden (Kammartefakte oder Ruckeln).

  • mmhhh...hab das jetzt mal per


    Zitat

    C:\Programme\StaxRip\Applications\x264\x264.exe "avs.avs" --output
    "%%~ni.h264" --preset slow --tune film --vbv-bufsize 78125 --vbv-maxrate
    62500 --profile high --level 4.1 --tff --crf 20

    versucht, aber das Ergebniss ist das gleiche...MediaINfo zeigt mir als Scantyp MBAFF an, was ja eigentlich bedeutet dass es interlaced ist, oder? tff sollte auch stimmen, da MediaInfo beim Original Top Field anzeigt...

  • Wenn du nicht resized hast, sollte da eigentlich anständiges 1080i herauskommen. Du kannst überprüfen ob das Originalmaterial auch wirklich TFF ist, indem du dir eine kurze Stelle mit

    Code
    1. AssumeTFF().Bob()

    ansiehst.
    Gib mir am besten mal AVS Script + x264 CMD-Line + MediaInfo vom Ergebnis.

  • Dann hat er aber nur noch die halbe temporale und (effektive) vertikale Auflösung. Wenn er mit der halben temporalen Auflösung (also 25p) zufrieden ist, soll er lieber einen anständigen Deinterlacer wie QTGMC (oder Yadif, wenn es schnell gehen muss) benutzen.


    Ein Script für 1080i -> 720p25 sähe z.B. so aus:

    Zitat

    ##1080i YV12 Source
    QTGMC().SelectEven() #Oder irgendein anderer Deinterlacer
    Spline36Resize(1280, 720) #Oder z.B. LanczosResize

  • Einen Deinterlacer wollte ich eigentlich nicht einsetzen, habe bis jetzt keinen gefunden, welcher nicht irgendwelche "Nebenwirkungen" hatte...


    So, bei mir schaut jetzt alles so aus:


    x264


    Code
    1. C:\Programme\StaxRip\Applications\x264\x264.exe "avs.avs" --output "%%~ni.h264" --preset slow --tune film --vbv-bufsize 78125 --vbv-maxrate 62500 --profile high --level 4.1 --tff --crf 20


    avs-Skript


    Code
    1. LoadPlugin("C:\Programme\StaxRip\Applications\AviSynth plugins\LSmash\LSMASHSource.dll")
    2. LWLibavVideoSource("Quellvideo.mkv")
    3. ConvertToYV12()
    4. LanczosResize(1280, 720)


    mkvmerge


    Code
    1. "C:\Programme\MKVtoolnix\mkvmerge.exe" -o "%ziel%\%%~ni_neu.mkv" "--language" "0:ger" "--track-name" "0:%%~ni" "--display-dimensions" "0:1280x720" "--default-duration" "0:50i" "--compression" "0:none" "%%~ni.h264" "--language" "0:ger" "--track-name" "0:%%~ni Ger" "--compression" "0:none" "%%~ni_ger.mp3" "--track-order" "0:0,1:0"



    MedieInfo Source



    MediaInfo Coded



    Mir ist gerade nur eines aufgefallen: Im Original-Stream ist die Bildreihenfolge unteres Bild zuerst....wenn ich den Stream aber mit eac3to demuxe, ist im Videofile plötzlich die Reihenfolge oberstes Bild zuerst...ich werde das jetzt mal testweise anders kodieren...vielleicht bringt es ja was...

  • Du kannst 1080i (bzw. jegliches interlaced Material) nicht einfach so resizen. Wenn du unbedingt 720i haben willst (ohne zu deinterlacen) würde das z.B. so gehen:

    720i ist aber außerhalb jeglicher Standards. Ich würde eher auf 720p50 deinterlacen:

    Zitat


    LoadPlugin("C:\Programme\StaxRip\Applications\AviSynth plugins\LSmash\LSMASHSource.dll")
    LWLibavVideoSource("Quellvideo.mkv").AssumeTFF() # oder AssumeBFF()
    ConvertToYV12(interlaced=true)
    QTGMC() #Oder irgendein anderer Bobber
    Spline36Resize(1280, 720)

    QTGMC ist zwar etwas langsam, produziert aber keine unschönen Artefake, bzw. hat keine Sichtbaren "Nebenwirkungen". Wenn du auf 720p runterskalierst kannst du auch ohne schlechtes Gewissen eine der schnelleren Einstellungen nehmen.

  • OK, werde beide Möglichkeiten mal ausprobieren...kann aber den ganzen Tag dauern...^^


    besten dank bis hierhin...


    Nachtrag: Ich hab wohl ein paar Probleme das QTGMC richtig einzubinden, das wird anscheinend nicht gefunden. Geschieht das nicht üebr LoadPlugin?

  • Nein, nicht über LoadPlugin. Pack die QTGMC.avsi am besten einfach in den Pluins Ordner von Avisynth. Sonst glaube ich über Import(".../QTGMC.avsi")
    Du musst aber darauf achten, dass auch alle Plugins die QTGMC selbst benötigt vorhanden sind.