Forum Discussion

retrotom's avatar
retrotom
Visitor
15 years ago

Enhanced subtitle support?

Some quick questions about subtitle support:

Will there be any improvements to the SRT subtitle implementation in a future version of firmware? Specifically, I'm wondering about subtitle sizing and layout. Though roFontMetrics can give you the size of displayed text -- the current implementation makes no attempt to resize or line break SRT subtitles. So what happens (in my experience) is that if the line is too long for whatever size font is being used -- you can't read everything. This is a usability issue -- one would have to write software to "fix" srt files for the Roku before they could be used.

Will there be more control over subtitle font (coloring, size, etc.)?

Are there any plans to support more subtitle formats (ASS, SSA, etc.)?

Thanks,
RT

8 Replies

  • I guess there are no immediate answers for any of my questions. Well, what we've decided to do is roll our own subtitle support. It gives us more control over subtitle presentation (font style, color, size, layout, etc.) and more control over supported subtitle formats.
  • Are you using (or planning to use) the video overlay features new in 2.7? Seems like that could be used to good effect, if responsive enough (I haven't played with it yet).
  • "kbenson" wrote:
    Are you using (or planning to use) the video overlay features new in 2.7? Seems like that could be used to good effect, if responsive enough (I haven't played with it yet).

    What new video overlay features? I don't see anything new in the documentation...?
  • "TheEndless" wrote:
    "kbenson" wrote:
    Are you using (or planning to use) the video overlay features new in 2.7? Seems like that could be used to good effect, if responsive enough (I haven't played with it yet).

    What new video overlay features? I don't see anything new in the documentation...?


    Eh, I think I was misreading the release notes. I saw the stuff talking about overlays for the info button for roMessageDialog and assumed they were talking about overlays on video.

    The component reference specifically mentions video overlays on the roVideoPlayer component using roImageCanvas though (pg.111), so I assume that's the way to go.
  • Yeah...we're using ImageCanvas and VideoPlayer. We setup a message port with a timeout of 100ms and also use the position event on VideoPlayer to "re-sync" every second. So far -- it works flawlessly :D. I've noticed two things about VideoPlayer that make it useful (to me). One, it doesn't appear to have a minimum bandwidth requirement like VideoScreen. In fact, when I turn on bandwidth debugging -- the screen never pops up when using VideoPlayer (that could be a good or bad thing for some people). So I've never had it crap out with a "not http crap" error before. Two, it's like a negative z-index layer -- so I can draw whatever I want on top of it. You can make some really nice UIs because of that. Because of our limited artistic talent (and time), I doubt that we'll be able to fully exploit that though. In brief testing, it looks like you could (in theory) have translucent images on top of the playing video. I haven't tested that yet -- but even without it you can do some pretty cool things.
  • "retrotom" wrote:
    Yeah...we're using ImageCanvas and VideoPlayer. We setup a message port with a timeout of 100ms and also use the position event on VideoPlayer to "re-sync" every second. So far -- it works flawlessly :D. I've noticed two things about VideoPlayer that make it useful (to me). One, it doesn't appear to have a minimum bandwidth requirement like VideoScreen. In fact, when I turn on bandwidth debugging -- the screen never pops up when using VideoPlayer (that could be a good or bad thing for some people). So I've never had it crap out with a "not http crap" error before. Two, it's like a negative z-index layer -- so I can draw whatever I want on top of it. You can make some really nice UIs because of that. Because of our limited artistic talent (and time), I doubt that we'll be able to fully exploit that though. In brief testing, it looks like you could (in theory) have translucent images on top of the playing video. I haven't tested that yet -- but even without it you can do some pretty cool things.

    It does allow for transparency on the overlayed graphics.
  • And now that I think of it, the documentation around using roVideoPlayer probably needs to be updated. It took me like an hour to figure out that it is displayed "under" everything. The only way you figure out that you need "transparent" ImageCanvas layers is by actually looking at the sample code. And even then, I missed it like two or three times -- I kept seeing "#00000000" as "#000000". What you end up experiencing if you don't create transparent layers is audio with no video.
  • I posted a long time ago about how it would be wonderful if there was a wiki for the SDK manuals. That way Roku could leverage the developers for extra documentation by using some sort of moderation system for wiki changes. If done right, it might be possible to do direct conversions from the wiki to make the PDF releases.

    Theoretically, a few (or all) developers could get access to preview releases for the next version of the SDK manuals and proof-read and comment.

    I still think it's a good idea, but I understand that Roku's probably focusing more on getting features completed than adding polish to the developer docs process.

    If Roku doesn't have objections about making the BrightScript reference manual and component reference manuals available publicly, maybe I'll put something together myself... Any comments from Roku?