Verbesserungen der Netzwerkinteraktion

In Flash Player 10.1 und AIR 2.5 wird eine neue Funktionsgruppe für die Netzwerkoptimierung auf allen Plattformen eingeführt, darunter Ringpufferung und intelligenter Suchlauf.

Ringpufferung

Beim Laden von Medieninhalten auf Mobilgeräten können Probleme auftreten, die bei Desktopcomputern sehr unwahrscheinlich sind. Beispielsweise können auf Mobilgeräten eher Situationen auftreten, in denen Arbeitsspeicher oder Festplattenkapazität nicht ausreichen. Beim Laden von Video wird die gesamte FLV-Datei (oder MP4-Datei) von den Desktopversionen von Flash Player 10.1 und AIR 2.5 auf die Festplatte heruntergeladen und im Cache zwischengespeichert. Dann wird das Video von dieser Cachedatei aus abgespielt. Es ist eher unwahrscheinlich, dass die Festplattenkapazität dazu nicht ausreicht, Sollte diese Situation eintreten, beendet die Desktop-Laufzeitumgebung die Wiedergabe des Videos.

Bei einem Mobilgerät kommt es eher zu Situationen, in denen die Festplattenkapazität erschöpft ist. Wenn auf dem Mobilgerät keine Festplattenkapazität mehr verfügbar ist, wird die Wiedergabe von der Laufzeitumgebung nicht angehalten, wie dies bei der Desktop-Laufzeitumgebung der Fall ist. Stattdessen beginnt die Laufzeitumgebung, die Cachedatei wiederzuverwenden, indem ab Anfang der Datei erneut in die Datei geschrieben wird. Der Benutzer kann das Video weiterhin ansehen, er kann jedoch nicht in dem Bereich des Videos suchen, der neu geschrieben wurde, mit Ausnahme des Dateianfangs. Die Ringpufferung wird nicht standardmäßig gestartet. Sie kann während der Wiedergabe und am Anfang der Wiedergabe gestartet werden, wenn die Festplattenkapazität oder der Arbeitsspeicher für den Film nicht ausreicht. Die Laufzeitumgebung benötigt für die Ringpufferung mindestens 4 MB RAM oder 20 MB Festplattenkapazität.

Hinweis: Wenn auf dem Gerät nicht genügend Festplattenspeicher verfügbar ist, verhält sich die Mobilversion der Laufzeitumgebung wie die Desktopversion. Der Puffer im Arbeitsspeicher dient als Ausweichlösung, wenn ein Gerät keinen Festplattenspeicher hat oder wenn der Festplattenspeicher erschöpft ist. Bei der Kompilierung kann für die Cachedatei und den RAM-Puffer eine Größenbeschränkung festgelegt werden. Die Struktur einiger MP4-Dateien sieht vor, dass die ganze Datei heruntergeladen werden muss, bevor die Wiedergabe beginnen kann. Die Laufzeitumgebung erkennt diese Dateien und verhindert den Download, wenn nicht ausreichend Festplattenspeicher vorhanden ist und die MP4-Datei deshalb nicht abgespielt werden kann. Am besten ist es möglicherweise, solche Dateien überhaupt nicht herunterzuladen.

Entwickler müssen berücksichtigen, dass das Suchen nur innerhalb des im Cache zwischengespeicherten Streams funktioniert. NetStream.seek() schlägt manchmal fehl, wenn der Offset sich außerhalb des zulässigen Bereichs befindet. In diesem Fall wird ein NetStream.Seek.InvalidTime -Ereignis ausgelöst.

Intelligenter Suchlauf

Hinweis: Für den intelligenten Suchlauf ist Adobe® Flash® Media Server 3.5.3 erforderlich.

In Flash Player 10.1 und AIR 2.5 wird ein neues Verhalten eingeführt: intelligenter Suchlauf, wodurch das Benutzererlebnis beim Abspielen von Streaming-Video verbessert wird. Wenn der Benutzer einen Suchlauf zu einem Ziel innerhalb der Puffergrenzen ausführt, kann die Laufzeitumgebung den Puffer wiederverwenden, um einen sofortigen Suchlauf zu ermöglichen. In früheren Versionen der Laufzeitumgebung wurde der Puffer nicht wiederverwendet. Angenommen, der Benutzer spielte ein Video von einem Streaming-Server ab und die Pufferzeit war auf 20 Sekunden ( NetStream.bufferTime ) eingestellt. Wenn der Benutzer nun versuchte, 10 Sekunden vorwärts zu suchen, entfernte die Laufzeitumgebung alle Daten aus dem Puffer, anstatt die bereits geladenen 10 Sekunden erneut zu verwenden. Dieses Verhalten zwang die Laufzeitumgebung, viel häufiger neue Daten vom Server anzufordern, was bei langsameren Verbindungen zu einer mangelhaften Abspielleistung führte.

Die folgende Abbildung veranschaulicht das Verhalten des Puffers in früheren Versionen der Laufzeitumgebung. Die bufferTime -Eigenschaft definiert in Sekunden, wie viel Daten im Voraus geladen werden, damit der Puffer bei einem Verbindungsausfall verwendet werden kann und das Video nicht angehalten werden muss:

Pufferverhalten vor Einführung des intelligenten Suchlaufs

Mit der intelligenten Suchlauffunktion kann die Laufzeitumgebung jetzt den Puffer verwenden, um einen sofortigen Suchlauf vor oder zurück zu ermöglichen, wenn der Benutzer den Abspielkopf bewegt. Die folgende Abbildung veranschaulicht das neue Verhalten:

Vorwärts-Suchlauf mit der intelligenten Suchlauffunktion

Zurück-Suchlauf mit der intelligenten Suchlauffunktion

Beim intelligenten Suchlauf wird der Puffer wieder verwendet, wenn der Benutzer in Vorwärts- oder Rückwärtsrichtung sucht, was sich positiv auf die Geschwindigkeit und Qualität der Wiedergabe auswirkt. Dieses neue Verhalten bietet unter anderem den Vorteil, dass beim Veröffentlichen von Video Bandbreite eingespart wird. Wenn der Suchlauf die Puffergrenzen verlässt, zeigt die Laufzeitumgebung jedoch das Standardverhalten und fordert neue Daten vom Server an.

Hinweis: Dieses Verhalten gilt nicht für den progressiven Download von Videos.

Um den intelligenten Suchlauf zu verwenden, stellen Sie NetStream.inBufferSeek auf true ein.