Artefakte nach MeGUI Encoding

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Artefakte nach MeGUI Encoding

    Anzeige
    Ich grüße Euch, liebes Letsplay-Forum :).

    Ich schlage mich, schon seitdem ich mit dem Let's Playen angefangen habe, mit einem Problem herum.

    Und zwar haben meine Folgen nach dem Encodieren mit MeGUI sehr oft Artefakte, was dazu führt, dass ich es neu encodieren muss, in der Hoffnung, dass es keine erneuten Fehler gibt. (Seltsamerweise habe ich die Erfahrung gemacht, dass ich keine Artefakte bekommen, wenn ich nebenbei an dem PC etwas anderes arbeite oder Videos schaue, das ist aber wohl nur Zufall gewesen.)

    Die Artefakte sind eine Art Verschwimmen des Bildes und auch die Farben sind verzerrt, davor ist es oft ein Hängen des Bildes und dann ein schnelles Nachspulen. Hier hab ich mal versucht den Fehler auf einem Bild festzuhalten.
    (Kann bei Bedarf auch Videomaterial zeigen, hab den Fehler jedoch auf meinen YT-Videos, deshalb hier nur das Bild.)



    Ich habe nun schon versucht den Kompressor der Aufnahme (von Lagarith Lossles auf Magic YUV) zu ändern und auch ein bisschen mit den Einstellungen von MeGUI herumgespielt. Ich schätze aber, dass das Problem bei meinem Avisynth-Script liegen wird, jedoch habe ich von der Materie quasi überhaupt keine Ahnung und die Suche hier im Forum war nicht erfolgreich.

    Zu meinem Setup:
    Mein System:
    GPU: AMD Powercolor R9 390X Devil Hybrid
    CPU: Intel I7 2600 k 3.8 ghz
    Mainboard: Gigabyte GA-Z77X-D3H
    Ram: 2 x G.Skill DIMM 4 GB DDR3-1600 Kit

    Hatte bis vor einigen Tagen noch eine AMD Sapphire HD 5850 Vapor-X, doch an der Grafikkarte (und der CPU) sollte es eigentlich nicht liegen.

    Aufnahme - MSI Afterburner:
    VideoFormat: VFW Kompression : Magic YUV lossless v1.2 rev0 (jetzt nur in einer Folge getestet, davor Lagarith Lossless codec mit dem selben Problem)
    Container Format: Audio Video Interleave AVI
    85% Qualität
    Vollbild
    60 FPS Framerate
    ohne Grenze

    Multithread Optimierung - automatisch
    Gammakorrektur aktiviert

    Bearbeitung - SaragasScript Maker:

    Quellcode

    1. ### SagaraS Scriptmaker - Version 6.1 ###
    2. ### Lade Plugins und setze die globalen Variablen ###
    3. Global breite = 2048
    4. Global hoehe = 1152
    5. Global AR = 0
    6. ### Lade Videoquellen ###
    7. SetMTMode(3)
    8. ### Filter Verarbeitungszone ###
    9. (IsYUY2() == true) ? ConvertToYV16(matrix = "Rec709") : Last
    10. ### Funktion für Video-Laderoutine ###
    11. Function AVIload (String file, int loading, int cl, int co, int cr, int cu, string pixtype, string afps, int fpsn, int fpsd) {
    12. pixtype2 = (pixtype == "YUY2") ? "YUY2" : (pixtype == "RGB24") ? "RGB24" : (pixtype == "Y8") ? "Y8" : (pixtype == "YV12") ? "YUV420P8" : (pixtype == "YV24") ? "YUV444P8" : pixtype
    13. (loading == 1) ? FFIndex(file) : nop()
    14. clip0 = (loading == 3) ? (pixtype == "Auto") ? LWLibavVideoSource(file) : LWLibavVideoSource(file, format = pixtype2) : (loading == 2) ? Import(file).KillAudio() : (loading == 1) ? (pixtype == "Auto") ? FFVideoSource(file, threads=1) : FFVideoSource(file, threads=1, colorspace=pixtype) : (pixtype == "Auto") ? AVISource(file, false).KillAudio() : AVISource(file, false, pixel_type=pixtype).KillAudio()
    15. clip1 = clip0.AutoFPS(afps, fpsn, fpsd).Cropping(cl, co, cr, cu)
    16. Return (clip1.width == breite && clip1.height == hoehe) ? clip1.ConvertToYV12(matrix = "Rec709") : Clip1.Resize()
    17. }
    18. Function AutoFPS (Clip clip0, string afps, int fpsn, int fpsd) {
    19. rate1 = (afps == "Auto") ? (Round(Float(clip0.framerate * 1000)) / 1000) / 2 : nop()
    20. rate2 = (afps == "Auto") ? Round(clip0.framerate) / 2 : nop()
    21. rate = (afps == "Auto") ? (rate1 == rate2) ? 1 : 1001 : (afps == "Igno.") ? clip0.frameratedenominator : fpsd
    22. ratefaktor = (afps == "Auto") ? (rate == 1001) ? 1000 : 1 : nop()
    23. clip0 = (afps == "Auto") ? (rate == 1001) ? clip0.AssumeFPS(Round(clip0.Framerate) * 1000, rate) : clip0.AssumeFPS(round(clip0.framerate), rate) : (afps == "Igno.") ? clip0.AssumeFPS(clip0.frameratenumerator, rate) : clip0.AssumeFPS(fpsn, rate)
    24. Return clip0
    25. }
    26. Function Cropping (Clip clip0, int cl, int co, int cr, int cu) {
    27. clip0 = (clip0.IsRGB32() == True) ? clip0.ConvertToRGB24() : clip0
    28. Return (cl != 0 || co != 0 || cr != 0 || cu != 0) ? clip0.Crop(cl, co, cr, cu) : clip0
    29. }
    30. Function Resize (Clip clip1) {
    31. clip1 = (AR == 1) ? ((float(Clip1.height * breite) / clip1.width) / 2 == round((float(Clip1.height * breite) / clip1.width) / 2)) ? ((float(Clip1.width * hoehe) / clip1.height) / 2 == round((float(Clip1.width * hoehe) / clip1.height) / 2)) ? clip1 : clip1.ConvertToRGB24() : clip1.ConvertToRGB24() : clip1
    32. clip1 = (AR == 1) ? (((clip1.width * hoehe) / clip1.height > breite) ? Clip1.Spline36Resize(breite, ceil(float(Clip1.height * breite) / clip1.width)) : Clip1.Spline36Resize(ceil(float(clip1.width * hoehe) / clip1.height), hoehe)) : clip1.Spline36Resize(breite, hoehe).ConvertToYV12(matrix = "Rec709")
    33. back = (AR == 1) ? (0 == 1) ? ImageReader("", 0, clip1.framecount - 1, clip1.framerate).ChangeFPS(clip1.frameratenumerator, clip1.frameratedenominator).Spline36Resize(breite, hoehe).ConvertToYV12(matrix = "Rec709") : BlankClip(clip1, width = breite, height = hoehe, pixel_type = "YV12").KillAudio() : clip1
    34. Return (AR == 1) ? Overlay(back, clip1, (back.width - clip1.width) / 2, (back.height - clip1.height) / 2) : clip1
    35. }
    Alles anzeigen


    Das ist das Script, ohne Video.


    Encoding - MeGUI:
    Video

    Encoder Settings - x264: *Scratchpad*
    File format - MKV

    Config:
    Const. Quality - 20
    Tuning - none
    Preset Medium
    AVC Level - Unrestricted/Autoguess
    Target Playback Device - Default
    Enable 10-Bits Encoding + Show Advanced settings an

    Audio
    Flac: *Scratchpad*
    FLAC

    Habe bei Preset auch schon mal "Slow" versucht. Das hat aber außer einer deutlich längeren Encodierzeit nicht viel gebracht. Die Priorität war bei einem Teil meiner Videos auf Normal, bei wenigen auf Hoch und bei den letzten 10 Videos auf "Mehr als normal".

    Mediainfo:


    Bei der Rohdatei:

    Quellcode

    1. General
    2. Complete name : G:\Lets Play\RAW\28.avi
    3. Format : AVI
    4. Format/Info : Audio Video Interleave
    5. Format profile : OpenDML
    6. File size : 39.3 GiB
    7. Duration : 14mn 29s
    8. Overall bit rate : 389 Mbps
    9. Video
    10. ID : 0
    11. Format : MAGY
    12. Codec ID : MAGY
    13. Duration : 14mn 29s
    14. Bit rate : 386 Mbps
    15. Width : 1 920 pixels
    16. Height : 1 080 pixels
    17. Display aspect ratio : 16:9
    18. Frame rate : 60.000 fps
    19. Bits/(Pixel*Frame) : 3.101
    20. Stream size : 39.1 GiB (99%)
    21. Audio #1
    22. ID : 1
    23. Format : PCM
    24. Format settings, Endianness : Little
    25. Format settings, Sign : Signed
    26. Codec ID : 1
    27. Duration : 14mn 29s
    28. Bit rate mode : Constant
    29. Bit rate : 1 411.2 Kbps
    30. Channel(s) : 2 channels
    31. Sampling rate : 44.1 KHz
    32. Bit depth : 16 bits
    33. Stream size : 146 MiB (0%)
    34. Alignment : Aligned on interleaves
    35. Interleave, duration : 17 ms (1.00 video frame)
    36. Audio #2
    37. ID : 2
    38. Format : PCM
    39. Format settings, Endianness : Little
    40. Format settings, Sign : Signed
    41. Codec ID : 00001000-0000-0100-8000-00AA00389B71
    42. Duration : 14mn 29s
    43. Bit rate mode : Constant
    44. Bit rate : 1 411.2 Kbps
    45. Channel(s) : 2 channels
    46. Channel positions : Front: L R
    47. Sampling rate : 44.1 KHz
    48. Bit depth : 16 bits
    49. Stream size : 146 MiB (0%)
    50. Alignment : Aligned on interleaves
    51. Interleave, duration : 17 ms (1.00 video frame)
    Alles anzeigen


    Bei der encodierten Datei:

    Quellcode

    1. General
    2. Unique ID : 235083828273860296917011694043809323400 (0xB0DB7F9932F286E69EA722CD05721988)
    3. Complete name : G:\Lets Play\ENCODED\Deus Ex Human Revolution Directors Cut - Folge 28.mkv
    4. Format : Matroska
    5. Format version : Version 2
    6. File size : 634 MiB
    7. Duration : 14mn 29s
    8. Overall bit rate mode : Variable
    9. Overall bit rate : 6 118 Kbps
    10. Encoded date : UTC 2016-04-22 15:14:43
    11. Writing application : mkvmerge v9.0.1 ('Obstacles') 32bit
    12. Writing library : libebml v1.3.3 + libmatroska v1.4.4
    13. DURATION : 00:14:29.800000000
    14. NUMBER_OF_FRAMES : 9365
    15. NUMBER_OF_BYTES : 91084207
    16. _STATISTICS_WRITING_APP : mkvmerge v9.0.1 ('Obstacles') 32bit
    17. _STATISTICS_WRITING_DATE_UTC : 2016-04-22 15:14:43
    18. _STATISTICS_TAGS : BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    19. Video
    20. ID : 1
    21. Format : AVC
    22. Format/Info : Advanced Video Codec
    23. Format profile : High 10@L5
    24. Format settings, CABAC : Yes
    25. Format settings, ReFrames : 4 frames
    26. Codec ID : V_MPEG4/ISO/AVC
    27. Duration : 14mn 29s
    28. Width : 2 048 pixels
    29. Height : 1 152 pixels
    30. Display aspect ratio : 16:9
    31. Frame rate mode : Constant
    32. Frame rate : 60.000 fps
    33. Color space : YUV
    34. Chroma subsampling : 4:2:0
    35. Bit depth : 10 bits
    36. Scan type : Progressive
    37. Writing library : x264 core 148 r2692 64f4e24
    38. Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=infinite / keyint_min=1 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=0 / qpmax=81 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    39. Default : Yes
    40. Forced : No
    41. Audio
    42. ID : 2
    43. Format : FLAC
    44. Format/Info : Free Lossless Audio Codec
    45. Codec ID : A_FLAC
    46. Duration : 14mn 29s
    47. Bit rate mode : Variable
    48. Channel(s) : 2 channels
    49. Sampling rate : 44.1 KHz
    50. Bit depth : 24 bits
    51. Writing library : libFLAC 1.3.1 (UTC 2014-11-25)
    52. Default : Yes
    53. Forced : No
    Alles anzeigen

    Ich hoffe, ich habe genug an Informationen gegeben und das meine Frage berechtigt war, ich also die Suchfunktion richtig genutzt habe ^^.
    Ich danke schon mal fürs Durchlesen, ist ja schon etwas ausführlich. Sollte etwas Fehlen, werde ich versuchen es so schnell wie möglich nachzureichen.

    Liebe Grüße

    Haburto
    Liebe Grüße

    Mein Youtube-Kanal :)
  • Haburto schrieb:

    Das ist das Script, ohne Video.
    Mit wäre besser.


    Haburto schrieb:

    Config:
    Const. Quality - 20
    Tuning - none
    Preset Medium
    AVC Level - Unrestricted/Autoguess
    Target Playback Device - Default
    Die Command wäre nur wichtig das du die postest. Aber deine Settings lassen sich anhand der Mediainfo nachvollziehen.


    An der Mediainfo des fertigen Videos finde ich leider keine Punkte die auf ein Fehler hindeuten.



    Überprüfe ab wann der Fehler auftritt.
    Nach der Aufnahme schon?
    Nach AVISynth (SSM) (siehe dazu das Skript über die Vorschaufunktion über Virtual Dub an oder über die MeGUI interne)
    Nach dem MeGUI Encode?
    Nach dem Upload den Videos auf YT?

    Das sind 4 Zwischenstationen die man nachprüfen kann, ab wann der Fehler auftritt.


    Haburto schrieb:

    Aufnahme - MSI Afterburner:
    VideoFormat: VFW Kompression : Magic YUV lossless v1.2 rev0 (jetzt nur in einer Folge getestet, davor Lagarith Lossless codec mit dem selben Problem)
    Container Format: Audio Video Interleave AVI
    85% Qualität
    Vollbild
    60 FPS Framerate
    ohne Grenze

    Multithread Optimierung - automatisch
    Gammakorrektur aktiviert
    Die MagicYUV Konfiguration hast du leider nicht genannt. Die fehlen noch. Bitte nachreichen.
    Aber bitte die, mit der du aufgenommen hast. Also über Afterburner das Ganze nachschauen.

    Hinweis zum Finden der Konfig:
    VFW Kompression -> MagicYUV lossless v1.0 rev0 -> Konfiguration

    Das ist sehr wichtig. Bei MagicYUV können wir nicht aus der Mediainfo entnehmen wie aufgenommen worden ist. Sprich Quell - Farbraum ist Unbekannt.
  • Hey, danke für die Antwort :)

    Hier das Script vom Video:

    Quellcode

    1. ### SagaraS Scriptmaker - Version 6.1 ###
    2. ### Lade Plugins und setze die globalen Variablen ###
    3. Global breite = 2048
    4. Global hoehe = 1152
    5. Global AR = 0
    6. ### Lade Videoquellen ###
    7. SetMTMode(3)
    8. AVIload("G:\Lets Play\RAW\28.avi", 0, 0, 0, -0, -0, "Auto", "Auto", 0, 0)
    9. ### Filter Verarbeitungszone ###
    10. (IsYUY2() == true) ? ConvertToYV16(matrix = "Rec709") : Last
    11. ### Funktion für Video-Laderoutine ###
    12. Function AVIload (String file, int loading, int cl, int co, int cr, int cu, string pixtype, string afps, int fpsn, int fpsd) {
    13. pixtype2 = (pixtype == "YUY2") ? "YUY2" : (pixtype == "RGB24") ? "RGB24" : (pixtype == "Y8") ? "Y8" : (pixtype == "YV12") ? "YUV420P8" : (pixtype == "YV24") ? "YUV444P8" : pixtype
    14. (loading == 1) ? FFIndex(file) : nop()
    15. clip0 = (loading == 3) ? (pixtype == "Auto") ? LWLibavVideoSource(file) : LWLibavVideoSource(file, format = pixtype2) : (loading == 2) ? Import(file).KillAudio() : (loading == 1) ? (pixtype == "Auto") ? FFVideoSource(file, threads=1) : FFVideoSource(file, threads=1, colorspace=pixtype) : (pixtype == "Auto") ? AVISource(file, false).KillAudio() : AVISource(file, false, pixel_type=pixtype).KillAudio()
    16. clip1 = clip0.AutoFPS(afps, fpsn, fpsd).Cropping(cl, co, cr, cu)
    17. Return (clip1.width == breite && clip1.height == hoehe) ? clip1.ConvertToYV12(matrix = "Rec709") : Clip1.Resize()
    18. }
    19. Function AutoFPS (Clip clip0, string afps, int fpsn, int fpsd) {
    20. rate1 = (afps == "Auto") ? (Round(Float(clip0.framerate * 1000)) / 1000) / 2 : nop()
    21. rate2 = (afps == "Auto") ? Round(clip0.framerate) / 2 : nop()
    22. rate = (afps == "Auto") ? (rate1 == rate2) ? 1 : 1001 : (afps == "Igno.") ? clip0.frameratedenominator : fpsd
    23. ratefaktor = (afps == "Auto") ? (rate == 1001) ? 1000 : 1 : nop()
    24. clip0 = (afps == "Auto") ? (rate == 1001) ? clip0.AssumeFPS(Round(clip0.Framerate) * 1000, rate) : clip0.AssumeFPS(round(clip0.framerate), rate) : (afps == "Igno.") ? clip0.AssumeFPS(clip0.frameratenumerator, rate) : clip0.AssumeFPS(fpsn, rate)
    25. Return clip0
    26. }
    27. Function Cropping (Clip clip0, int cl, int co, int cr, int cu) {
    28. clip0 = (clip0.IsRGB32() == True) ? clip0.ConvertToRGB24() : clip0
    29. Return (cl != 0 || co != 0 || cr != 0 || cu != 0) ? clip0.Crop(cl, co, cr, cu) : clip0
    30. }
    31. Function Resize (Clip clip1) {
    32. clip1 = (AR == 1) ? ((float(Clip1.height * breite) / clip1.width) / 2 == round((float(Clip1.height * breite) / clip1.width) / 2)) ? ((float(Clip1.width * hoehe) / clip1.height) / 2 == round((float(Clip1.width * hoehe) / clip1.height) / 2)) ? clip1 : clip1.ConvertToRGB24() : clip1.ConvertToRGB24() : clip1
    33. clip1 = (AR == 1) ? (((clip1.width * hoehe) / clip1.height > breite) ? Clip1.Spline36Resize(breite, ceil(float(Clip1.height * breite) / clip1.width)) : Clip1.Spline36Resize(ceil(float(clip1.width * hoehe) / clip1.height), hoehe)) : clip1.Spline36Resize(breite, hoehe).ConvertToYV12(matrix = "Rec709")
    34. back = (AR == 1) ? (0 == 1) ? ImageReader("", 0, clip1.framecount - 1, clip1.framerate).ChangeFPS(clip1.frameratenumerator, clip1.frameratedenominator).Spline36Resize(breite, hoehe).ConvertToYV12(matrix = "Rec709") : BlankClip(clip1, width = breite, height = hoehe, pixel_type = "YV12").KillAudio() : clip1
    35. Return (AR == 1) ? Overlay(back, clip1, (back.width - clip1.width) / 2, (back.height - clip1.height) / 2) : clip1
    36. }
    Alles anzeigen

    Bei Command war ich mir nicht sicher, was du meintest, habe nun bei der Konfig den unteren Teil, in dem der Text steht hier:
    program --crf 20.0 --keyint infinite --min-keyint 1 --output "output" "input"

    Zeitpunkt:
    Hab nun nochmal die Raw und Vorschaufunktionen überprüft, da tritt der Fehler noch nicht auf. Erst nach dem Encodieren. Also in der Datei die auf YT hochgeladen wird.

    Hier die Magic YUV Konfiguration:
    Accepted Colorspace: All Supported
    Mode (conversion): YUV 4:2:2
    YUV color matrix: Rec.709 (HD video standard, newer)

    Interpolate when downsampling ist an
    Number of threads ist Auto-detect (zeigt in grau auch 8 an)
    Compression method: Dynamic

    Compression Tray icon + Notification
    Decompresison Tray icon


    Sollten die Standardeinstellungen sein, da ich MagicYUV nur testen wollte, da ich hier gelesen hatte, dass Lagarith doch nicht mehr eine Empfehlung ist und es da öfter zu Fehlern kommen könnte.

    Aber der Fehler war auch bei Aufnahmen in Lagarith.
    Vor ein paar Wochen habe ich alle Programme aktualisiert und musste teilweise die Einstellungen neu machen, jedoch war der Fehler September 2015 auch schon vorhanden.

    Hab eigentlich alle Einstellungen zu MeGUI und Afterbruner aus Videos von diesem Forum übernommen.
    Ich vermute das ich irgendwo in MeGUI etwas falsch eingestellt habe, denn erst nach dem Encodieren kommt der Fehler.

    Edit:
    Hier nochmal 2 Bilder, die den Fehler zeigen, vllt hilft das ja zur Ursachenfindung.






    Die Bilder sind aus meiner Aktuellesten Folge, in der mit MagicYUV aufgenommen wurde, die Fehler hingegen sind exakt die selben.
    Liebe Grüße

    Mein Youtube-Kanal :)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Haburto ()

  • Anzeige
    Also kann ich schon, jedoch sind die Fehler auch bei anderen. Um ehrlich zu sein, habe ich den ersten Fehler nur bemerkt weil mich ein Freund von mir darauf hingewiesen hat. Habe dann die encodierte Datei gesichtet und da war der Fehler auch.




    Hier mal ein Video, bei 3:18 fängt es an, erst hängt es und nach einer weile kommt das Video. (Bei manchen Artefakten ist das Hängen nicht so stark ausgeprägt, dafür sind die Bildeffekte bunter. Auch der Sound hört nicht immer so hart auf und nur das Bild ist Feherhaft.)

    Edit:
    So bei Minute 9 ist auch ein Fehler.
    Liebe Grüße

    Mein Youtube-Kanal :)
  • Muxt du auf eine externe Festplatte? Wenn ja. Lass das bleiben :P



    Haburto schrieb:

    Gammakorrektur aktiviert
    Wofür? Wirklich gebraucht, oder angehakt, weils gerad so schön gelächelt hat?
    Diese zieht Aufnahmespeed und sollte nur aktiviert werden, wenn auch wirklich benötigt wird.
    Aktuelle Projekte/Videos


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von De-M-oN ()

  • De-M-oN schrieb:

    Muxt du auf eine externe Festplatte? Wenn ja. Lass das bleiben :P


    Das mache ich in der Tat. Hab eine externe 2 TB, welche über Usb 3.0 angeschlossen ist, auf der die Aufnahmen liegen und von da wurden die bisher auch bearbeitet. Das Problem wäre da nur das ich keine Interne mit Speicherplatz habe, aber das kann ich ändern.
    Es liegt wahrscheinlich an der Geschwindigkeit der Festplatte.

    Betrifft das nur das Muxen oder auch das Kodieren von Video und Audio ? Wahrscheinlich alles.

    De-M-oN schrieb:

    Haburto schrieb:

    Gammakorrektur aktiviert
    Wofür?....


    Da kann ich keine genaue Antwort geben, wie gesagt, habe nicht so viel Ahnung von der Materie und habe die Einstellungen eigentlich alle aus Videos hier im Forum übernommen. Aber danke für den Hinweis, dann lass ich es lieber raus :P

    Das mit dem Internen wird aber eine weile dauern, bis ich es testen kann, schätze ich.
    Aber danke für den Hinweis, werde es so schnell es geht Versuchen.
    Liebe Grüße

    Mein Youtube-Kanal :)