I got some information from my colleague. See if it answers your question.

The underlying logic for AS cue points in OSMF can be found in TimelineMetadata in the org.osmf.metadata package.If you take a look at the addMarker method, you'll see this ASDoc comment:

/**

* Adds the specified TimelineMarker to this object.This class

* maintains the TimelineMarkers in time order.If another TimelineMarker

* with the same time value exists within this object, then the existing

* value will be overwritten.

*

* @param marker The marker to add.

*

* @throws ArgumentError If marker is null or specifies an invalid time.

**/

If you need more data for a single cue point, you can add that to the Object parameter when you create the CuePoint.Notice the 4th param in the CuePoint constructor is an Object. This can be anything you want, such as:

I have found the TimelineMarker and Cuepoint packages. However, it seemed they only allow you to create temporary Metadata* which is restricted to the client running OSMF. What I was looking for was something that I can add on the serverside and push through to the clients. Appreciate your help.

In case it is working like the .send() of the netstream class, where would I add the listener?

* I am getting confused with the use of the term Metadata as it seems to mean several things (osmf meta= widget or elemt parameters, metadata for dyn streaming of adobe is the stream information and so on)

I have found the onMetaData and onCuePoint methods in the LightweightVideoElement. However, the documentation says this only works with progressive and simple rtmp streaming (that would indicate no http). Please do tell me if I am confusing things here.

FMS team confirmed that http streaming cuepoint works just like rtmp streaming on server side as well.

For VOD case, you'd use a tool that can inject cuepoints into your content (flv, f4v) before they are packaged into http streaming content.

If the source file has cuepoints, they will automatically get sent with A/V content.

For Live case, you could use server side action script to do a Stream.send() into the live stream. The data message will get recorded into F4F(http streaming) along with the rest of the content. If a data message called "foo" is sent, you'd create a handler on client "foo" that would get dispatched when the data message arrives. Please refer to the AS docs for NetStream.

The following client-side code broadcasts the message "Hello world" to the foo handler function on each client that is connected to myApp:

Look at onMetadataAdd, onCuePoint as to how OSMF handles differen types cuePoints.

For Live content,

Server side needs a server side script handling to inject your cuepoint into live content. I've examplified a sample you can start off. (See below)

Basically you'd use netStream.send to your callback function to inject a cuePoint message.

Note though if you are using OSMF based player to handle this in live content, you may want to send the cuePoint data as an object that complies with 'CuePoint" class (base class for CuePoint feature in OSMF). If you are using your own player, you could send any type of data you'd fit into your player.

// main.asc file// server-side actionscript

var nc; var ns;

application.onAppStart = function() { application.timer_int=0;

}

// Called when a client connects application.onConnect = function(client) {

On Client side, OSMF has implemented onCuePoint funtion in LightWeightVideoElement already, you could just use "onCuePoint" when you send cuePoint data using the callback function. (see above server side script, stream.send()).

Please refer to Ln 588 in LightWeightVideoElement for details if you are using your own player.

CuePointSample should work with live content as well with minor modification.

I know this thread is quite old, but I'm looking for exactly this feature and I haven't found anything more current.

Actually, I use NetStream.send to attach cuepoints for RTMP live streamings. But now, I want use this tehcnique for HTTP Dynamic streaming, specifically, for make a slides sync player for HTML5 iOS compatible.

FMS staff confirm that is possible to use NetStream.send to inject cuepoints to HTTP Dynamic streaming, But, here is my question, Is it possible to extract the messages with HTML5?

Carles, I am researching the same subject. As far as I can discern from hours of searching, there is no way to read id3 tags from an HTTP stream in the browser. You will have to use native code in iOS. If I am wrong, someone please reply with a correction.