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: 
renojim
Community Streaming Expert

FrameRate attribute

As demonstrated by the 1080p Showcase channel, the FrameRate attribute has nothing to do with the frame rate of the video. It seems to set the output frame rate of the box when it's outputting a 1080p video, no matter what the frame rate of the video. The output frame rate seems to default to 30fps, which explains why so many people with 1080p/24 only TVs haven't been able to watch anything in 1080p.

It would appear that the FrameRate attribute isn't really necessary. There should be an additional setting in the main "display type" to select the frame rate when HDTV 1080p is selected. There wouldn't be any sense in a developer overriding that setting.

-JT
Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
0 Kudos
4 REPLIES 4
RokuKevin
Visitor

Re: FrameRate attribute

Currently, we don't read the Framerate from the encoding so we need the developer to specify the framerate of the encoding. We output the same framerate as the input encoding. For most content this is 30 fps and that is our default. If you have an input with 24 fps, you can specify this with the FrameRate content metadata parameter and we will output 24 fps.

--Kevin
0 Kudos
renojim
Community Streaming Expert

Re: FrameRate attribute

"RokuKevin" wrote:

- We output the same framerate as the input encoding.
- If you have an input with 24 fps, you can specify this with the FrameRate content metadata parameter and we will output 24 fps.

Kevin,

I'd say these two statements contradict each other. If you were outputting the same frame rate as the input encoding there'd be no point in specifying the FrameRate.

Outputting the same framerate as the input encoding isn't what I'm seeing and you can see it for yourself with the 1080p Showcase channel if you have a TV/monitor that will display the frame rate. If you use the settings to set the frame rate (which sets the FrameRate attribute to either 24 or 30 for every video), every video will play back at whatever frame rate FrameRate is set to, no matter what the frame rate of the encoding. For example, the Big Buck Bunny video (the first one in Animation) is a 24fps video. If you don't set FrameRate at all or set it to 30 the box will output 30fps. As I said earlier, this is why there are so many complaints in the general forum by people with 1080p/24-only TVs that can't display anything in 1080p. Likewise, if you set FrameRate to 30 every video will playback at 30fps.

I'm guessing the new USB channel doesn't use the FrameRate attribute at all, hence once again 1080p/24 devices can't view any 1080p videos. I'd suggest adding a setting for frame rate or add another string to the file name to indicate the frame rate in the same fashion that "1080p" needs to be added to the file name to get a 1080p output.

Admittedly, it makes sense to output the video at its native frame rate, but for people that can only accept 1080p/24 converting 30fps to 24fps might be better than nothing. I'm don't know how the underlying hardware is doing the frame rate conversion, but it's definitely happening.

Personally, this isn't an issue and don't really care about the whole 1080p thing anyway. However, you will see several comments in the general forum where people are pretty upset about this and accuse Roku of false advertising because they can't view anything in 1080p.

-JT
Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
0 Kudos
RokuKevin
Visitor

Re: FrameRate attribute

I meant that we output whatever is the specified frame rate defaulting to 30 fps. The encoding must match that output framerate or there will be problems. If the developer knows the encoding is 24 fps, you can specify a FrameRate equal to 24 and we can play back that content.

I'll check out the BigBuckBunny and see how we are reading that the FrameRate is 24. This won't work in all cases though. We don't reliably read the framerate from the video stream.

--Kevin
0 Kudos
renojim
Community Streaming Expert

Re: FrameRate attribute

"RokuKevin" wrote:
I'll check out the BigBuckBunny and see how we are reading that the FrameRate is 24. This won't work in all cases though. We don't reliably read the framerate from the video stream.

Just to clarify, I wasn't trying to say that you're reading the frame rate as 24fps. I know the video is 24fps and if you were to download it and play it back without setting FrameRate to 24 it will play back at 30fps. I created my own 1080p/24 video as well and got the same results - i.e., setting FrameRate to 24 plays back at 24fps and setting it to 30 plays back at 30fps. I assume the hardware is repeating every 4th frame as I didn't notice any speedup in the playback.

-JT
Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
0 Kudos