Der Weg vom Encoder über den eigentlichen Übertragungsweg (DVD/CD oder Funk bzw. Kabel) bis hin zum Decoder geht immer über irgendwelche Puffer (Buffer).
Wir wollen hier nicht die Normvorschrift wiedergeben und uns auch nicht mit den ganzen Buffern im Detail beschäftigen, wir möchten jedoch versuchen, den unserer Meinung nach wichtigen VBV mit einfachen Worten so zu erklären, dass möglichst viele User verstehen, was sie dort eigentlich einstellen und was sie ggf. zur Verbesserung ihres Bildes oder Tones tun können. Das Füllen des VBV kann man sich am Beispiel einer Talsperre ganz gut vorstellen. Die benötigt erst einmal eine Zeit, bis sie gefüllt ist. Dann aber kann man mit ihr die Menge des abfließenden Wassers regulieren. Im Sommer läuft weniger hinein, aber gleich viel ab und der Wasserstand sinkt. Im Winter läuft mehr hinein und der Wasserpegel steigt bei gleicher Entnahmemenge. Nun haben wir bei der DVD oder der SVCD einen MPEG-Stream, der meist mit einer variablen Bitrate arbeitet. Und diese variable Bitrate muss an den konstanten Datenstrom der Übertragung angepasst werden. In umgekehrter Richtung, also von der CD zum Bild, muss der konstante Datenstrom der Übertragung an die variable Bitrate der Bildausgabe angepasst werden. In diversen Foren wird immer wieder über den VBV-Buffer diskutiert und doch wird er leider oft nicht wirklich verstanden, falsch interpretiert oder eben gar nicht beachtet.
Dem VBV-Buffer (Video Buffering Verifier) wird leider unserer Meinung zu wenig Bedeutung beigemessen, obwohl er für viele Schwierigkeiten und Probleme verantwortlich ist. Bei vielen Forenfragen ist z.B. von einem Einfrieren des Bildes, von Bild und Ton und ähnlichen Erscheinungen die Rede. Bei genauer Betrachtung sind solche Erscheinungen oft von einem falsch eingestellten VBV-Buffer abhängig.
Nun wissen wir aus den
Wir wissen aber auch, dass ein MPEG-Datenstrom nicht immer ein kontinuierlicher Strom ist. So kann es z.B. sein, dass bei sehr schnellen Bewegungen mehr Daten anfallen als bei langsamen Bewegungen. Und um diesen Ausgleich - wenn Sie so wollen - um das Ausnivellieren des Datenstroms - geht es bei dem VBV. Ziel ist es also, eine möglichst gute Bildqualität zu erzeugen. Prinzipiell kann man sich das so vorstellen, dass der Datenstrom von der CD oder DVD mit einer bestimmten Geschwindigkeit (sagen wir mal X1) ausgelesen wird. Hierbei steht die X1 für die Datenrate, die genau in diesem Moment für die Szene und für dieses Bild von der CD kommt. Da eine Sequenz von Bildern aus I-, P- und B-Frames zusammengesetzt ist, diese jedoch je nach Bildtyp (I, P oder B) unterschiedlich groß sind, müssen diese Bilder in einen harmonischen, gleichmäßigen Datenstrom umgewandelt werden. Wichtig ist in diesem Zusammenhang noch zu wissen, dass ein I-Frame nur sich selber benötigt, um dargestellt zu werden. Ein P-Frame jedoch vorwärts referenziert wird und ein B-Frame vor- und rückwärtige Bildinformationen braucht. Somit kann ein B-Frame erst dann angezeigt werden, wenn der Decoder die Information des nachfolgenden I- oder P-Frames besitzt. Dies setzt voraus, dass die einzelnen Frames umorganisiert werden müssen. Erinnern Sie sich noch an eine klassische GOP-Struktur? Z.B.: IBBPBBPBBPBBP (vergl
Der Decoder müsste beispielsweise mit der Bildberechnung eines B-Frames bis zum Eintreffen des P-Frames warten und wäre dann erst in der Lage, die Bildsequenz "BBP" auszugeben. Durch ein umorganisieren der Frames B B P ergibt sich die Reihenfolge P B B, die dann über den Buffer zwischengespeichert und an den Decoder ausgegeben wird. Somit ist der Decoder in der Lage, die eintreffenden B-Frames zu berechnen und am Schluss den P-Frames für die neuen B-Frames zu behalten. Durch diese Pufferfunktion ist es möglich, dem Decoder die jeweilige Bildinformation "schlagartig" zu geben.
Schauen wir uns im nächsten Schritt einmal die Größe eines solchen Buffers an:
Nach der ISO/IEC 13818-2; Annex C berechnet sich der VBV nach folgender Formel: B = 16 * 1024 * vbv_buffer_size
Damit wissen wir auch, wie groß ein Speichersegment des VBV buffers ist, nämlich 16 Kb. Und nicht - wie es durch viele Newsgroups immer wieder fälschlich geistert - 16 KB (also KByte). Nein, es sind nur 16 Kbit! Teilt man nun die Größe des VBV von 1.835.008 Bit (= 224 KByte) durch 16.384 bit, so kommt man auf die korrespondierende Anzahl von Speicher-Segmenten. Also 112 in unserem Beispiel. Daraus ergibt sich somit für eine SVCD folgende Formel:
Lassen Sie uns nach so viel Theorie einmal die Praxis ansehen. Ein Blick auf die Einstellparameter von AVI2MPG2 zeigt uns, dass dort die Größe Kb angeben ist. Was ist das aber nun? "B" als Ergebnis der obigen Formel oder die Variable "vbv_buffer_size" als Teil der Formel?
112 Kb (wie oben angegeben) sind erst einmal 112 bit * 1024 bit/Kbit = 114.688 bit = 14 KByte. Doch da scheint etwas nicht zu stimmen, wie jeder selbst nachprüfen kann. Nun steht die Information über die Groesse des VBV-Buffers im "sequenz header" eines Streams. Schaut man sich einen beliebigen Stream, der mit der o.a. Einstellung erzeugt wurde, mit geeigneten Werkzeugen (vergl.
TMPGEnc (z.B. die Version Beta 12j) hingegen definiert den VBV als "VBV buffer size" in KByte
und meint damit nicht die Variable vbv_buffer_size der o.a. Formel, sondern vielmehr direkt "B". Kontrollieren können wir das wieder mit den bereits bekannten Werkzeugen. 224 bei TMPGEnc einzustellen ist also etwas anderes, als 224 bei AVI2MPG2 einzustellen! 224 KByte bei TMPGEnc sind also 112 bit bei AVI2MPG2. Bei einer Veränderung der Größe des Buffers sollte aber eine Zahl eingehalten werden, die durch 16 zu teilen ist - siehe oben.
Bei dieser Gelegenheit noch den Hinweis auf andere VBV buffer - Größen: Es gibt ja nun nicht nur bei einer SVCD einen VBV. Auch die DVD oder die VCD kennt den VBV buffer. Lassen Sie es uns also etwas globaler betrachten. Wir nehmen dazu die ITU-T H.262 bzw. die ISO/IEC 13818-2 zu Hilfe. In Tabelle E-22 bis E-25 finden wir die verschiedenen "MPEG-Main profile", auf die wir uns hier einmal beschränken wollen (vergl:
Was sagen uns denn nun solche Zahlen? Was passiert da überhaupt?
Wir wollen uns hier nicht mit den einzelnen Delay-Schritten, wie z.B. startup_delay oder end_to_end_delay beschäftigen - das wird dann doch etwas komplex. Hier sehen Sie aber einmal das typische Auf und Ab in einem solchen Buffer:
Es dauert um so länger, je größer der VBV ist und je langsamer dieser gefüllt wird. Wenn vom Decoder auf Dauer ein größerer Datenstrom verlangt wird als über die CD nachgelesen werden kann (vbv_delay falsch oder zu niedrige Muxrate), so leert sich der Buffer soweit, bis er schlussendlich leer ist. Damit hört der Datenstrom zum Ausgabegerät auf und das Bild friert ein. Erst wenn nun der Buffer wieder gefüllt ist, wird das Bild ausgegeben. Dieser Zustand wird auch als buffer underflow bezeichnet. Umgekehrt ist es möglich, dass in einer Filmsequenz die Daten schneller von der CD geliefert werden, als sie dekodiert werden können (vbv_delay falsch oder zu hohe Muxrate). Oder aber, wenn ein kpl. Bild nicht in den Puffer passt (Encoder hat VBV_size z.B. falsch errechnet). Hier kann es dann zu einem Datenverlust kommen, der sich in springenden Bildern (einzelne Bilder werden einfach herausgelassen) bemerkbar macht. Dies führt dann zum sog. buffer overflow. Auf einigen Playern kann es dadurch zu einem asynchronen Ablauf von Bild und Ton kommen. Hier ist dann die Firmware des jeweiliger Herstellers gefragt. Normalerweise ist dies aber heute kein Problem mehr bei den neueren Playern.
Wenn also der Buffer bis zum Maximum gefüllt ist, werden die einzelnen Frames in der richtigen Reihenfolge freigegeben. Zuerst natürlich das I-Frame. Da das I-Frame in der Regel das Bild ist, welches den meisten Speicher braucht, wird somit schlagartig ein größerer Speicherbereich frei, der wiederum die Möglichkeit gibt, Daten von der CD in den Buffer nachzulesen. Parallel dazu werden Stück für Stück die nach dem I-Frame stehenden Frames (P und B Frames) aus dem Buffer gelesen. Hierdurch ergibt sich ein stetes Auf und Ab der gespeicherten Menge Bilddaten im Buffer. Aus diesem Umstand ergibt sich die Möglichkeit, über einen kurzen Zeitraum einen "schnelleren" Datenstrom auszugeben, als er von der CD (z.B. 75 Sektoren oder 150 Sektoren pro Sekunde ) physikalisch nachgelesen werden kann. Hierdurch erklärt sich das Überschreiten der durch den Player vorgegebenen max. Transfergeschwindigkeit. So ist es je nach Filmsequenz möglich, Filmszenen mit 3000 kbps oder mehr zu generieren, obwohl z.B. bei der SVCD ein max. Datenrate (Video+Audio+Muxingrate+etc.) von nur
Die damit erreichte Überhöhung schafft es in vielen Fällen, ein Verblocken zu verhindern bzw. zu minimieren. Der Zeitpunkt an dem der Buffer ausgelesen wird, ist noch von einem weiteren Faktor abhängig, nämlich der Art des zu DEcodierenden GOPs. Wir erinnern uns, dass es die verschiedenen GOP Größen und Strukturen 1/5/2/1 ( I P B B P B B P etc.) über 1/12/1/1 ( I P B P B P B etc.) bis hin zu 1/14/0/1 ( I P P P P P P etc.) gibt. Die Art mit der nun diese GOPs DEcodiert werden, beeinflusst die Möglichkeit, wie schnell die einzelnen Frames aus dem Buffer wieder ausgelesen werden können. Bei einer Struktur von 1/5/2/1 können die B-Frames erst dann ausgelesen werden, wenn das nachfolgende P oder I Frame im Buffer vorhanden ist, da ja das B-Frame zum DEcodieren ein vor – oder nachfolgendes I oder P Frame als Referenzframe braucht. Das bedeutet, in diesem Fall befinden sich im Buffer relativ viele Bilder, die nicht ausgelesen werden können, da ja das letzte Referenzbild nicht vorhanden ist. Damit vergibt man bis zu einem gewissen Grad die Möglichkeit, den Bildern mehr Datenrate zuzugestehen, da ja alle Frames im Buffer gehalten werden müssen. Durch diesen Umstand lässt sich erkennen, das es durchaus sinnvoll ist, den Buffer möglichst groß zu gestalten und bei einem kleinen Buffer die Zahl der B-Frames im Buffer zu reduzieren. Sie sehen daraus, dass zum einen die Größe des Buffers und zum anderen die Anzahl der B-Frames (also die GOP-Einstellung) bedeutsam sind. Wir nutzen dazu "MpegRepair" von
Denkbar ist auch das Programm
Pixeltools war da etwas hilfsbereiter! Wer Alternativen sucht, wird sicher unter
Nun sind Bundestagsdebatten, zumal es um Haushaltsfragen geht, nicht sehr aufregend. Weder vom Inhalt noch von der Dynamik im Videostream. Im ersten Anlauf habe ich den VBV bewusst mit 48 KByte zu klein gehalten. Das Ergebnis sieht so aus:
Der buffer overflow ist vorprogrammiert, da die einzelnen Bilder nicht kpl. in den VBV passen. Um nun den ganzen Stream nicht erneut kpl. durch den TMPGEnc schicken zu müssen, könnten Sie den VBV mittels TMPGEnc Ver 12 (ab Version 12a ist die Funktion meines Wissens nicht mehr vorhanden) optimieren:
Das Ergebnis sieht dabei so aus:
Ein buffer overflow wird somit vermutlich nicht auftreten! Schaut man sich den so erzeugten Stream jedoch genauer an, so fallen am Anfang des Streams zwei "System Header" auf.
Offensichtlich wird bei der Aktion an den vorhandenen Header einfach ein neuer Header angehängt:
Ob das bei allen Applikationen einwandfrei läuft, darf bezweifelt werden. Vermutlich finden wir deshalb diesen Menüpunkt bei den neueren TMPGEnc-Versionen nicht mehr.
Wir machen das auch wieder mit TMPGEnc:
Das Ergebnis sieht nun so aus:
Auch die Verwendung von AVI2MPEG2 (bbMPEG V1.24 beta 18) hat uns nicht weitergebracht. Auch hier blieb die 48 KByte-VBV-Grenze im "sequenz header" erhalten! Offensichtlich sollte man doch von vornherein die richtige VBV-Buffergröße auswählen.
Nachdem wir im obigen Beispiel das "overflow"-Problem beleuchtet haben, lassen Sie uns noch einmal das "underflow"-Problem beleuchten, wie es z.B. beim "Muxen" auftreten kann. Vielleicht haben Sie schon einmal die nachfolgende Fehlermeldung von bbMPEG gesehen:
Multiplexing file d:\test.mpg
Der Ausgang eines MPEG-Encoders liefert (mind.) zwei Datenströme. Einen Video- und Audio-Bitstrom, die Elementary Streams (ES) genannt werden. Die Aufgabe des Packetizers und des Multiplexers ist es nun, diese beiden Informationsströme und auch weitere Zusatzinformationen zu einem einzigen " Program Stream" (PS) oder in einem sep. Schritt zu einem "Transport Stream" (TS) zusammenzufassen.
Damit Bild und Ton synchron bleiben, werden zusätzlich Maßnahmen zur Takt(re)generierung im Decoder und zur Synchronisierung von Video und Audio (Lippensynchronität) getroffen. Mit PES (Packetised Elementary Stream) werden Video-, Audio- oder auch andere Typen von Datenströmen nach dem "Packetizer" bezeichnet. Zum Zwecke der Übertragung werden solche Video- bzw. Audio-Ströme übrigens in Pakete zerlegt und in diesem Fall (nach dem Packetizer) mit einem PES-Header versehen. Der Aufbau eines solchen Paketes soll uns hier nicht weiter interessieren. Wichtig ist jedoch die Information, dass neben den Bild- und Ton-Daten dort noch verschiedene Header Informationen und sogenannte "Time Stamps" - also Zeitstempel vorhanden sind. Die Notwendigkeit von "Zeitstempeln" (Time Stamps) im Datenstrom ergibt sich daraus, dass ein Videodekoder einen B-Frame vom vorigen I-Frame und den folgenden P-Frames rekonstruieren muss, die Reihenfolge, in der er sie anzeigt, jedoch anders ist. Wir sprachen weiter oben schon über dieses Problem. Nun gibt es zwei Arten von Time Stamps: Zuerst haben wir da einmal den "Decode Time Stamp" (DTS), der anzeigt, wann der Frame zu dekodieren ist, und dann den "Presentation Time Stamp" (PTS), der vorgibt, wann der Frame anzuzeigen ist. Zur einwandfreien Funktion benötigen die Zeitstempel (Time Stamps) noch eine Referenz-Uhr (Referenz Clock), die "System Clock Reference" (SCR). Vereinfacht kann die SCR als die Zeit angesehen werden, die notwendig ist, die Daten z.B. von einer CD zu lesen. Eine fehlerhafte Verwaltung dieser Zeitstempel führt unmittelbar zu Synchronisationsfehlern bei Bild und Ton. Doch schauen wir im Detail:
Brent Beyeler (der Autor von bbMPEG) hat einmal ein schönes Beispiel gebraucht: Wenn die SCR für ein Datenpaket bei den Videodaten 100 ms beträgt, dann ist das die Zeit, die benötigt wird, die Daten von der Festplatte oder der CD zu lesen, nachdem man auf die Taste Play gedrückt hat. Sagen wir mal DTS/PTS sind 200/280ms. Dann sind die Daten nach 200 ms decodiert und 80 ms später werden sie zur Anzeige gebacht. Zwischenzeitlich werden die Daten im Buffer gehalten (siehe oben).
Die "Muxing-Rate" beträgt z.B. 1.000.000 bits/sec. Das bedeutet, dass der Decoder über den VBV 1.000.000 bits/sec aus dem Datenfile auslesen kann. Und die Video-Datenrate beträgt nun z.B. 2.000.000 bits/sec, also dass 2.000.000 bits benötigt werden, um eine Sekunde Film zu zeigen, dann haben wir ein Problem. Denn dann kann das File nicht schnell genug ausgelesen werden, um eine Sekunde Video ohne Unterbrechung auszugeben. Der VBV läuft leer. In diesem Fall zeigen uns die DTS/PTS-Zeitstempel, dass das Video zu einem Zeitpunkt decodiert und angezeigt werden soll, zu dem es noch gar nicht aus dem File ausgelesen wurde. SCR und DTS/PTS passen also nicht mehr zusammen. Es tritt der gefürchtete "underflow"-Error auf.
Sie besteht im Kern aus drei Szenen.
Im ersten Teil der Abgeordnete Gysi, in der Mitte ein schneller Blick ins Parlament mit klatschenden Abgeordneten und dann wieder Herr Gysi. In der Grafik können wir in der Mitte deutlich einen Anstieg der Datenrate erkennen. Da änderte sich das Bild, wurde bedingt durch den Schwenk und die stärkere Bewegung im Bild unruhiger und nur eine höhere Datenrate konnte eine Artefakt-Bildung (Blockbildung) verhindern. Das hat der Encoder aufgrund der Vorgaben vollautomatisch und richtig gemacht. Solange Sie hinsichtlich der
Der "Muxer" hat nun an der Stelle eigentlich drei Möglichkeiten:
Fragen Sie mich bitte nicht, welches Programm welche Strategie verfolgt. Ich habe das nicht weiter untersucht. Vermutlich werden aber die meisten Systeme das Datenraten-Problem einfach ignorieren und der arme Player kann sehen, wie er fertig wird. Dieser kann dann nur noch durch "ruckeln" und Asynchronität von Audio und Video reagieren. Die Newsgroups sind voll von Anfragen nach solchen Problemstellungen. Wenn Sie nun die Datenrate aus irgendwelchen Gründen erhöhen wollen (oder Ihr Encoder nicht sauber arbeitet), müssen Sie auch die Muxrate steigern um "underflow"-Fehler zu vermeiden. bbMPEG (meiner Meinung eines der besten Programme zum Muxen von PS-Streams) z.B. macht folgende normgerechte Vorgabe: 3528 für VCD und 6972 für SVCD.
Was verbirgt sich hinter diesen Zahlen: Bei einer VCD haben wir eine feste Muxrate von 176.400 Byte/s und bei SVCD max. 348.600 Byte/s. 'Maximal' deshalb, weil bei der SVCD ja eine variable Datenrate erlaubt ist. Wenn Sie wissen wollen, wo diese Zahlen herkommen, sei Ihnen mein Tipp zum Thema
Nun werden die Datenraten (Bitrate) aber sehr oft in Einheiten von 50 Bytes angegeben, weil in den entsprechenden Feldern des Headers recht wenig Platz ist. Aus diesem Grund bekommen wir bei der VCD 176.400 Byte/s / 50 = 3528 und bei der SVCD = 6972 heraus. Wer mit diesen Einstellungen z.B. einer SVCD nicht hinkommt, kann ja mal anstelle der 6972 in das Feld der "Forced mux rate" eine "0" eingeben. bbMPEG wird dann die notwendige Muxrate automatisch selbst bestimmen. Doch denken Sie daran, dass Sie damit ggf. den SVCD-Standard verlassen und eine XSVCD herstellen, wenn Sie die zulässige Datenrate überschreiten. Ob die von Ihrem Player abgespielt werden kann, hängt dort von der Geschwindigkeit des eingebauten Laufwerks aber auch von der jeweiligen Firmware ab. Lassen wir nun wieder etwas Praxis folgen: Für die folgenden Schritte nutze ich die Tools von Brent Beyeler, downloadbar über
Der erste Schritt ist das "De-Multiplexen" (demuxen) eines fertigen - mit TMPGEnc - erstellten Files. Mein File heißt übrigens "strip_48.mpg" Wir nehmen dazu bbDMUX und rufen das Programm im DOS-Modus wie folgt auf:
Sie können das Programm auch so aufrufen.
Dann wird die Bildschirmausgabe in die Datei "Inhalt.txt" umgeleitet. Als Ergebnis sehen etwa u.a. folgender Inhalt:
Wir wissen damit, dass sich in unserem MPEG-File ein Video-, ein Audio und ein Padding-Stream befinden und zwar kennen wir auch die jeweilige "ID" dazu. Padding bezeichnet übrigens ungenutzte Füllbytes, um Zellen aufzufüllen oder Datenstrukturen auf bestimmte Vielfache von Bytes auszurichten. Bei einer SVCD muss z.B. eine Bildsequenz (GOP) genau mit einem vollen Sektor starten. Das bedeutet, dass ggf. Füllbytes zwischen die Sequenzen zu schreiben sind, die überhaupt keine Bildinformationen enthalten. Auf den Paddingstream können wir jedoch in diesem Zusammenhang verzichten. Wir interessieren uns ja nur für den reinen Video- und den Audio-Stream. Mit den DOS-Befehlen:
isolieren wir die jeweiligen Dateien zu einem sep. Videofile mit dem Namen "Video.m2v" und einer Audio-Datei als "audio.m2a" (oder besser: "audio.mpa". Dann finden Sie die Datei gleich problemloser wieder). Im nächsten Schritt starten wir AVI2MPG2:
Klicken auf "Start Encoding" ohne ein File geladen zu haben und bekommen danach folgendes Bild:
Nun klicken wir auf Settings und wählen im nächsten Bild die Karteikarte "Input and output files":
Dort laden Sie die einzelnen Segmente und definieren das Ausgangsfile, den "MPEG Program Stream". Unter der Karteikarte "Program Stream Settings" wählen wir als "Program stream type" das SVCD-Format:
Mit einem Klick auf OK kommen wir wieder zur Ausgangsmaske zurück:
Mit einem Klick auf "Start" können Sie nun den Multiplexvorgang starten. Das Ergebnis ist ein normgerecht gemultiplexter SVCD-MPEG-Stream. Dem aufmerksamen Leser wird bei der Betrachtung der Packet-Struktur in Abb. 11 aufgefallen sein, dass TMPGEnc nicht die max. mögliche Muxrate von 348.600 Byte/s ausgenutzt hat. Das Programm hat hier nur 286.500 Byte/s genutzt. Ist ja OK - wenn´s ausreicht.
bbMPEG hingegen nimmt die eingestellten 348.600 Byte/s. Wer also einen optimalen Stream haben möchte, kann so z.B. TMPGEnc (dem ja jedwede Einstellung zu diesem Thema fehlt) und bbMPEG gut kombinieren. Lässt man bbMPEG die Möglichkeit, die Muxrate selbst zu wählen (mit der Einstellung "0" - siehe oben), so beschließt das Programm, 336.350 Byte/s als Muxrate optimal seien (nur in diesem Beispiel). Es ist damit deutlich über dem TMPGEnc (286.500 Byte/s) - aber noch innerhalb der SVCD-Spezifikation. bbMPEG befreit Sie durch das Muxen übrigens auch von dem doppelten Header, wie er in Abb. 7 aufgetaucht ist. Um also den VBV-Eintrag im "sequenz header" zu ändern, können Sie ruhig TMPGEnc beta 12 nehmen - Sie müssen nur zusätzlich noch das File neu "muxen". Sie verändern durch neues Muxen nicht die Bildqualität im eigentlichen Sinne. Die wird ausschließlich durch die Qualität des vorgeschalteten Encoders bestimmt. Das Muxen macht ja nichts anderes als getrennte Dateien in eine Datei mischen. Die jeweiligen Bilder sind also bereits codiert. Sie haben durch nachträgliches Muxen aber evtl. die Möglichkeit, Synchronisationsfehler zwischen Bild und Ton und Ruckler in den Griff zu bekommen. Wenn Ihr Film also hin und wieder ins Stocken gerät, wissen Sie zukünftig an welchen Schrauben Sie u.a. drehen können.
PS: Sollte das nicht helfen, so gibt es noch ein paar andere Möglichkeiten woran das "Ruckeln" liegen kann. "Gandalf_der_Graue" hat die Möglichkeiten im
| ||||||||||||||||||||||||||||||||||||||||||||||||||||