Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info

Die Einfachheit der API und des Konzeptes führt zu den folgenden Features:

  • Es lässt sich jeder beliebige Streaming-Content messen, der in der Lage ist, die aktuelle Position in Sekunden auf dem Stream zu liefern.
  • Die API lässt sich sehr leicht auf andere Programmiersprachen portieren.
  • Es wird technologieübergreifend das gleiche Verfahren verwendet, wodurch gleicher Streaming-Content auch auf unterschiedlichen Frameworks bzw. Technologien vergleichbar wird.

...

Code Block
borderColorgrey
bgColor#eeeeee
langjavascript
borderStylesolid
// 1. InstantiereInstantiiere das API-Objekt
var sensors:SpringStreams = new SpringStreams("angebotsname");

// 2. Ein Description-Objekt für den Streaming-Content anlegen.
var desc:Object = {
   "stream":"videos/mystream",
   "duration":600, // in Sekunden
   "sx":video.width,
   "sy":video.height
};

// 3. Das Content-Objekt zur Verfügung stellen
var content:Object = ...; // Irgendein Objekt, dass in der Lage ist die aktuelle Position in Sekunden zu liefern

// 4. Den Content mit dem Description-Objekt auf dem Sensor registieren.
var stream:Stream = sensors.track(content, desc);

...

  • Im Description-Objekt muss mindestens der Name des Streams angegeben werden.
    Code Block
    borderColorgrey
    bgColor#eeeeee
    langjavascript
    borderStylesolid
    	
    var desc:Object = {
       "stream":"videos/mystream",
       "duration":600 // in Sekunden
    };
    
  • Mit dem Description-Objekt übergibt man der API nähere Informationen zum Streaming-Content. Hierbei sind folgende Variablen erlaubt bzw. werden vom Messsystem verstanden.

    Variable

    Optional

    Beschreibung

    stream

    Nein

    Der Names des Streams, der optimalerweise als Hierarchie übergeben wird. z.B. path/to/stream/name

    duration

    Nein

    Die Duration muss angegeben werden. Im Falle von Livestreams kann sie weggelassen werden oder wird mit dem Wert 0 geliefert

    ct

    Ja

    Hier kann ein beliebiger Wert verwendet werden, der ein Aussage über den ContentType macht. Beispielweise könnte der Wert ad angegeben werden, um den Stream als Werbung zu markieren.

    sx

    Ja

    Die Breite (width) des Streams - sofern es sich um ein Film handelt. Im Falle eines Radiostreams, können die Variablen weggelassen werden oder werden mit dem Wert 0 geliefert.

    sy

    Ja

    Die Höhe (height) des Streams - sofern es sich um ein Film handelt. Im Falle eines Radiostreams, können die Variablen weggelassen werden oder werden mit dem Wert 0 geliefert.

    desc

    Ja

    Hier kann eine Beschreibung des Streams hinterlegt werden.

zu 3: as Das Content-Objekt zur Verfügung stellen

...

Nachdem der Streaming-Content der track-Methode mit dem zugehörigen Description-Objekt übergeben worden ist, wird intern alle 200ms die aktuelle Position auf dem Streaming-Content abgefragt. Intern werden alle Intervalle gesammelt, die vom User auf dem Stream betrachtet worden sind. Bei konstanter Sichtung ist dies ein Intervall. Sobald festgestellt wird, dass sich die aktuelle Position um mehr als 1 Sekunde um die zu erwarteten Position verändert, kann von einem Start-, Stop- oder Spulereignisse Spulereignis oder auch einem Buffering ausgegangen werden. In diesem Fall wird ein neues Sichtungsintervall angelegt.

Info

Ein Intervall ist definiert als:

Code Block
borderColorgrey
bgColor#eeeeee
langjavascript
borderStylesolid
[start, end, timestamp]

start

:

Die Startsekunde auf dem Stream

.

end

:

Die Endsekunde auf dem Stream

.

timestamp

:

Der clientseitige Zeitpunkt beim Erstellen des Intervalls

.

Alle gesammelten Nutzungsinformationen der gemessenen Streams werden in einem HTTP-Request codiert und regelmäßig dem Messsystem übermittelt. Hierbei gelten folgende Regeln:

...