Versions Compared

Key

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

...

  • (warning) Der korrekte Angebotsname muß angegeben werden. Dieser Angebotsname wird vom Betreiber der Streaming-Lösung vergeben.
    Code Block
    borderColorgrey
    bgColor#eeeeee
    langjavascript
    borderStylesolid
    var sensors:SpringStreams = new SpringStreams("angebotsname");
    
  • Eine Instanz des Objektes SpringStreams ist im Framework nur einmalig anzulegen. Ab da können ein oder mehrere Streams der track-Methode zur Messung übergeben werden.

...

  • Im nächsten Schritt der Streaming-Content und das Description-Objekt der API-Methode track übergeben werden. Ab diesem Zeitpunkt wird die aktuelle Position auf dem Stream getracked. An dieser Stelle ist es möglich mehrere Streams parallel zu messen, in dem jeder zusätzlich Streaming-Content mit dem zugehörigen Description-Objekt ebenfalls der track-Methode übergeben wird.
    Code Block
    borderColorgrey
    bgColor#eeeeee
    langjavascript
    borderStylesolid
    var stream:Stream = sensors.track(content, desc);
    
  • Die Messung einzelner Streams kann jederzeit durch den Aufruf der Methode Stream.stop() abgebrochen werden.

Interne Funktionsbeschreibung der API

...

Code Block
borderColorgrey
bgColor#eeeeee
langjavascript
borderStylesolid
var myAdapter = {

	"getMeta" : function(id) {
		return {
			"pl" :"own player",
			"plv" :"version1",
			"sx" : screen.width,
			"sy" : screen.height
		}
	},
	"getDuration" : function(id) {
		return 0;
	},
	"getPosition" : function(id) {
		return new Date().getTime() / 1000;
	}
};

1. Die Funktion getMeta wird verwendet um eine Beschreibung des Players und des verfügbaren Bildschirms zu beziehen. Bei Aufruf dieser Funktion wird als Rückgabe ein Objekt mit den folgenden Attributen erwartet:

pl

eine kurze Beschreibung des Players

plv

die Version des Players

sx

die Breite des Bildschirms in Pixel

sy

die Höhe des Bildschirms in Pixel

2. Die Funktion getDuration wird verwendet um die Gesamtlänge des Streams zu ermitteln, sie liefert die Gesamtdauer des Streams in Sekunden. Sollte die Dauer des Streams nicht zu ermitteln sein, so sollte diese Funktion 0 liefern.

3. Die Funktion getPosition wird verwendet, um die aktuelle Position im Stream zu ermitteln. Sie liefert die aktuelle Abspielposition in Sekunden. Diese Funktion dient zur Ermittlung der jeweiligen Abspiel-, Stop- und Spulintervalle.

...

Die Ausführung der Messung kann überwacht werden, indem die Methode debug auf dem SpringStreams-Objekt belegt wird:

Code Block
borderColorgrey
bgColor#eeeeee
langjavascript
borderStylesolid
sensors.debug = function(v) {
        window.status = " " + v;
}

Bei jeder Übermittlung des Sensors an die Zählsysteme wird diese Methode mit dem aufgerufenen URL als Parameter (String) aufgerufen.

SpringStreams verwendet keine Eingriffe in das Event-Model des umgebenden Dokuments, daher ist es notwendig das Verlassen oder Beenden der Wiedergabe des Streams durch Ereignisse ausserhalb des Players an die Sensoren zu übermitteln. Die einfachste Variante ist das Einfügen einer unload-Funktion mit Aufruf der Methode sensors.unload() beim Verlassen der Webseite:

...

Die springStreams-Funktionen stehen über die Klasse SpringStreams zur Verfügung. Bei der Erzeugung eines Objektes dieser Klasse wird die Websitekennung übergeben:

...

Es ist möglich, mehrere zusätzliche Attribute zu der Beschreibung hinzuzufügen. Erwartet wird mindestens die Angabe von stream mit dem Namen/der Hierarchie des Streams.

...

Die springStreams-Funktionen stehen über die Klasse SpringStreams zur Verfügung. Bei der Erzeugung eines Objektes dieser Klasse wird die Websitekennung übergeben:

...

Anfragen an das Messsystem werden über die ActionScript-Funktion trace in der Debug-Umgebung protokolliert.

...

Wobei FlexProject die ID des Flash-Objektes ist. Sollte bereits ein unload-Mechanismus in der Flash-Applikation vorhanden sein, so kann dieser die statische Funktion SpringStreams.unload() aufrufen.

Einsatz als Embedded Player und Security Einstellungen

...

Beim Fehlen dieser Einstellungen tritt in der API ein Securityfehler auf, weil der Versuch die SPRING_UNLOAD()-Funktion in der Webseite zu registrieren fehlschlägt. Dieser Fehler wird in der API behandelt und ignoriert und ist nicht zwingend erforderlich für das korrekte Funktionieren der Messung.
Des Weiteren ist für das korrekte Funktionieren auch der Eintrag des Attributes onunload="..." im body-Tag notwendig, um das Verlassen der Seite der API zu melden. Beim Fehlen dieser Einstellungen ist es möglich, dass am Ende der Messung das letzte Event nicht mehr an das Messsystem übermittel wird.

...

Wie im letzten Kapitel beschrieben, benötigt die Bibliothek ein flash.net.NetStream-Objekt, um einen Streaming-Content zu messen. Im Inneren der Messung wird die aktuelle Position auf diesem Streamobjekt ausgelesen.

...

Code Block
borderColorgrey
bgColor#eeeeee
langjavascript
borderStylesolid
 var nsClient:Object = {};
 nsClient.onMetaData = ...
 nsClient.onCuePoint = ...  

 nc = new NetConnection();
 nc.connect(null);

 ns = new NetStream(nc);
 ns.play(streamlocation);
 ns.client = nsClient;

 video = new Video();
 video.attachNetStream(ns);
 
 addChild(video);
                
// 20:00 - 20:15 Tagesschau
// 20:15 - 21:00 PlusMinus
var tracker:SpringStreams = new SpringStreams("test");
// 20:00
var stream:Stream = tracker.track(ns,     {"stream":"livestreams/ard/Tagesschau","sx":video.width,"sy":video.height});

// 20:15
stream.stop();
stream = tracker.track(ns,{"stream":"livestreams/ard/PlusMinus","sx":video.width,"sy":video.height});

...