Die Flexperten Herrlich & Ramuschkat

Archive for April, 2009

Adobe’s Real-Time Media Flow Protocol

Seit dem Adobe Flash Player 10 ist das RTMFP-Protokoll im Flash Player integriert. Mittels dieses Protokolls lassen sich Peer-to-Peer Verbindungen für das Streaming aufbauen. Ein sehr ausführlicher Artikel wurde dazu jsut von Brian Lesser veröffentlicht:

http://broadcast.oreilly.com/2009/04/adobes-real-time-media-flow-pr.html

H.264 for the rest of us

Auf dem Adobe Developernet ist just ein Artikel über den H.264 Video Codec erschienen, in dem eigentlich so alles wissenswerte behandelt wird.

Mehr dazu hier:

http://www.adobe.com/devnet/flashmediaserver/articles/h264_primer/h264_primer.pdf

Serverseitiges recorden von Live-Streams des Flash Media Live Encoders (2)

Aufgrund der Neuerungen des Flash Media Servers Interactive Edition 3.5 hier der aktualisierte Artikel:

Wenn man den Flash Media Live Encoder 3.0 einsetzt um Livestreams direkt auf den Flash Media Server 3.5 Interactive Edition zu publishen, kann man innerhalb des Flash Media Live Encoders lediglich definieren, dass der Stream clientseitig aufgezeichnet werden soll. Ein serverseitiges aufzeichnen ist so erstmal nicht möglich.

Durch das folgende serverseitige ActionScript kann man ein serverseitiges recorden von Flash Media Live Encoder 3.0 Livestreams erzwingen, dieses funktioniert aber nur mit dem Flash Media Server 3.5 Interactive Edition.


// Enable FME Recording on FMS in 3 steps
Client.prototype.FCPublish = function(streamName) {
// streamName is the name of the stream entered in FME
// 1) Get the stream
s = Stream.get(streamName);
// 2) Record it
s.record();
// 3) tell FME that everything works fine
this.call("onFCPublish", null, {code: "NetStream.Publish.Start", description: streamName});
}

Wichtig ist jetzt vor allem die korrekte Definition des Streamnamens im Flash Media Live Encoder:

Streams encodiert mit On2: TestStream –> gespeichert wird TestStream.flv
Streams encodiert mit H.264: mp4:TestStream.f4v –> gespeichert wird TestStream.f4v

Prima ist, das das ganze auch funktioniert, wenn man mit dem Flash Media Live Encoder 3.0 gleich bis zu 3 in der Bandbreite unterschiedliche Streams erzeugt. Dafür muss man allerdings den Streamnamen mit entsprechend %-Parametern versehen.

Beispiel für 3 Streams encodiert mit H.264:

mp4:TestStream_%v_%f.f4v –> gespeichert werden TestStream_650_320x240.f4v,TestStream_350_320x240.f4v, TestStream_50_320x240.f4v�