Welchen Farbraum hat DVB ?

  • Hallo. Ich lese mich gerade durch die Avisynth-FAQ durch. Jets steht da drin das verschiedene Filter und co bei verschiedenen Farbräumen schneller arbeiten bzw nur bei diesem. Deswegen jets meine Frage: Welchen Farbraum benutzt bzw hat DVB ? RGB24, RGB32,YUY2 oder YUY12 ? Falls das ne doofe Frage sein sollte bitte ich hiermit um Entschuldigung :)

    mfg AlexDozer

  • Danke. Macht einen umwandlung in einen anderen Farbraum sinn bei ner Konvertierung von DVB in XviD ??? Oder sollte man den Farbraum lieber lassen. Weil soweit ich in der FAQ sehe wird der von kaum einen Filter unterstützt.

  • huh? was?
    YV12 wird von so ziehmlich allen neueren Plugins unterstützt!
    Leider auch oftmals nur aussschließlich YV12.
    Da YV12 qualitativ am schlechtesten und am kompliziertesten zu handhaben ist, wenn man es mit interlaced video zu tun hat!

  • Quote from scharfis_brain

    huh? was?
    YV12 wird von so ziehmlich allen neueren Plugins unterstützt!
    Leider auch oftmals nur aussschließlich YV12.
    Da YV12 qualitativ am schlechtesten und am kompliziertesten zu handhaben ist, wenn man es mit interlaced video zu tun hat!

    Bei meinem Material handelt es sich leider um Interlaced :wall:
    Soll ich das Format beibehalten ? Oder lieber umwandeln in ein anderes ? Wie findet man eigentlich raus welches Format ein Video hat ?

  • Entschuldigt das ich nicht gleich die Forumsuche benutzt habe. Dies habe ich seit deinem Post getan und doch einiges gelernt. Ich werde das ganze in yv2 konvertieren. Hab mir das ganze auch mal in VDM angekuckt und man sieht deutlich nen Unterschied. Bei meiner Suche bin ich auch auf diese Combi hier gestossten:

    UnDot()
    UnFilter(-5,-5)
    Convolution3d(preset="movieHQ")

    Was die einzelnen Filter machen weis ich. Meint ihr man sollte das ganze anwenden wenn man Blockbildung hat ? Ich bin mir nämlich da nicht so sicher ob das das ganze verbessert oder eher verschlechtert. Ich hab auch noch die Option cpu=x bei mpeg2source entdeckt. Wenn ich mich jets nicht täusche tut die doch die Blockbildung vermanschen oder ? Und umso höher der Wert umso stärker wird dies ausgeführt ?

    Was haltet ihr dann davon das ganze ein bischen zu kombinieren:

    mpeg2source("movie.d2v",cpu=4)
    UnFilter(-5, -5)

    Meint ihr das macht Sinn oder solls ich lieber weglassen und das ganze so umwandeln wie es ist ? Das hab leider nicht durch die Suche rausgefunden ;)

  • Wenn man Blöcke sieht, wäre das meist vernünftigste, bei MPEG2Source() mit dem Parameter "cpu=4" die Deblocking-Filterung einzuschalten. "cpu=6" würde sogar einen Ring-Artefakt-Filter (gegen das Flirren an Kanten) anwenden. Diese Option arbeitet abhängig vom Quantisierungsfaktor der MPEG-Video-Quelle, und dadurch eigentlich recht optimal. Steuern kann man die Stärke mit den Threshold-Parametern (je kleiner, umso stärker).

    UnDot() als simpler Median-Filter ist generell nützlich als "Pfeffer-und-Salz-Filter" (Unterdrücken winziger Störungen) und sollte praktisch immer dabei sein (Nebenwirkungen kenne ich nur bei mehrfacher Verwendung).

    Statt Convolution3D könnte ich zum Testen auch mal den VagueDenoiser vorschlagen, der verwendet Wavelet-Decomposing, was zu einer harmonischeren Blockfilterung führen kann (meine Experimente waren jedenfalls sehr erfolgreich, bestimmte Videos bekam ich mit keinem anderen Filter so blockfrei).

    Im Allgemeinen kann ich eine Gruppierung (Deblock in MPEG2Source, UnDot, weiterer Rauschfilter) auf jeden Fall empfehlen.

  • Quote from AlexDozer

    Wie findet man eigentlich raus welches Format ein Video hat ?

    Das ist eine Frage, welche ich mir hinsichtlich Farbraum auch schon öfters gestellt und trotz Forumsuche keine Antwort darauf gefunden habe.
    VDubMod-AVI-Info zeigt zwar den Codec (FourCC) an, aber nicht welchen Farbraum das Video hat und Gspot gibt dazu auch nichts her...

  • Dass muss man dann meistens schon wirklich wissen.

    So beispielsweise, dass MPEG-1/2/4-Video in (Advanced) Simple-Profilen immer YUV mit Chroma-Subsampling 4:2:0 verwendet, und dem ist YV12 sehr ähnlich. Es gibt auch MPEG mit Chroma-Subsampling 4:2:2 (ähnlich YUY2), aber diese Profile unterstützt nicht jede Hard- und Software. Bei Motion-JPEG wäre es eher wahrscheinlich.

    Bei verlustlos komprimierenden Codecs kommt es auch teilweise auf die Einstellungen an. So kann man HuffYUV so einstellen, dass immer in YUV 4:2:2 (YUY2) komprimiert wird. Aber es ist auch RGB möglich.

    Davon unabhängig ist aber, welchen Farbraum das verarbeitende Programm anfordert. So soll es Video-Schnittprogramme geben, die zwischendurch grundsätzlich immer erst RGB haben wollen (in VirtualDub z.B. der "Full processing"-Modus"). Damit wird dann gerendert und neu komprimiert...

  • Doch. Nur wenn du weißt, was der Codec tut, wie er arbeitet, kannst du auch wissen, wie er das Video speichert.

    Die meisten Codecs, die natürliche Bilder speichern sollen, werden den YUV-Farbraum nutzen. Dann kommt es zunächst nur noch auf das Chroma-Subsamling an.

    In John McGowan's AVI Overview erfährt man einiges...

  • Danke LigH für deine Hilfe. Ich hab jets mal den Decoder angeworfen und werde euch morgen dann berichten wie das Ergebnis ist und welches Script ich verwendet habe.

    Bei meinem Stöbern durchs Forum bin ich auf was gestossen was mich ein bischen verwirrt momentan: Ein User hatte geschrieben das XviD nur YV12 kann und das ganze automatisch danach umwandelt wenns der Input nicht YV12 ist. Bei meiner weiteren Suche lass ich dann genau das Gegenteil. In Google kam ich zu keinem richtigen Ergebnis. Kann XviD nur YV12 oder auch die anderen ?

    Weil wenn er nur YV12 kann währe es ja irgendwie schmarrn das ganze vorher nach YuY2 (schreibt man das so ?) zu konvertieren wenns danach wieder in YV12 umgewandelt wird (abgesehen vom besserem Deinterlacing).

    mfg AlexDozer

  • XviD verwendet - wie auch andere MPEG4-Codecs - den YUV-Farbraum mit Chroma-Subsampling 4:2:0.

    YV12 verwendet auch den YUV-Farbraum mit Chroma-Subsampling 4:2:0.

    Die zwischenzeitliche Weiterverarbeitung mit Subsampling 4:2:2 (als YUY2) dürfte vor allem zwei mögliche Vorteile haben:

    - leichterer Umgang mit Interlaced-Material (ist mit YV12 in AviSynth nicht ganz problemlos, wenn man nicht genau alle Bedingungen beachtet)

    - bessere Kompatibilität: YV12 ist "planar", das können manche Programme nicht recht lesen, und lassen es - zumindest für die Voransicht - in das "gepackte" YUY2 umwandeln (auch wenn der Codec beim Komprimieren dann tatsächlich YV12 erhalten sollte).

    Ach ja: AviSynth 2.0 kannte noch keinen YV12-Modus, den gibt's erst seit AviSynth 2.5.

  • Der Decoder ist heute morgen fertig geworden. Das Ergebnis sieht recht gut aus, allerdings ist es ein bischen dunkler geworden. Ich denke das kommt von den Farbraum-Konvertierungen. Beim nächsten Mal versuche ich darauf zu verzichten. Hier das Script:

    #mpeg2source("D:\HD-Aufnahmen\tmf.d2v")
    #mpeg2source("D:\HD-Aufnahmen\tmf.d2v",cpu=4)
    mpeg2source("D:\HD-Aufnahmen\tmf.d2v",cpu=6)

    ConverttoYUY2(interlaced=true)

    Telecide(order=0,guide=2,post=0)
    #TDeint(mode=0,type=1)
    LanczosResize(1280,720)

    UnDot()
    UnFilter(70,30)
    #Convolution3d(preset="movieHQ")

    Hab auch mittlerweile gelesen das man den UnDot-Filter vor dem Resizen machen soll. Wie sieht das denn mit zusätzlichen Filtern aus, die auch vor dem Resizen anwenden ?

  • Quote from AlexDozer

    Hab auch mittlerweile gelesen das man den UnDot-Filter vor dem Resizen machen soll. Wie sieht das denn mit zusätzlichen Filtern aus, die auch vor dem Resizen anwenden ?

    I.d.R. sollten Rauschfilter generell vor dem Resizen angewendet werden, da dann mehr Information zur Verfügung steht. Ein paar Leute haben zwar auch schon mit Rauschfiltern nach dem Resizen angebl. gute Ergebnisse erzeugt - jedem das seine.
    Lediglich so Filter wie Farbanpassungen, AddBorders, FadeIO usw. dann nach dem Resizing, da normalerweise ja downresized wird und diese Filter somit nach dem Resizing schneller arbeiten.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!