Jump to content

Issues playing AV1 natively


tOLJY

Recommended Posts

10 minutes ago, ndfan77 said:

To add some to this.  I was able to get the Emby for Android TV client (2.0.83g) to direct play 2160p AV1 content somewhat reliably (it's only been a couple days) on the Chromecast 4K -- by following this setup sequence:

  1. Factory reset the Chromecast 4K
  2. Uninstall unneeded apps (Disney+, Apple TV, ESPN, Hulu, Max)
  3. Install the Emby for Android TV client (v2.0.83g) from the Play Store, configure it, and test some 2160p AV1 content (which will transcode).
  4. Sideload the Emby for Android client (v3.3.8), configure it.
  5. Play some 2160p AV1 content on the Emby for Android client.  Playback will probably be wonky (frozen images, blank screen, etc.) -- but audio and subtitles should work.  Let playback run (even if broken) for ~15+ mins
  6. AV1 content should now direct play correctly on the Emby for Android TV client (and now you can just ignore the Emby for Android client).

I was able to duplicate this setup sequence twice.  I know it seems a bit wishy-washy, and it's not readily obvious which step is the key to getting AV1 direct playback working on the Emby for Android TV client.  But (for whatever reason), letting the Emby for Android client play for 15 - 20 minutes in step 4 (even if not playing right) seems to be a relevant part of the equation as direct AV1 playback on the Emby for Android TV client wouldn't work without it.  (Also, there was one instance where the Emby for Android TV client fell back to transcoding AV1 content, and repeating step #5 straightened direct play back out.)

FWIW...

Are you saying you are able to direct play AV1 files on the Chromecast with Google TV 4k?  This one: https://store.google.com/us/config/chromecast_google_tv?hl=en-US&selections=eyJwcm9kdWN0RmFtaWx5IjoiWTJoeWIyMWxZMkZ6ZEY5bmIyOW5iR1ZmZEhZPSIsImhlcm9Qcm9kdWN0cyI6W1siY0hKa1h6YzRNekpmTXprMU1nPT0iLDEsbnVsbF1dfQ%3D%3D

Because everything I have read on those says they don't support AV1, only the HD models support it(that much I can confirm). If the 4K model does support AV1 I would like to grab one of those. 

 

Edited by lukeoslavia
Link to comment
Share on other sites

ndfan77
21 minutes ago, lukeoslavia said:

Are you saying you are able to direct play AV1 files on the Chromecast with Google TV 4k?  This one: https://store.google.com/us/config/chromecast_google_tv?hl=en-US&selections=eyJwcm9kdWN0RmFtaWx5IjoiWTJoeWIyMWxZMkZ6ZEY5bmIyOW5iR1ZmZEhZPSIsImhlcm9Qcm9kdWN0cyI6W1siY0hKa1h6YzRNekpmTXprMU1nPT0iLDEsbnVsbF1dfQ%3D%3D

Because everything I have read on those says they don't support AV1, only the HD models support it(that much I can confirm). If the 4K model does support AV1 I would like to grab one of those. 

 

Yes, 2160P AV1 direct play seems to be working (rather well) on the Chromecast 4K in the Emby for Android TV Play Store client (v2.0.83g) after following the steps I described previously.  But my impression is that it's a house of cards that could blow over pretty easily the next time something else that involves video playback is installed, or the OS is updated, etc...  But, I'm going to run with it since the Chromecast 4K isn't my primary streaming device and I'm moving most of my stuff to AV1.

Screen shots:

image.thumb.png.20ed7a2c08f82108a0dde8ec18e3d14b.png

image.thumb.png.f817c65d13b99bd34226ac16ba29e20c.png

image.thumb.png.5fa04dd5095ff735fac8c325df9dddaa.png

 

Link to comment
Share on other sites

SeanM
31 minutes ago, ndfan77 said:

Yes, 2160P AV1 direct play seems to be working (rather well) on the Chromecast 4K in the Emby for Android TV Play Store client (v2.0.83g) after following the steps I described previously.  But my impression is that it's a house of cards that could blow over pretty easily the next time something else that involves video playback is installed, or the OS is updated, etc...  But, I'm going to run with it since the Chromecast 4K isn't my primary streaming device and I'm moving most of my stuff to AV1.

Good info tho.  This probably explains why I was able to see a few instances of proper direct play during my testing of jumping around between apps and reboots of the 4k Chromecast.  I must have stumbled upon this same scenario.  However, I was never able to get anything reliable.  This only affects Chromecast 4k devices for me too.  All my other google TV devices play fine.

Edited by SeanM
Link to comment
Share on other sites

On 7/21/2023 at 5:03 PM, ndfan77 said:

Yes, 2160P AV1 direct play seems to be working (rather well) on the Chromecast 4K in the Emby for Android TV Play Store client (v2.0.83g) after following the steps I described previously.  But my impression is that it's a house of cards that could blow over pretty easily the next time something else that involves video playback is installed, or the OS is updated, etc...  But, I'm going to run with it since the Chromecast 4K isn't my primary streaming device and I'm moving most of my stuff to AV1.

Screen shots:

image.thumb.png.20ed7a2c08f82108a0dde8ec18e3d14b.png

image.thumb.png.f817c65d13b99bd34226ac16ba29e20c.png

image.thumb.png.5fa04dd5095ff735fac8c325df9dddaa.png

 

Picked one of these up today and did some testing. I cannot get the sideloaded app to play av1 at all, It uses ffmpeg every time. Its about 50/50 using the play store app. I did get it to direct play a movie for about 50% of its duration though and then it reverted to saying it didn't support the video codec. 

In general the android TV app just seems VERY bad at detecting AV1 compatibility. I have a ccwgtv HD, several onn 4k streaming boxes, a fire TV cube 3rd gen, and the ccwgtv 4k that I've tested with. So far all of them are a toss up with each file I try to play.

I've also sideloaded the apk from the website on all of them and it does direct play more often, but the app runs poorly on most of the boxes. Crashes more often, very sluggish, and spotty playback.

Link to comment
Share on other sites

We are working on getting it into the store for TV devices and then you won't have to sideload anymore.

Link to comment
Share on other sites

ndfan77
47 minutes ago, lukeoslavia said:

Picked one of these up today and did some testing. I cannot get the sideloaded app to play av1 at all, It uses ffmpeg every time. Its about 50/50 using the play store app. I did get it to direct play a movie for about 50% of its duration though and then it reverted to saying it didn't support the video codec. 

In general the android TV app just seems VERY bad at detecting AV1 compatibility. I have a ccwgtv HD, several onn 4k streaming boxes, a fire TV cube 3rd gen, and the ccwgtv 4k that I've tested with. So far all of them are a toss up with each file I try to play.

I've also sideloaded the apk from the website on all of them and it does direct play more often, but the app runs poorly on most of the boxes. Crashes more often, very sluggish, and spotty playback.

Lukeoslavia,

It's a little convoluted.  It took both Emby apps installed at the same time for it to work for me:  1) the Emby for Android TV app (v2.0.83g) from the Play Store, and 2) the sideloaded Emby for Android app (v3.3.8 or v3.3.19) downloaded from the link that's been referenced a few times previously.  But, only the Emby for Android TV from the Play Store will work correctly for 2160P AV1 (direct play or transcode).

The key for me was to:

  1. Start clean
  2. Install the (1) Emby for Android TV app from the Play Store
  3. Install (by sideloading) the (2) Emby for Android app from the links referenced.
  4. Use the (2) Emby for Android app to play some AV1 2160P content for a short period.
  5. Switch back to the (1) Emby for Android TV app and AV1 2160P content should now direct play

My takeaway was that something the Emby for Android app installs or configures within the OS causes the Emby for Android TV app to direct play correctly (which actually uses the underlying ExoPlayer library).

HTH...

Link to comment
Share on other sites

18 minutes ago, Luke said:

We are working on getting it into the store for TV devices and then you won't have to sideload anymore.

That would be excellent as some of the more tech unfriendly members of the family have no chance of sideloading this solo. 

Link to comment
Share on other sites

2 minutes ago, ndfan77 said:

Lukeoslavia,

It's a little convoluted.  It took both Emby apps installed at the same time for it to work for me:  1) the Emby for Android TV app (v2.0.83g) from the Play Store, and 2) the sideloaded Emby for Android app (v3.3.8 or v3.3.19) downloaded from the link that's been referenced a few times previously.  But, only the Emby for Android TV from the Play Store will work correctly for 2160P AV1 (direct play or transcode).

The key for me was to:

  1. Start clean
  2. Install the (1) Emby for Android TV app from the Play Store
  3. Install (by sideloading) the (2) Emby for Android app from the links referenced.
  4. Use the (2) Emby for Android app to play some AV1 2160P content for a short period.
  5. Switch back to the (1) Emby for Android TV app and AV1 2160P content should now direct play

My takeaway was that something the Emby for Android app installs or configures within the OS causes the Emby for Android TV app to direct play correctly (which actually uses the underlying ExoPlayer library).

HTH...

I did follow your steps and they did work, to be clear, they just don't seem to stick for me. Once I close the TV app and reopen it, it will not play direct anymore. It also doesn't seem to make it all the way through longer files direct playing, after so long it reverts to transcoding.

I'm not sure why it doesn't direct play with the sideloaded app as other android TV devices have better success direct playing through that app versus the play store app. One thing I haven't done yet with the ccwgtv 4k, is to load up an AV1 file to play outside of emby to see how well it supports the files I have natively. All my other boxes play them just fine outside of emby.

I'll be eagerly awaiting the play store app update though! 

Link to comment
Share on other sites

ndfan77
6 hours ago, lukeoslavia said:

I did follow your steps and they did work, to be clear, they just don't seem to stick for me. Once I close the TV app and reopen it, it will not play direct anymore. It also doesn't seem to make it all the way through longer files direct playing, after so long it reverts to transcoding.

I'm not sure why it doesn't direct play with the sideloaded app as other android TV devices have better success direct playing through that app versus the play store app. One thing I haven't done yet with the ccwgtv 4k, is to load up an AV1 file to play outside of emby to see how well it supports the files I have natively. All my other boxes play them just fine outside of emby.

I'll be eagerly awaiting the play store app update though! 

A thousand pardons, I misread. 

We haven't covered a lot of AV1 ground yet with the Chromecast 4K or Fire Cube 4K.  (Both are still in the setup/testing phase.  A Shield Pro has been our daily driver for years, but of course it doesn't support AV1.)  I have an ONN Android TV 4K due in on Monday (and am looking forward to seeing how the Emby Android clients work on it).  The Emby client for Android TV did play a 2160P movie from start to finish without any issues on the Chromecast 4K -- but yeah, as I said before, the Emby AV1 situation on the Chromecast 4K seems like a house of cards.

On my Fire Cube 4K the sideloaded Emby client (v3.3.18) has been direct playing AV1 content without issue for the last several days, but the Emby client from the Amazon store (v2.0.79a) won't play any AV1 content.  It just spins and then crashes back to the app (before it does the dashboard says it's trying to direct play).

Link to comment
Share on other sites

11 minutes ago, ndfan77 said:

A thousand pardons, I misread. 

We haven't covered a lot of AV1 ground yet with the Chromecast 4K or Fire Cube 4K.  (Both are still in the setup/testing phase.  A Shield Pro has been our daily driver for years, but of course it doesn't support AV1.)  I have an ONN Android TV 4K due in on Monday (and am looking forward to seeing how the Emby Android clients work on it).  The Emby client for Android TV did play a 2160P movie from start to finish without any issues on the Chromecast 4K -- but yeah, as I said before, the Emby AV1 situation on the Chromecast 4K seems like a house of cards.

On my Fire Cube 4K the sideloaded Emby client (v3.3.18) has been direct playing AV1 content without issue for the last several days, but the Emby client from the Amazon store (v2.0.79a) won't play any AV1 content.  It just spins and then crashes back to the app (before it does the dashboard says it's trying to direct play).

I did try to play an AV1 file directly on the ccwgtv 4k outside of emby and it wouldn't play. Not really sure why.

As for the onn, it was spotty with the play store app so we sideloaded the newer app and it plays AV1 direct, the sideload app is just less stable feeling than the play store version.

Also, had the same experience on the fire tv cube (3rd gen) store app doesn't direct play, sideload does though.

Link to comment
Share on other sites

ndfan77
On 7/23/2023 at 9:52 AM, ebr said:

Exactly what happened here?  Can you reproduce and then  follow the instructions to send a log from the app?

 

 

I finally had some time to dig a little more into this.  I currently have the Emby for Android 3.3.19 client installed on:

  • Chromecast With Google TV 4K
  • Onn Google TV 4K
  • Fire TV Cube 4K

As I think has been mentioned several times already, 2160 AV1 content will direct play fine on the Onn Google TV and Fire TV Cube, but not on the Chromecast With Google TV 4K.  And, as I think has also been mentioned previously, the video renderer under Stats for Nerds on the Chromecast With Google TV 4K is Ffmpeg, but is MediaCodec on the Onn Google TV and Fire TV Cube.  This seems like a significant clue...(?)

Why would the video renderer be Ffmpeg on the Chromecast With Google TV 4K (which doesn't work), and be MediaCodec on the Onn Google TV and Fire TV Cube (which do work)?  How can we dig into this further?

I can't find any way to send or save logs on the Emby for Android client.  Your link only refers to being able to do that in the Emby for Android TV client after turning on Debugging, which I did find -- but I can't find a debugging option in the client application settings on the Emby for Android client, and there's no "Send logs" option under the "COG" menu.

Edited by ndfan77
Link to comment
Share on other sites

7 hours ago, ndfan77 said:

Why would the video renderer be Ffmpeg on the Chromecast With Google TV 4K (which doesn't work), and be MediaCodec on the Onn Google TV and Fire TV Cube (which do work)? 

Because the devices that work have native AV1 support and the one that doesn't, doesn't.  So the standard app is attempting to do it in software (ffmpeg) which may or may not work depending on the power of the device.  The TV app does not try to decode AV1 in software.

Link to comment
Share on other sites

SeanM

While the original Chromecast did not have native AV1 support, The Chromecast 4k model does.  So I believe this will need looked at from the Android app side.

Update: Apologies..  Actually, I must have read the wrong spec sheet.  It's the Chromecast with Google TV (HD) model released September 22, 2022 that has the AV1 support. 

Edited by SeanM
Link to comment
Share on other sites

1 hour ago, SeanM said:

Update: Apologies..  Actually, I must have read the wrong spec sheet.  It's the Chromecast with Google TV (HD) model released September 22, 2022 that has the AV1 support. 

That is what I have found as well. However,  with the ccwgtv 4k, the sideloaded emby app would on occasion report that it was direct playing AV1. I am not sure how or why that is the case, potentially emby is mis-reporting somewhere along the line, or maybe it is actually playing it straight. I was not able to get it to consistently play, or play for a long period directly though. The HD model direct plays AV1 quite well with the sideload app!

@Luke/ @ebrIs there any status update available on adding the app to the store? Like a rough estimate maybe? Also, when it is added, will it be available on FireTV as well?

Link to comment
Share on other sites

32 minutes ago, lukeoslavia said:

the sideloaded emby app would on occasion report that it was direct playing AV1. I am not sure how or why that is the case,

 

5 hours ago, ebr said:

the standard app is attempting to do it in software (ffmpeg)

 

32 minutes ago, lukeoslavia said:

I was not able to get it to consistently play, or play for a long period directly though.

 

5 hours ago, ebr said:

...which may or may not work depending on the power of the device.

That is what is going on.  Make sense now?

Link to comment
Share on other sites

1 minute ago, ebr said:

 

 

 

That is what is going on.  Make sense now?

Not entirely no. Maybe I am misunderstanding, but I was under the impression that ffmpeg meant it was trying to software decode, and that mediacodec meant it was just direct playing, or do they mean the same thing? From what I saw, while it said mediacodec, the server said it was direct playing. When the app said ffmpeg, the server was transcoding the file. I was under the impression the ccwgtv4k should never have said mediacodec?

I have ditched the ccwgtv4k though and am mostly concerned with getting the newer app in the play store / firetv app store.

Link to comment
Share on other sites

ndfan77
22 minutes ago, ebr said:

That is what is going on.  Make sense now?

 

I understand the CCGTV4K isn't marketed as being AV1 capable -- but it actually does direct play AV1 in the AndroidTV v2.0.83g client quite well (when it's in a good mood):    

image.thumb.png.b5f2418939871b213954b5a125a37c2b.png

 

Would rendering 2160P AV1 with 30 to 40% CPU usage on the CCGTV4K smell like software decoding or hardware? 

image.thumb.png.3494f8c29f64fee222d713f34222945c.png

 

 

Link to comment
Share on other sites

ndfan77
1 hour ago, lukeoslavia said:

That is what I have found as well. However,  with the ccwgtv 4k, the sideloaded emby app would on occasion report that it was direct playing AV1.

For me, on the CCWGTV4K the sideloaded Emby for Android app (v3.3.18 or 19) always used Ffmpeg for the renderer and never rendered video correctly (black screen, or frozen image).

The Emby for Android TV app (v2.0.83g) always rendered AV1 video, but wouldn't always direct play.  (But once it got "in the groove", it would continue to direct play AV1, similar to previous screen shots, pretty reliably -- through multiple full length movies.)  An odd idiosyncrasy though, is that the "Stream" information in the Emby dashboard was always blank:

image.png.0e49d6f383a6581c2afaaeaedf6466a5.png

 

Link to comment
Share on other sites

4 minutes ago, ndfan77 said:

For me, on the CCWGTV4K the sideloaded Emby for Android app (v3.3.18 or 19) always used Ffmpeg for the renderer and never rendered video correctly (black screen, or frozen image).

The Emby for Android TV app (v2.0.83g) always rendered AV1 video, but wouldn't always direct play.  (But once it got "in the groove", it would continue to direct play AV1, similar to previous screen shots, pretty reliably -- through multiple full length movies.)  An odd idiosyncrasy though, is that the "Stream" information in the Emby dashboard was always blank:

image.png.0e49d6f383a6581c2afaaeaedf6466a5.png

 

It is weird that it does say its direct playing, when it seems it shouldn't. Have you tried turning off transcoding and then playing an AV1 file from the ccwgtv4k? I was not able to get anything to work with transcoding turned off on the server, or even playing a file directly on the chromecast, outside of emby. Given google's specs on the device, that is what I expected. Which is why I feel like there is likely some sort of mis-reporting happening since on multiple occasions emby seemed to think it was direct playing? its weirdness, I havent had to mess with the firetv cube aside from loading the other app up, so it got the win for me.

Link to comment
Share on other sites

ndfan77

To add more clarity, the Onn Google TV 4K and the Chromecast With Google TV 4K seem to have the same 4-core ARMv8 processor (down to the revision):

image.thumb.png.ce92394a3fe765fd06d4413c2df44997.png

image.thumb.png.66e2f85679c870d05c768ab0b04d729e.png

 

So, enquiring minds are probably wondering why the Onn Google TV 4K (which works correctly with the sideloaded Emby for Android client v3.3.19) would be any more capable of direct playing AV1 than the Chromecast With Google TV 4K -- when they seem to almost be identical twins (other than the USB port, physical chassis, and remote)...?

Also, when the Onn Google TV 4K direct plays the same AV1 2160P content with the sideloaded Emby for Android client (v3.3.19), it uses a similar amount of CPU to the Chromecast With Google TV 4K with the Emby for Android TV client (v.2.0.83g) when it direct plays:

image.thumb.png.e4c32e184e24e43346dddc7d8148a8a1.png

 

  • Like 1
Link to comment
Share on other sites

ndfan77
33 minutes ago, Luke said:

Hi.  Can you try sideloading our standard android app on the same device and see how that compares?

https://emby.media/emby-for-android.html

Thanks.

 

Luke, the previously mentioned testing with the v3.3.19 Emby client was with the ARM7 client from that link.

If improving AV1 playback in Emby is now in focus, these are the questions I'd submit should frame the :

  1. Why do the store versions of the Emby client for Android TV (v2.0.83g) and Fire TV (v2.0.79a) not direct play AV1 on devices known to support it (Onn Google TV 4K, Amazon Fire TV Cube 4K, and [IMO] Chromecast With Google TV 4K)?
  2. The sideloaded Emby for Android client (v3.3.19) does direct play 2160P AV1 correctly on the Onn Google TV 4K and Amazon Fire TV Cube 4K, but does not direct play AV1 (or render video at all) on the Chromecast With Google TV 4K (apparently because it's trying to use Ffmpeg for decoding instead of the MediaCodec API).  This [IMO], doesn't make sense because the Chromecast With Google TV 4K seems to be an almost identical twin to the Onn Google TV 4K.

I'd also submit the Chromecast With Google TV 4K should be considered a high value target. 

I currently have all three of these devices setup for testing (and I'm an old-school assembly language systems developer).  If there's anything more I can do or provide let me know.

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...