Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
kbenson
Visitor

Re: Text On Screen

"RokuMarkn" wrote:
Just to be clear -- brightscript can PARSE xspf files, since they are just a type of XML. You could parse the xspf yourself and play the files individually (with buffering between each file). But if you want to pass in a playlist and have the video player play all the files in sequence, you need to use m3u8 (HLS).


Theoretically one could parse and convert an XSPF into a m3u8 HLS file, right (or is some essential info missing)?

I remember reading here about there being problems mixing different video files in the m3u8, is that a limitation in the HLS spec or in Roku's implementation? If the latter, is there an ETR? It just seems like ads injected into m3u8 files would really provide the best user experience all around.
-- GandK Labs
Check out Reversi! in the channel store!
0 Kudos
TheEndless
Channel Surfer

Re: Text On Screen

"kbenson" wrote:
"RokuMarkn" wrote:
Just to be clear -- brightscript can PARSE xspf files, since they are just a type of XML. You could parse the xspf yourself and play the files individually (with buffering between each file). But if you want to pass in a playlist and have the video player play all the files in sequence, you need to use m3u8 (HLS).


Theoretically one could parse and convert an XSPF into a m3u8 HLS file, right (or is some essential info missing)?

I remember reading here about there being problems mixing different video files in the m3u8, is that a limitation in the HLS spec or in Roku's implementation? If the latter, is there an ETR? It just seems like ads injected into m3u8 files would really provide the best user experience all around.

If I'm not mistaken, the HLS spec requires that all video segments be of the same length (time, not size), so you couldn't just build an M3U8 with various video clips. It might work, depending on the implementation, but if it's not to spec, you should plan on it not working at some point in the future.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
kbenson
Visitor

Re: Text On Screen

"TheEndless" wrote:
"kbenson" wrote:
"RokuMarkn" wrote:
Just to be clear -- brightscript can PARSE xspf files, since they are just a type of XML. You could parse the xspf yourself and play the files individually (with buffering between each file). But if you want to pass in a playlist and have the video player play all the files in sequence, you need to use m3u8 (HLS).


Theoretically one could parse and convert an XSPF into a m3u8 HLS file, right (or is some essential info missing)?

I remember reading here about there being problems mixing different video files in the m3u8, is that a limitation in the HLS spec or in Roku's implementation? If the latter, is there an ETR? It just seems like ads injected into m3u8 files would really provide the best user experience all around.

If I'm not mistaken, the HLS spec requires that all video segments be of the same length (time, not size), so you couldn't just build an M3U8 with various video clips. It might work, depending on the implementation, but if it's not to spec, you should plan on it not working at some point in the future.


That's right, forgot about that. That's Roku specific though, isn't it? The Pantos draft includes a EXT-X-DISCONTINUITY tag to tell the client that a different file is following, right? I haven't done anything with HLS yet, so my practical experience is nil, I could easily be misinterpreting it's real use...
-- GandK Labs
Check out Reversi! in the channel store!
0 Kudos
TheEndless
Channel Surfer

Re: Text On Screen

"kbenson" wrote:
"TheEndless" wrote:
If I'm not mistaken, the HLS spec requires that all video segments be of the same length (time, not size), so you couldn't just build an M3U8 with various video clips. It might work, depending on the implementation, but if it's not to spec, you should plan on it not working at some point in the future.


That's right, forgot about that. That's Roku specific though, isn't it? The Pantos draft includes a EXT-X-DISCONTINUITY tag to tell the client that a different file is following, right? I haven't done anything with HLS yet, so my practical experience is nil, I could easily be misinterpreting it's real use...

The EXT-X-DISCONTINUITY tag indicates a new clip, but I'm pretty sure it still requires that the length be the same, as that's specified in the EXT-X-TARGETDURATION tag, which I don't think can be changed mid-file. In most of the M3U8 files I've worked with, EXT-X-DISCONTINUITY is usually used for pre-roll, mid-roll, and post-roll video (i.e., commercials), but the segments that make up those ads are still broken into EXT-X-TARGETDURATION segments...

Per the spec:
   The EXT-X-DISCONTINUITY tag indicates that the media file following
it has different characteristics than the one that preceded it. The
set of characteristics that MAY change is:
o file format
o number and type of tracks
o encoding parameters
o encoding sequence
o timestamp sequence

no mention of duration changes...
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
kbenson
Visitor

Re: Text On Screen

"TheEndless" wrote:

The EXT-X-DISCONTINUITY tag indicates a new clip, but I'm pretty sure it still requires that the length be the same, as that's specified in the EXT-X-TARGETDURATION tag, which I don't think can be changed mid-file. In most of the M3U8 files I've worked with, EXT-X-DISCONTINUITY is usually used for pre-roll, mid-roll, and post-roll video (i.e., commercials), but the segments that make up those ads are still broken into EXT-X-TARGETDURATION segments...


Yeah, I guess that would cause a problem.

It would be nice it the Roku could automatically start buffering a new clip in the background when the current clip buffering reaches the end (but the clip is still playing). Maybe Roku can throw that into 2.9, since they obviously aren't busy enough... 😉
-- GandK Labs
Check out Reversi! in the channel store!
0 Kudos
PositivePeak
Visitor

Re: Text On Screen

I set the TextOverLay the way it is up a few posts and the debugger tells me it's not a member function?
0 Kudos
PositivePeak
Visitor

Re: Text On Screen

ahhh....SetTextOverlayIsVisible not SetTextOverlayVisible.... lol....
0 Kudos
uncledog
Visitor

Re: Text On Screen

I was able to get some text to show on screen, but TextOverlayUR puts the text in the upper right of a long skinny translucent rectangle at the bottom of the image. It does not put the text in the upper right of the screen. Can I control the size of that text box and where it is on the screen?
0 Kudos
destruk
Binge Watcher

Re: Text On Screen

not using roSlideshow, no.
0 Kudos
uncledog
Visitor

Re: Text On Screen

So I basically just switched to a timed loop with some roImageCanvas layers of image and text. Seems to work just like the slide show only I have more control over the elements. Is there a way to cache these images?
0 Kudos