roberto188 33 Posted March 3, 2018 Share Posted March 3, 2018 Emby Server is transcoding alot of 60fps media for both my Roku TV and Roku Streaming Stick. I believe it's because the reported capabilities for those devices is incorrect. My Roku 3 has no problem with the 60 fps content and the log shows it reporting max 60 fps whereas the other devices only report 30, even though they are more powerful. Please correct the profiles in the Roku app to allow 60 fps for these devices. Thanks! Link to comment Share on other sites More sharing options...
ebr 14851 Posted March 4, 2018 Share Posted March 4, 2018 The information we have is that the Roku TVs cannot handle 60fps. Has that changed? @@speechles Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 4, 2018 Author Share Posted March 4, 2018 Of course they can. Broadcast progressive stations are 720p @ 60fps. Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 4, 2018 Author Share Posted March 4, 2018 Also the Streaming Stick cannot do 4k, but as shown in the log file above it is reporting Max Resolution as 3820 x 2160. As far as I know it can only handle 1080p. Here is a full listing of Roku Capabilities, at least in regards to resolution. https://en.wikipedia.org/wiki/Roku#Roku_Streaming_Players Link to comment Share on other sites More sharing options...
speechles 1911 Posted March 4, 2018 Share Posted March 4, 2018 (edited) The information we have is that the Roku TVs cannot handle 60fps. Has that changed? @@speechles rokuTV has always supported 60fps. roku firmware allows all their devices to process 60fps. The issue is not all of these devices are capable of decoding at that framerate. So devices like the rokuSE and the roku2/3 will fall behind if the item is 1080p60. These slower devices do fine at 720p60. In the blue neon app there is the ability to force direct/transcode which alleviates alot of the issues since the app can then work-around the capabilities with force. There is a definite need to transcode 1080p60 to 720p60 for slower devices, which I never built as part of the profile. I figured the blue neon app and its force options could always be used to work around these problems. device = CreateObject("roDeviceInfo") if FindMemberFunction(device, "CanDecodeVideo") <> invalid then supports4kcodec = (device.CanDecodeVideo({codec: "hevc"}).result = true or device.CanDecodeVideo({codec: "vp9"}).result = true) else supports4kcodec = false end if You are using something like above to detect 4k devices? (note: you probably don't need the FindMemberFunction part and its wrap. You just need the single line below it if working on firmware over 7.0. Since the blue neon app also supports legacy devices on deprecated firmwares, the function is required to let the app work on them.) Edited March 4, 2018 by speechles Link to comment Share on other sites More sharing options...
ebr 14851 Posted March 4, 2018 Share Posted March 4, 2018 device = CreateObject("roDeviceInfo") if FindMemberFunction(device, "CanDecodeVideo") <> invalid then supports4kcodec = (device.CanDecodeVideo({codec: "hevc"}).result = true or device.CanDecodeVideo({codec: "vp9"}).result = true) else supports4kcodec = false end if You are using something like above to detect 4k devices? (note: you probably don't need the FindMemberFunction part and its wrap. You just need the single line below it if working on firmware over 7.0. Since the blue neon app also supports legacy devices on deprecated firmwares, the function is required to let the app work on them.) I had seen this pre-existing code in there and thought that is not a very good way to determine 4k support as supporting those codecs is not the same thing as supporting a 4k resolution. But I haven't investigated further to see if there is a better way. Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 4, 2018 Author Share Posted March 4, 2018 Does the blue neon allow to select transcode resolution or set the allowable framerate? Link to comment Share on other sites More sharing options...
speechles 1911 Posted March 4, 2018 Share Posted March 4, 2018 (edited) I had seen this pre-existing code in there and thought that is not a very good way to determine 4k support as supporting those codecs is not the same thing as supporting a 4k resolution. But I haven't investigated further to see if there is a better way. Support for those codecs means support for 4k. This is code suggested by roku co to use. The device will natively downscale on itself to the desired resolution during direct play any 4k content. If the user wants to restrict their TV to a certain resolution, in the blue neon app I have a setting that allows auto/1080p/720p to decide the preferred transcode resolution. Using auto will have the device downscale (in effect do nothing work the same as it does now) and use direct play. Using 1080p/720p would cause the server to transcode to the desired resolution. The part that isn't complete is when to change framerate. Obviously only when 1080p60, and obviously only with certain devices. I didn't want to start tracking model numbers to do this, but perhaps that is the only way. Under powered devices 1080p60 -> 720p30 using the server to transcode. Any 1080p60 will not direct play on these devices. Does the blue neon allow to select transcode resolution or set the allowable framerate? yes to both ( see here: https://emby.media/community/index.php?/topic/24151-theme-blue-neon-night/?p=495849 ) and you can also force play methods, direct/transcode/transcode-without-streamcopy Edited March 4, 2018 by speechles 1 Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 4, 2018 Author Share Posted March 4, 2018 Unfortunately the Blue Neon app won't even allow my Roku TV to direct play or direct stream anything mpeg 2. Says reason for transcode is container, video and audio codec are all not compatible. The regular emby Roku app direct streams the compatible audio and video into the proper container. Link to comment Share on other sites More sharing options...
speechles 1911 Posted March 4, 2018 Share Posted March 4, 2018 Unfortunately the Blue Neon app won't even allow my Roku TV to direct play or direct stream anything mpeg 2. Says reason for transcode is container, video and audio codec are all not compatible. The regular emby Roku app direct streams the compatible audio and video into the proper container. Yep, thats because the server made changes to how things were reported to the app (the name attribute within the json changed) which broke the version on the roku store. The roku store does not allow legacy applications to update anymore. So the app exists in this broken condition now as a result. To get the new app you have to sideload (use the zip of the app) and use developer mode to push it onto your device. It is quite easy to turn on developer mode on any roku device. You can only have 1 development app loaded, new overwrites old. On the store version you can go to the detail menu of an item, choose the "more..." menu and you can force a play method from within this menu. Now choose "direct" and the app will always try to drect play your content first, before it will fallback to transcoding. Make sure in settings to turn off the play method reset which will revert to auto. Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 4, 2018 Author Share Posted March 4, 2018 Awesome thanks. I'll side load a bit later and give it shot. Thanks guys. Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 4, 2018 Author Share Posted March 4, 2018 Multiple errors when I try to direct stream. HTTP error, failed to load plugin error. Link to comment Share on other sites More sharing options...
mikeraburn 60 Posted March 7, 2018 Share Posted March 7, 2018 Support for those codecs means support for 4k. This is code suggested by roku co to use. The device will natively downscale on itself to the desired resolution during direct play any 4k content. If the user wants to restrict their TV to a certain resolution, in the blue neon app I have a setting that allows auto/1080p/720p to decide the preferred transcode resolution. Using auto will have the device downscale (in effect do nothing work the same as it does now) and use direct play. Using 1080p/720p would cause the server to transcode to the desired resolution. The part that isn't complete is when to change framerate. Obviously only when 1080p60, and obviously only with certain devices. I didn't want to start tracking model numbers to do this, but perhaps that is the only way. Under powered devices 1080p60 -> 720p30 using the server to transcode. Any 1080p60 will not direct play on these devices. yes to both ( see here: https://emby.media/community/index.php?/topic/24151-theme-blue-neon-night/?p=495849 ) and you can also force play methods, direct/transcode/transcode-without-streamcopy I'm going to DMCA ya speechlessMy prior posts are proprietary My lawyer will be in contact Sent from my SM-T560NU using Tapatalk Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 12, 2018 Author Share Posted March 12, 2018 Any movement on this? Is there a way to report to the server that the Device is capable of mpeg2 60fps and only 30fps h264 or is the max frame rate fixed for all codecs because the Roku TVs all do mpeg2 60fps but are in fact capped at 30 for h264. Link to comment Share on other sites More sharing options...
speechles 1911 Posted March 12, 2018 Share Posted March 12, 2018 (edited) Any movement on this? Is there a way to report to the server that the Device is capable of mpeg2 60fps and only 30fps h264 or is the max frame rate fixed for all codecs because the Roku TVs all do mpeg2 60fps but are in fact capped at 30 for h264. You need to use the blue neon app to run your tests. This allows you to "force direct" and "force transcoding". Now using "force direct" you also need to change the preference in settings for "Reset Play Method" to NO. Then every time you play a file in blue neon it will first attempt to direct play regardless of what it thinks its capabilities are. Now you can confirm for fact that h264 is locked at 30 fps. The h264 in 60fps in your tests should fail, close the video player, and the app should report a video failure and then immediately resume by transcoding. I can say that In my tests with my buddies rokuTV, the only codec locked at 30fps in rokuTV is hevc in hdr, and even then its only certain models. So this is all just a game of testing and refine the capabilities for each device model of rokuTV. h264Conditions.push({ Condition: "LessThanEqual" Property: "VideoFramerate" Value: framerate IsRequired: false }) mpeg2Conditions.push({ Condition: "LessThanEqual" Property: "VideoFramerate" Value: framerate IsRequired: false }) mpeg1Conditions.push({ Condition: "LessThanEqual" Property: "VideoFramerate" Value: framerate IsRequired: false }) In the blue neon app, yep.. All the framerates are tied to the same. RokuTV also supports mpeg1 too which wasn't mentioned. In the blue neon app you also need to change the "max framerate" to 61, by default it starts at 30. Edited March 12, 2018 by speechles Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 13, 2018 Author Share Posted March 13, 2018 You need to use the blue neon app to run your tests. This allows you to "force direct" and "force transcoding". Now using "force direct" you also need to change the preference in settings for "Reset Play Method" to NO. Then every time you play a file in blue neon it will first attempt to direct play regardless of what it thinks its capabilities are. Now you can confirm for fact that h264 is locked at 30 fps. The h264 in 60fps in your tests should fail, close the video player, and the app should report a video failure and then immediately resume by transcoding. I can say that In my tests with my buddies rokuTV, the only codec locked at 30fps in rokuTV is hevc in hdr, and even then its only certain models. So this is all just a game of testing and refine the capabilities for each device model of rokuTV. h264Conditions.push({ Condition: "LessThanEqual" Property: "VideoFramerate" Value: framerate IsRequired: false }) mpeg2Conditions.push({ Condition: "LessThanEqual" Property: "VideoFramerate" Value: framerate IsRequired: false }) mpeg1Conditions.push({ Condition: "LessThanEqual" Property: "VideoFramerate" Value: framerate IsRequired: false }) In the blue neon app, yep.. All the framerates are tied to the same. RokuTV also supports mpeg1 too which wasn't mentioned. In the blue neon app you also need to change the "max framerate" to 61, by default it starts at 30. Thanks. I'm pretty certain I tried this and it gave me an HTTP error whenever I tried to direct play. I will experiment tonight extensively with 60fps h264 at various resolutions and 60 fps mpeg 2 all with direct play, fallback turned off and 61 fps selected and let you know exactly what happens. Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 13, 2018 Author Share Posted March 13, 2018 Yeah even with Forcing Direct Stream with no fall back I just get an HTTP error. "There was an error in the HTTP response. This could mean that malformed HTTP headers or and HTTP error code was returned." Link to comment Share on other sites More sharing options...
Luke 36879 Posted March 14, 2018 Share Posted March 14, 2018 So then it appears to me we're making the right decision after all, no? Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 23, 2018 Author Share Posted March 23, 2018 No I think it's because the blue neon app is old and there is an error with something else. Was the capability for the Roku streaming stick updated to reflect 60fps capabilities? Link to comment Share on other sites More sharing options...
Luke 36879 Posted March 23, 2018 Share Posted March 23, 2018 A direct play failure is almost always out of the app's control. You can test this with our app now by revoking user permissions for transcoding, and see if those files direct play. Link to comment Share on other sites More sharing options...
roberto188 33 Posted March 23, 2018 Author Share Posted March 23, 2018 Ok I'll try that. Thanks. Link to comment Share on other sites More sharing options...
roberto188 33 Posted April 2, 2018 Author Share Posted April 2, 2018 Any word on getting the Roku app updated to report the streaming stick 60fps capability? Link to comment Share on other sites More sharing options...
roberto188 33 Posted April 2, 2018 Author Share Posted April 2, 2018 Same for Roku TV. Link to comment Share on other sites More sharing options...
ebr 14851 Posted April 3, 2018 Share Posted April 3, 2018 We will look to improve it in a future update. Thanks. 1 Link to comment Share on other sites More sharing options...
roberto188 33 Posted April 3, 2018 Author Share Posted April 3, 2018 Thanks! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now