Forum Discussion

gbcox's avatar
gbcox
Streaming Star
3 years ago
Solved

Is Roku Ultra 2022 Correctly reporting it supports AV1?

I'm testing with Plex and Emby with videos encoded with AV1, however neither Plex nor Emby apparently is receiving the expected response from the Roku Ultra that it indeeds supports AV1 playback and instead transcodes to H.264.  If I force Plex into Direct Play mode, the video correctly plays with the Roku Ultra, but auto detection isn't working.  Is Roku reporting it supports AV1 and this is a software bug with Plex/Emby or is Roku not reporting that indeed supports AV1 playback.  Thanks!

  • On my Ultra 4800:

    di=createobject("rodeviceinfo")
    vf={codec:"av1"}
    ?di.candecodevideo(vf)
    <Component: roAssociativeArray> =
    {
        result: true
    }

    My Ultra says it's a 2020 Ultra (model 4800), but I believe all the 480x devices are essentially identical.  I have no idea how Emby/Plex is doing their auto detection, but I'd say it's flawed.  I don't know of any external way to query a device for what codecs it supports.

  • renojim's avatar
    renojim
    Community Streaming Expert

    On my Ultra 4800:

    di=createobject("rodeviceinfo")
    vf={codec:"av1"}
    ?di.candecodevideo(vf)
    <Component: roAssociativeArray> =
    {
        result: true
    }

    My Ultra says it's a 2020 Ultra (model 4800), but I believe all the 480x devices are essentially identical.  I have no idea how Emby/Plex is doing their auto detection, but I'd say it's flawed.  I don't know of any external way to query a device for what codecs it supports.

    • speechles2's avatar
      speechles2
      Reel Rookie

      Brightscript Debugger> if device.canDecodeVideo({codec: "av1", container: "mkv"}).result ? "this works"

      Brightscript Debugger> if device.canDecodeVideo({codec: "av1"}).result ? "this works"
      this works

       

      We all know AV1 is supported inside MKV. But apparently the Roku itself doesn't.

      The rest of the codecs appear to work with container. But AV1 is a special case here.

      You must know which containers AV1 is supported within without help from the device.

      I would call this a Roku bug. But there are ways to work around it. ^_~

      • gbcox's avatar
        gbcox
        Streaming Star

        Both Emby and Plex are aware of the issue and are working on an update to resolve.  In the meantime, on Plex you can force Direct Play, and on Emby its a bit more complicated. 

        On Emby, you have to:

        Settings>Users tab>edit desired user>untick Allow video transcoding,>untick Allow Audio transcoding, >untick Allow changing of container formats.  

        Keep "Allow media playback" ticked.

        Here is the entire emby thread:  https://emby.media/community/index.php?/topic/107987-av1-reason-for-transcoding-video-codec-not-supported/&do=findComment&comment=1225178 

        renojim  Do you know if Roku is aware of this?  speechles2 from Emby considers this a Roku bug, but apparently Emby and Plex are going to code around it.  It would be good if we could somehow get an official Roku reply.  Roku obviously has enabled AV1, because with the workaround it functions, but apparently their implementation methodology doesn't match what they are doing for the other codecs they support.  I don't know if it's a developer documentation issue or just an oversight on their part, but everyone needs to be on the same page here.  The end user shouldn't have to slug through reporting issues like this.