Beiträge von Selur

    Zitat

    Dann muxe ich das neu ohne UT 2.

    Wie sieht denn da der Aufruf aus?

    Je nach Aufruf sollte die Stream/Track ID gleich bleiben, aber die StreamOrder anders sein.

    Zitat

    Mediainfo zählt ja wie oben schon gesagt falsch.

    IDs sollten nicht gezählt werden, sondern aus dem Container ausgelesen werden.

    Die StreamOrder sollte sich ändern.


    Zitat

    Gibt es das auch bei MP4 (oder anderen Container-Formaten)?

    Das es IDs gibt die je nach Remux aufruf erhalten bleiben können: Klar. :)


    Code
    1. MP4Box -set-track-id 10:21 file.mp4

    würde z.B. die ID des Tracks mit ID 10 von 10 auf 21 ändern.

    Ja, ich weiß das ist kein Remuxing, das sollte auch nur zeigen, dass man die ID ändern kann ohne, dass sich die StreamOrder ändert.

    Und 'Ja', es gibt auch muxing-Aufrufe, bei denen man die Track ID beim Mulitplexen ändern und somit auch beibehalten kann unabhängig von der StreamOrder. ;)


    ------

    Wenn ich remuxen würde in einem Skript allgemein eigentlich nur zwei Kriterien für mich:

    a. entweder ich will bestimmte Sprachen haben, dann remuxe ich basierend auf den Sprach-Tags

    b. ich will immer den x-ten Audio/Video/Untertitel Stream haben, dann remuxe ich basierend auf der StreamOrder (bzw. er Stream order by typ)

    -> Spontan würde ich sagen: Schau Dir das lieber mit FFmpeg als mit mkvinfo&mediainfo an, vermute dass ist zugänglicher. (+ geht i.d.R. auch unabhängig vom ContainerTyp)


    Cu Selur

    Interessant.

    Wenn ich den Transportstream mit MPC-HC abspiele fehlen einige Untertitel, benutzt ich mkvtoolnix um aus dem Transportstream eine mkv-Datei zu machen und spiele die ab sind alle Untertitel da.

    Wenn ich Untertitel dann mit:

    Code
    1. ffmpeg -canvas_size 1280x720 -i "C:\Users\Selur\Desktop\Fear_fixed.mkv" -vn -an -map 0:s:0 -c:s dvdsub "E:\Output\Fear_fixed_id_3_lang_de_default.mkv"

    aus der mkv-Datei als vobsub-Untertitel extrahiere scheinen sie komplett und in einem brauchbareren Format. :)


    Cu Selur

    Hybrid rev 2019.06.09.2:

    *fixed*

    • NVEnc: init bug

    Hybrid rev 2019.06.09.1:

    *fixed*

    • Vapoursynth: embedding idx/sub and sup subtitles
    • Filtering: crop only bug
    • Xvid: decimal/fraction in mencoder
    • Files: Do not allow semicolon or other separator used by Hybrid inside input and output file names.
    • Mp4Box: mp4box vfr handling
    • Avisynth: HDRAGC min grain option
    • Avisynth: Flash3K Deband defaults

    *changed*

    • NVEnc: allow aq-strength for H.265
    • NVEnc: rearranges layout
    • Decoder: prefer ffmpeg as decoder for > 8Bit output
    • FFNvEnc: tier-support added missing level 51
    • QSVEnc: fixed --weightp support
    • x265: adjusted to 'committed 4583000' "Changed the params max-merge to 3, b-intra enabled, limit-ref and early-skip enabled for improved performance for high res"
    • Vapoursynth: replaced 'knwvsfunc.py' with 'G41Fun.py'

    *added*

    • NVEnc: support --dhdr10-info, --nonrefp, --no-i-adapt, --no-b-adapt, --direct, --adapt-transform, --weightp, --strict-gop
    • Tags: option to set copyright info


    -> downloads: http://www.selur.de/downloads


    Cu Selur

    Zitat

    in unkomprimiertes Video zwischengespeichert.

    Kann man da nicht in ein verlustfreies Format speichern? Unkomprimiert hört sich immer falsch an.


    Zitat

    Kommt LSMASH mit dem 422 Material nicht zurecht ?

    LSMash kommt nicht mit unkomprimiert klar.

    Wenn es der reine RAW Stream wäre könnte man http://avisynth.nl/index.php/RawSource26 verwenden.


    Aber unkomprimiert in mov container, hört sich nach was an, was man nicht will. :)

    Zitat

    Über 100 MB sollte ffmpeg nicht werden, wenn man es strippen lässt.

    Wenn man alle reinbaut (non-free) komme ich auch über 100MB und wenn man eventuelle zusätzliche Abhängigkeiten (wie cuda dlls) hinzuzählt bin ich so bei 130MB. ;)

    Zitat

    Mein TV kann HDR10, leider kein HDR10+, liegts etwa daran? (Philips 65OLED873

    Wenn Deine Quelle nicht HDR-10+ verwendet: Nein.


    Okay, mal davon ausgegangen, dass Du die Werte vom Original übernommen hast und beim Reencode auch:

    Code
    1. Color range : Limited
    2. Color primaries : BT.2020
    3. Transfer characteristics : PQ
    4. Matrix coefficients : BT.2020 non-constant
    5. Mastering display color pri : Display P3
    6. Mastering display luminance : min: 0.0050 cd/m2, max: 4000 cd/m2

    erscheint, wären da noch zwei mögliche Varianten die mir einfallen:

    a. der Resizer ist das Problem

    b. der Player benutzt nur bei UHD Auflösungen die HDR Werte

    -> Was passiert denn wenn Du: (kann man ja na einem kleinen Sample testen)

    a. ein Auflösung > 1920x1080 verwendest?

    b. bei der Original Auflösung bleibst?


    Cu Selur

    Hybrid rev 2019.05.05.1:

    *fixed*

    • jobs: unwarrented warning about 'You are creating a job without audio, while the input has audio!' during batch processing
    • ffmpeg: tonemap sd range missing
    • Avisynth: amDCT Prefetch missing
    • Muxing: Mp4Box + chapters + Parallel subjob processing
    • NVEnc: 'Parallel subjob processing' + keyfile caused crash
    • Vapoursynth: LSFMod options matching code (missed version)
    • Avisynth: NNEDI3Resize missing prescreen mode 0
    • x26X: parallel subjob processing .mbtree-system cleanup triggered too early
    • Muxing: MP4Box 'flattening'-call handling
    • jobs: Subjobs that took longer to delete
    • ffnvenc: bsf written
    • Vapoursynth: rotation handling
    • VP9: color space grayed initially out
    • NVEnc: file size calculation adjustment
    • Subtitle: subtitle order mixup
    • filtering: 'Force 4:4:4 downsize' with 'no XSynth'
    • Avisynth: LSMASHVideoSource + hight bit depth source
    • Vaporoursynth: MCDegrainSharp, libmvtools dependency
    • jobs: show fps when mencoder is used
    • muxing: cosmetic glitch caused ffmpeg for ts muxing to be disabled
    • jobs: mencoder getting stuck on mencoder job
    • jobs: mencoder progress indication during Xvid encoding
    • jobs: Abort subjob processing if another subjob is aborted/postponed/stopped/...

    *changed*

    • Vapoursynth: default filter order (rotation before resize)
    • Avisynth: use Prefetch() with "cpu count / 2" instead of "cpu count" when MT-Threads is set to 0
    • mencoder: use fractions when specifiying ofps
    • muxing: added 'insertSEI, contSPS' to tsMuxeR muxing call

    *added*

    • filtering: 'rotate' 'auto' option
    • Avisynth: MvToolsFPSmod
    • Vapoursynth: added TimeCube to apply LUTs for Color Correction
    • Avisynth: MCDegrainSharp


    -> downloads: http://www.selur.de/downloads


    Cu Selur

    Zitat

    Was bedeuten all die Zahlen?

    Aus der HEVC und der SMPTE ST 2086 Spezifikation.

    ST.2086 Farbvolumen Metadaten werde durch Green, Blue, Red, White Point, und Helligkeit dargestellt: G(XG,YG)B(XB,YB)R(XR,YR)WP(XWP,YWP)L(max,min)


    Soweit ich es im Kopf habe und in der Hoffnung, dass ich mich nicht vertue hier mal ausführlich:


    Das Original besagt:

    Code
    1. Mastering display color pri : Display P3
    2. Mastering display luminance : min: 0.0050 cd/m2, max: 4000 cd/m2


    'Mastering display luminance' setzt den Helligkeitswert L(L1,L2), wobei L2 = min/0,0001 = 0,005/0,0001 = 50
    und L1 = max/0,0001 = 4000/0,0001= 4000000 sein sollte.

    Für x265 hätte man also L(4000000,50)


    'Display P3' legt RGB und den WhitePoint auf:
    'R(x=0.680, y=0.320), G(x=0.265, y=0.690), B(x=0.150, y=0.060), White point(x=0.3127, y=0.3290)' fest.

    Anmerkung soweit mir bekannt kürzt MediaInfo:

    • mit 'Display P3' aka. 'PCI-P3 D65'


      R(x=0.680, y=0.320), G(x=0.265, y=0.690), B(x=0.150, y=0.060), White point(x=0.3127, y=0.3290) ab

    • mit 'DCI P3' aka. 'DCI-P3 Theater'


      R(x=0.680, y=0.320), G(x=0.265, y=0.690), B(x=0.150, y=0.060), White point(x=0.314, y=0.3510) ab.

    • mit 'BT.2020'


      R(x=0.708, y=0.292), G(x=0.170, y=0.797), B(x=0.131, y=0.046), White point(x=0.3127, y=0.3290) ab.

    alle anderen Werte die vorkommen werden nicht abgekürzt und direkt angegeben.

    (Hatte ich mal beim doom9 im MediaInfo thread vor nem Jahr erfragt, da mir unklar war wo die MediaInfo Namen verkamen und worauf sie denn gemapped werden mussten.)


    Um um dies in die Volumen Informationen die als 'G(Xg,Yg)B(Xb,Yb)R(Xr,Yr)WP(Xwp,Ywp)' angegeben werden umzurechnen muss man die Werte durch 0,0002 teilen und erhält so:

    Xr = 0,680/0,00002 = 34000

    Yr = 0,320/0,00002= 16000

    Xg = 0,265/0,00002= 13250

    Yg = 0,690/0,00002= 34500

    Xb = 0,150/0,00002= 7500

    Yb = 0,06/0,00002= 3000

    Xwp = 0,3127/0,00002= 15635

    Ywp = 0,3290/0,00002= 16450


    Insgesamt ergibt dies dann:

    Code
    1. --master-display "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(4000000,50)"

    -> wie Du siehst, sind die RGB und WP Werte bei Dir schon richtig, aber die Helligkeitswerte (L) sind falsch.


    Cu Selur


    Ps.: Wie gesagt ohne Gewähr, zu faul, dass nochmal alles nach zu schauen, aber so wie ich es im Kopf habe sollte das alles so passen.

    Nutze StaxRip nicht, aber

    Zitat

    Mastering display luminance wurde also

    von "min: 0.0050 cd/m2, max: 4000 cd/m2"

    zu "min: 0.0001 cd/m2, max: 1000 cd/m2"

    wird durch die Informationen gesetzt die Du bei x265 Options->VUI 1->MasterDisplay angegeben hast.

    Zitat

    wo könnte man dieses Gamma Aware Resizing (ResampleHQ als Avisynth Filter oder als Vapoursynth script) einstellen kann?

    Keine Ahnung von StaxRip und ob es ResampleHQ (https://forum.doom9.org/showthread.php?t=160038) oder dpidDown (https://github.com/xyx98/my-va…script/blob/master/xvs.py) unterstützt.

    Zitat

    Was hat das zu bedeuten?

    Das Wer immer x265 eingestellt hat die HDR-10 Parameter nicht mit übernommen hat.

    Zitat

    Kann das verdindert werden?

    Ja, wenn man den Encoder ordentlich konfiguriert,....

    Zitat

    Oder soll das so sein?

    Frag den der die Werte so gesetzt hat warum er es so getan hat, dann weißt Du ob es so sein sollte oder nicht,...

    Momentan muss für HDR10+ und Dolby Vision muss das Material neu ge'color graded' werden. :)

    Genau das Gleiche wäre nötig wenn man zu oder von einem dieser Formate in ein anders umwandeln will.

    Vielleicht bringt Dolby auch mal Software raus, welche HDR Format X -> Dolby Vision automatisch kann, aber da meines Wissens nach alles rund um Dolby Vision mit NDAs geschützt ist sehe ich nicht das da in nächster Zeit was passiert. (Sehe nicht das da jemand versucht per Reversiere-Engeneering drann zu gehen.)


    Cu Selur


    Ps,: Wüsste aktuell nicht mal wie man mit freier Software Dolby Vision decodieren könnte.

    Zitat

    Verstehe ich Dich richtig bei "Zu C", man kann nicht einfach "3840x2160 HDR10" zu "1920x1080 HDR10" encoden, das hätte auch auf die Farben/Helligkeit Einfluss?

    bei HDR10 -> HDR10 kann je nach Höhe des Auflösungswechseln und Resizers (Gamma Aware resizing,..) ein leichte Veränderung der Farbe&Co stattfinden, diese werden i.d.R. aber ignoriert. (Man beachte, dies gilt nicht für HDR10+ und Dolby Vision)


    Zitat

    Oder meinst Du "3840x2160 HDR10" geht nicht einfach zu "1920x1080 8-Bit"

    HDR -> SDR und die Umwandlung von einem HDR Format in ein anderes und das Handeln von dynamischen HDR Formaten (HDR10+ und Dolby Vision), sind nicht trivial.


    Zitat

    Und zu der AMD-Karte. Wo finde ich eine Anleitung zu den Einstellungen zu diesem Encoder?

    VCEEnc (https://github.com/rigaya/VCEEnc) hat eine Hilfe, die zumindest aufzeigt welche Parameter es gibt.

    Eine wirklich sinnige Anleitung habe ich für VCE oder NVIDIA Encoder noch nicht gesehen. (Weil anscheinend keiner die Zeit und Nerv hat so etwas zu schreiben,..)


    Zitat

    Kann man die CUDA Funktion zusätzlich zur CPU nutzen?

    i.d.R. ist es entweder eher ein 'entweder oder', wobei die CPU immer mit benutzt wird, meist macht ein Miteinander aber nur wenig Sinn, da das Hin-und-Her zwischen CPU&VPUim Verhältnis langsam ist. Sieht man auch schön am Unterschied ob man De- und Encoding mit der VPU macht, oder decoding auf der CPU und encoding auf der VPU.