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: 
destruk
Binge Watcher

Is this a bug or by design? -- bif file rovideoscreen

If I have a video that is 2 hours long, and a bif file set to 10 second intervals for the first 3 minutes of the video, I am unable to fast forward past the end of the bif file.
If the bif file is undefined it knows the video is 2 hours long and allows seeking through anywhere I want, but if the bif file runs out of data it no longer allows that.
0 Kudos
3 REPLIES 3
EnTerr
Roku Guru

Re: Is this a bug or by design? -- bif file rovideoscreen

You mean that if you provide only a partial BIF, trick-ing is limited by the last image/timestamp in said BIF?

While i don't see your case discussed in the docs (it was probably not imagined), the behavior you describe seems to stem from this (with minimal edit and re-format):
"Developer Guide" wrote:


3.3 Trick Mode Support
Two types of trick mode support (FF/REW/SEEK) are provided:
  1. For developers who generate and publish image archives in Roku's BIF (Base Index Frame) file format, scene-based trick mode using index frames ... will be available.

  2. In cases where the BIF file is either not supported or unavailable, the system will present a time-based method of supporting trick modes. The user will be presented with a progress bar showing their location in the show and be allowed to seek using the normal trick play controls. Since scene information is not available, the user will only have a visual timeline and numeric time information to locate their desired position in the movie.
Your video has a BIF, so player will work in mode [1], in scene-based trick mode and only flip between the frames provided in the BIFy deck.

I wondered if you can hack it by appending 1 empty image N+1 at the end of the BIF and make all frames past 3min point to that single N+1. Skimming the BIFFileSpecification, unfortunately that does not seem possible, since the BIF index structure has no "length" field - it calculates it by subtracting offsets and therefore they should be strictly non-descending. It might be worth a try to see how does it handle frames with length 0 (i.e. if offsets k, k+1, k+2,... point to the same place) - who knows, maybe.

Speaking of teh BIFFileSpecification - in what format are frames to be stored?!
All "2.7 Data section" says is "This section contains the BIF images." - but are those raw RGBA with specific dimensions? or 256 palletized, or PNG/JPG/...
0 Kudos
destruk
Binge Watcher

Re: Is this a bug or by design? -- bif file rovideoscreen

This could still be useful to prevent users from fast forwarding past their determined/set preview window to save space on your server using the full length videos for previews.
So I'm not saying it's necessarily a bad thing - I just want to know if it will be changed in the future or if we can count on it always operating this way?
0 Kudos
EnTerr
Roku Guru

Re: Is this a bug or by design? -- bif file rovideoscreen

It's such a corner case, i doubt they'd want to promise specific behavior but let's see what Roku* has to say.

Here is another, "legit" (without getting in grey areas of the spec) way to make the lemonade you are looking for: add a single last, N+1 frame from the very end of the video. Actually you can make it a pre-set image that says "no further preview is available" with timestamp=end time. In this way if the "feature" behavior here changes in the future, your BIF will still work since it is complete. Note spec does not require frames to come at fixed time intervals (albeit majority of cases use fixed intervals of say 10sec), they can march to the beat of own drum - so there can be large gap between last two frames.
0 Kudos