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: 
coltonoscopy
Visitor

No Caption Tracks Available 5.3

Hey all!

Recently, we've noticed that our Roku channel's caption tracks are no longer showing up when we hit the * menu. At first, I read the following and thought that it was because we were using SRTs, which sounded like they had been superseded past 3.1:

http://sdkdocs.roku.com/plugins/viewsou ... Id=3114451

Therefore, we converted one of our SRTs to TTML and updated the feed to test, but the caption track for that video isn't being detected either. I also made sure to set Closed Captions to "On" instead of "Off" or "Instant Replay". Here is a sample of what our XML looks like:


<item sdImg="http://cdn.cs50.net/2013/fall/shorts/hash_tables/hash_tables.png" hdImg="http://cdn.cs50.net/2013/fall/shorts/hash_tables/hash_tables.png">
<title>Hash Tables</title>
<contentId>http://cdn.cs50.net/2013/fall/shorts/hash_tables/hash_tables-720p.mp4</contentId>
<subtitleUrl>http://cdn.cs50.net/2013/fall/shorts/hash_tables/lang/en/hash_tables.ttml</subtitleUrl>
<contentType>Talk</contentType>
<contentQuality>HD</contentQuality>
<media>
<streamFormat>mp4</streamFormat>
<streamQuality>HD</streamQuality>
<streamUrl>http://cdn.cs50.net/2013/fall/shorts/hash_tables/hash_tables-720p.mp4</streamUrl>
</media>
<media>
<streamFormat>mp4</streamFormat>
<streamQuality>SD</streamQuality>
<streamUrl>http://cdn.cs50.net/2013/fall/shorts/hash_tables/hash_tables-360p.mp4</streamUrl>
</media>
<synopsis></synopsis>
<runtime>461</runtime>
</item>


We're confused as to where we should venture next, as subtitles have worked in the past! We appreciate your help very much.

Colton
0 Kudos
5 REPLIES 5
RokuJoel
Binge Watcher

Re: No Caption Tracks Available 5.3

On firmware newer than 3.1 are you setting videoScreen.ShowSubtitle(true)?

Details on how our captions *should* be working on 5.3 and higher firmware are here:
http://sdkdocs.roku.com/display/sdkdoc/ ... on+Support

There were definitely some caption related bugs in 5.3, hopefully they will all be resolved in the final release of 5.4.

Also, for roVideoPlayer, we have a new roCaptionRenderer component:
http://sdkdocs.roku.com/display/sdkdoc/ ... onRenderer

Also, not for 3.1, so make sure you check firmware version before calling any of these methods.

- Joel
0 Kudos
coltonoscopy
Visitor

Re: No Caption Tracks Available 5.3

Hey RokuJoel,

Thanks for the reply! I tried setting video.ShowSubtitle(true), but that didn't work; however, I noticed your last point about the roCaptionRenderer(). Does this mean that I will be unable to render subtitles without including that component in the source code? i.e., Here's what my videoScreen code currently looks like:


Function showVideoScreen(episode As Object)

if type(episode) <> "roAssociativeArray" then
print "invalid data passed to showVideoScreen"
return -1
endif

port = CreateObject("roMessagePort")
screen = CreateObject("roVideoScreen")
screen.SetMessagePort(port)

screen.SetPositionNotificationPeriod(30)
screen.SetContent(episode)
screen.ShowSubtitle(true)
screen.Show()

'Uncomment his line to dump the contents of the episode to be played
'PrintAA(episode)

while true
msg = wait(0, port)

if type(msg) = "roVideoScreenEvent" then
print "showHomeScreen | msg = "; msg.getMessage() " | index = "; msg.GetIndex()
if msg.isfullresult()
print "Video Completed Playback Normally"
RegDelete(episode.ContentId)
print "deleted bookmark for playback position"
else if msg.isScreenClosed()
print "Screen closed"
exit while
elseif msg.isRequestFailed()
print "Video request failure: "; msg.GetIndex(); " " msg.GetData()
elseif msg.isStatusMessage()
print "Video status: "; msg.GetIndex(); " " msg.GetData()
elseif msg.isButtonPressed()
print "Button pressed: "; msg.GetIndex(); " " msg.GetData()
elseif msg.isPlaybackPosition() then
nowpos = msg.GetIndex()
RegWrite(episode.ContentId, nowpos.toStr())
else
print "Unexpected event type: "; msg.GetType()
end if
else
print "Unexpected message class: "; type(msg)
end if
end while

End Function
0 Kudos
RokuJoel
Binge Watcher

Re: No Caption Tracks Available 5.3

roCaptionRenderer is for use with roScreen and roVideoPlayer, for roVideoScreen, you shouldn't need to use that. I believe what you are seeing is a bug in 5.3, as I said should be resolved soon when 5.4 is released. There is a patch we can distribute to your users in the mean time if they are complaining, you need to email us a list of users serial numbers (from Settings, About) and we can allocate the patch to those devices.

- Joel
0 Kudos
coltonoscopy
Visitor

Re: No Caption Tracks Available 5.3

Hey Joel,

Okay, I see... thank you very much for your information! I will wait until Version 5.4 comes out and test to see if things are working properly by then.

Best,
Colton
0 Kudos
adrianc1982
Visitor

Re: No Caption Tracks Available 5.3

"RokuJoel" wrote:
roCaptionRenderer is for use with roScreen and roVideoPlayer, for roVideoScreen


i cant get my events to show up with image canvas could you help?

	
port = CreateObject("roMessagePort")
canvas = CreateObject("roImageCanvas")

canvas.SetMessagePort(port)
canvas.SetLayer(0, { color: "#00000000", CompositionMode: "Source" })
canvas.SetRequireAllImagesToDraw(true)
canvas.SetLayer(1, canvasItems)
canvas.SetLayer(2, canvasItems2)

captions = m.player.GetCaptionRenderer()
captions.SetScreen(canvas)
captions.SetMode(1)
captions.SetMessagePort(port)
captions.ShowSubtitle(true)



nothing shows up on if type(msg) = "roCaptionRendererEvent"

only videoplayer events and imagecanvas events, any ideas?
0 Kudos