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

Re: Observing tearing artifacts on Roku-4 with 4k @ 60fps HEVC stream

@Joel.
I conducted some more experiments and made the following observations.

  1. As you know, Roku4 has two 4K configurations under Settings > Display type.
    (a) 4K UHD TV (10-bit): In this mode, GetVideoMode returns 2160p30. Also call to CanPlay4K() prints "HDCP version too low". I didn't find a way to check current HDCP version so I called IsHdcpActive() with standard HDCP versions. I found that my Roku's HDCP version is 1.4.      
    (b) 4K UHD TV: In this mode, GetVideoMode() returns 2160p60. Also call to CanPlay4K() prints "HDCP 2.2 check passed: ".

  2. I have a 4K-UHD-10bit HDR @60fps HLS stream with HEVC video codec stored on a local server. I played this stream using "customvideoplayer" with both the display types.
    (a) 4K UHD TV (10-bit): Video was played at 4K resolution but at around 30fps. Also, the video had tearing issues.       
    (b) 4K UHD TV: Video was played at 4K@60fps. But video quality was not good. It could be because I played 10-bit video in 8-bit configuration.

  3. I converted this 4K-UHD-10bit HDR @60fps HLS stream to MP4 and stored it on the same server. I played it using "customvideoplayer" with both the display types.
    (a) 4K UHD TV (10-bit): Video was played @60fps but in a lower resolution. It appeared as if Roku was re-sizing a 1080p video for 4K display. I set Display Type to 1080p HD TV and played the same video. The video quality appeared to be the same.       
    (b) 4K UHD TV: Video was played at 4K@60fps. But video quality was not good. It could be because I played 10-bit video in 8-bit configuration.

  4. I copied the MP4 file to a pen-drive. I connected the pen-drive to the Roku and played this content using roku-media-player with both the display types. My observations in this experiment are same as MP4 playback using "customvideoplayer".


Based on the above observations, I have some questions.

  1. As per my understanding, HDCP is related to Hardware+Software media pipeline from media receiver to rendering. In observation#1, I am not able to understand how and why changing display type is affecting the HDCP version.

  2. From observation#2, #3 and #4, my conclusion is that, Roku supports 4K-10bit @30fps and 4K-8bit @60fps.
    (a) Is this the case?       
    (b) If yes, are there any reasons for that?       
    (c) If 4K-10bit@60fps media is in MP4 format, Roku appears to be re-sizing video to 1080p and playing @60fps. If the media is in HLS format, it appears to be playing at same resolution and frame-rate and failing due to some limitations. Why is there a difference in behavior? Is Roku using different profiles/media engines for MP4 and HLS?

  3. I checked GetVideoMode() and found that there are some strings for 10-bit display (Ex: 2160p30b10, 2160p60b10). I don't understand why I am not getting this output even when I set Display type to 4K UHD TV (10-bit).


The following are my Roku4 specifications.
Model: 4400X - Roku 4
Software version: version 7.5.0 - build 4096-17

I am using Samsung flat smart TV.
Model Code: UA55KS7000

Please let me know if you need any other information.

Regards,
Mayur K
0 Kudos
Need Assistance?
Welcome to the Roku Community! Feel free to search our Community for answers or post your question to get help.

Become a Roku Streaming Expert!

Share your expertise, help fellow streamers, and unlock exclusive rewards as part of the Roku Community. Learn more.