Jump to content

Beta - Why transcode?


speechles
Go to solution Solved by speechles,

Recommended Posts

BCyvkJT.png

 

Sorry to keep bringing this up, but.. Why does the new app transcode? Please feel free to use the blue neon capabilities. Also, I notice you went back to using just "model name" as the device name. Notice the glaring %20. On my ultra, roku updated my device name to test the bullet. Notice the bullet is _ in the above image. This seems the best way to approach this, plus the benefit of not seeing %'s along with the peace of mine users selecting weird characters can never break it.

 

Standardize devicename > Escape(devicename)

 

So the main question though, isn't the device name. It is why does the app still transcode when it doesn't need to? This answer is puzzling as the roadmap of how to do this right is already known. I know I use alot of regread from the registry to read the preferences and alot of what the app does is based on this so makes reading the capabilities harder. But if you think of those regread as fail and using the FirstOf instead you can read these better. Most people never change those preferences and the defaults get used. The fact users can change these things isn't required, it is just nice to have.

 

Make sure you allow people to raise the max refframes up to 16 in the app, this is a major cause of transcoding and the setting of 8 or 12 is just conjecture. The rest, like framerate should be 60. This is also another part causes transcoding having this stuck in stone at 30fps. Maybe an option to raise max refframes to 16 and framerate to 60 at the same time? Call it, "Enable maximum limits" or something? This is needed to keep liveTV direct streaming for users and not cause a full transcode. MPEG2 video can direct play on the rokuTV if you allow 60fps. h264 at 60fps can play on everything else, except 1080p for roku3 and lower.

 

Anybody else see the app transcode far more than it should be doing, too? Don't be shy.. heh

Edited by speechles
  • Like 1
Link to comment
Share on other sites

Also, that first image is wrong.

 

It says Direct Playing, where it is clearly transcoding.

 

AT9ANvq.png

 

The server gets confused when you use multiple roku apps within a short timespan. Since its device-id based for the session, ya know, shit happens. So now that ffmpeg is for sure dead now, look at what I get for the same above.

 

The main takeaway, unless this gets addressed... The blue neon app will be seen as superior.

 

Why? All because what can direct play on one isn't match on the other with the same device. I am trying to share how to improve this situation, but is it working? Does any of this stick? Can I get an amen? (It's sunday, church joke, bro).

 

The main point is "Can it play the media?", and the new beta is doing this. So I guess some wont care its doing whatever as long it plays for them. For those who do care, they will notice. To those people, you aren't noticing this too?

Edited by speechles
  • Like 2
Link to comment
Share on other sites

Guest Grace1313

Amen, brother.

Something is off, states direct play while transcoding, states transcoding while direct playing, etc.

I know they want to keep it easy for the user, but having your BN settings in an advance settings category would really add a lot to the app.

Edited by Grace1313
Link to comment
Share on other sites

Death to transcoding! I know it can't always be avoided but let's really try to minimize it when we can.

 

Sent from my STV100-3 using Tapatalk

  • Like 1
Link to comment
Share on other sites

Happy2Play

There is still a lot that transcodes on "Preview" that @@speechles gets to direct play on "blue neon night".  So if "Preview" remains close sourced then we will probably never see full capabilities like "blue neon night".

  • Like 1
Link to comment
Share on other sites

Of course we will. As you guys report feedback and issues, we will correct and improve just like any other aspect of the application. Thanks !

Link to comment
Share on other sites

Of course we will. As you guys report feedback and issues, we will correct and improve just like any other aspect of the application. Thanks !

Wha?? Are we on the same planet?

 

The odd part, is my capabilities code is public. This could be incorporated into the new app. The fact it wasnt is a mystery. Which begs the question, why?

 

No need for stock replies, no stale responses, no side steps, no false thanks. Just be honest with an answer, Why?

 

Hint: why what? See title of this thread.

Edited by speechles
  • Like 1
Link to comment
Share on other sites

@@ebr there are many videos. I provided logs previously as I'm sure others have as well. Most if not all HEVC files will transcode on the beta. I haven't tried it in a few days but I can go though and generate additional logs. Do the Dev's have a newer Roku on which they are testing this?

 

Sent from my STV100-3 using Tapatalk

Link to comment
Share on other sites

@@lorac I assume these play correctly in the blue neon app. Of course they do because I did my homework there. I have a roku ultra I run my tests on. Also, check out the canned response LOLLERSKATES from luke (see below my post here where his is). More of the same without trying too hard. How ridiculous do these canned ingenuine replies look? Well they look downright silly and thoughtless. You've done enough providing logs and such, relax. They can figure it out with the information already available. BTW...Well done! Good Job! Bravo!.. LOL LOL LMAO ROFLMAO

 

 

@@ebr Are you using a function similar to below to tell when to enable 4k(UHD @ 3840x2160)?

'******************************************************
' Can the device play 4k
'******************************************************

Function CanPlay4K() as Boolean

  dev_info = CreateObject("roDeviceInfo")
 
  ' Check if the Roku player can decode 4K 60fps HEVC streams or 4K 30fps vp9 streams
  hevc_video = { Codec: "hevc", Profile: "main", Level: "5.1" }
  vp9_video = { Codec: "vp9", Profile: "profile 0" }
  can_decode_hevc = dev_info.CanDecodeVideo(hevc_video)
  can_decode_vp9 = dev_info.CanDecodeVideo(vp9_video)
  if can_decode_hevc.result <> true OR can_decode_vp9.result <> true
    debug("4k support: Disabled (Roku player cannot decode 4K HEVC AND VP9 streams)")
    return false
  end if
 
  ' Check if the output mode is 2160p
  video_mode = dev_info.GetVideoMode()
  if (Left(video_mode, 5) <> "2160p")
    debug("4k support: Disabled (The output mode is not set to 2160p: "+ video_mode+")")
    return false
  end if
 
  ' Check if the roku player is a TV
  disp_prop = dev_info.GetDisplayProperties()
  if disp_prop.internal = true then
    debug("4k support: Enabled (The RokuTV does not have an HDMI output port, no need to check HDCP")
    return true
  end if
 
  ' Check the roku player has an HDMI output port
  hdmi_status = dev_info.GetHdmiTxStatus()
  if hdmi_status = invalid
    debug("4k support: Disabled (Bad hdmi_status)")
    return false
  end if
 
  ' Check if HDMI is connected and has HDCP 2.2 enabled
  if hdmi_status.IsConnected() <> true
    debug("4k support: Disabled (No device connected to the HDMI port)")
    return false
  end if
 
  if hdmi_status.IsHdcpActive("2.2") <> true
    debug("4k support: Disabled (HDCP version too low)")
    return false
  end if

  debug("4k Support: Enabled")
  return true
 
End Function

I use this function to enable 3840x2160 resolution. If CanPlay4k() <> true the maximum allowed for 4k codecs is 1920x1080.

    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

Then you can tell if the device supports hevc/vp9 separately from resolution. This is the exact code I am now using in the blue neon app.

 

Are you using methods like this to tell when to enable 4k and hevc/vp9?

Edited by speechles
Link to comment
Share on other sites

@@ebr there are many videos. I provided logs previously as I'm sure others have as well. Most if not all HEVC files will transcode on the beta. I haven't tried it in a few days but I can go though and generate additional logs. Do the Dev's have a newer Roku on which they are testing this?

 

Sent from my STV100-3 using Tapatalk

 

@@lorac please see My files shouldn't be transcoding, how do I report this?

Link to comment
Share on other sites

Am I supposed to infer from all of that that the video in question is 4k?

 

This would go a lot faster if you would simply give us complete media information on the video in question and then we can figure out where to look.  Or, if you want to provide a couple of actual videos that would be helpful as well.  Just calling us idiots doesn't really help anyone.

Link to comment
Share on other sites

You're not idiots I assure you! You've put in a lot of hard work into making emby what it is. I'll do some more testing today with the beta and see how it fares as compared to BN.

 

Sent from my STV100-3 using Tapatalk

Link to comment
Share on other sites

Am I supposed to infer from all of that that the video in question is 4k?

 

This would go a lot faster if you would simply give us complete media information on the video in question and then we can figure out where to look.  Or, if you want to provide a couple of actual videos that would be helpful as well.  Just calling us idiots doesn't really help anyone.

 

What video? My original video of LivePD was h264@60fps. Direct playing just fine, but transcoding in your app. I gave advice on how to direct play, which was to allow users to raise the limit of refframes to 16, and framerate to 60.

 

I've shown you mine, whipped it out. Now the part I can't see is what your app is doing. So here I am the one trying to help. For others to be providing video samples and other stuff isn't really necessary. Who wants to go through the fun of test videos all over again? My big point is JUST DO WHAT BLUE NEON DOES!! GAH!!!

 

Not calling you an idiot, where did I use that word? It wasn't even inferred. I was laughing at the comedy of repeating everything all over again to know capabilities. When its already known, and we can share code. But.. you don't share code so this makes it impossible.

 

So I was asking you to please, don't burden users with a crappy experience and transcode often. Don't force users to post logs for videos all over again. This isn't required, there is no need for one step forward and two steps back. I've already done the legwork on this. Use the information provided to enhance your app. I provided the new changes I am going to make and shown them above. I have a new version of blue neon awaiting release once I fully test it.

Edited by speechles
  • Like 1
Link to comment
Share on other sites

I wasn't asking users to provide anything.

 

I was asking you to provide complete media info for the item for which you started this thread.

Link to comment
Share on other sites

i41H4wE.png

 

Indeed, as per your request here it is. Blame the framerate. Being based on firmware 7.5 means your already restrict yourself to higher end devices which will natively play 60fps content.

 

@@ebr If it were possible to issue pull requests I couldve taken that route. That isnt possible so this is the only route possible to contribute. Code snippets in a roku thread about the new beta.

Edited by speechles
Link to comment
Share on other sites

  • Solution

Can you still reproduce these issues after yesterday's update?

 

The same items for me, now direct play. Whatever is in your coffee is working. ;)

 

Keep up with the direction this is going.

  • Like 1
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...