I'm having some trouble getting ID3 tags out of a stream. In my particular case, I'm using the ID3 tags as a beacon for ad events, so I'm putting ad information in the tags. When I look at my stream in a web player that has an onMetadata event, I get metadata that looks like this:
I still haven't gotten anywhere on this. My conclusion, for the moment, is that there are several versions of ID3 tags, all with different formats, and that Roku does not support the data structure that I am sending to it. If anyone has any other thoughts on this, I would be very interested in hearing them.
"rbenditt" wrote: I still haven't gotten anywhere on this. My conclusion, for the moment, is that there are several versions of ID3 tags, all with different formats, and that Roku does not support the data structure that I am sending to it. If anyone has any other thoughts on this, I would be very interested in hearing them.
If you can provide an example stream, and/or information about how the stream was authored, I can file a ticket for it to be investigated.
I can provide some additional information. I'm implementing a method that Wowza and JWPlayer have been jointly teaching on their webinars. The idea is that after installing a Java plugin into Wowza, you can send http post messages to Wowza whenever you want an ad to be inserted. Wowza then receives this post message and injects an ID3 tag into the stream to act as an ad-break marker. As a partner, JWPlayer has been working with Wowza to implement a web-based player solution where their player detects the ID3 tag and sends a mid-roll ad.
I've pretty much accomplished this using Roku as the player instead of JWPlayer. The only thing is that the ID3 tag gets a bit messed up as mentioned previously. The original implementation sends an ad url way back in the original http post that makes its way into the final ID3 tag in the stream. In my case, I finally decided that I really don't want to transmit an ad URL after all, but it would be nice to at least communicate the ad length to be played. In any event, it looks difficult to retrieve data that is passed in the ID3 tag in this manner from within Roku.
At this point I can inject ID3 tags, they can be detected by my Brightscript code in Roku, and I can use that to trigger a mid-roll ad. Pretty sweet! The only piece that is missing is that I can't seem to get data to pass through that I can use to determine how long the ad should be. It would be super awesome to be able to schedule ads of differing lengths. To accomplish this, all that would be needed is a way to read that data coming from the ID3 tag.
I do have a stream running currently that has these ID3 tags in it, but it is not released to the public yet. I could supply a link to it off-forum if it helps.