Fire OS is the operating system that runs Amazon's Fire TV and tablets. Fire OS is a fork of Android, so if your app runs on Android, it will most likely run on Amazon's Fire devices too. As a developer, you might not have to adjust your Android code at all to publish your app on Amazon's OS.
Most Fire devices receive over-the-air updates to get Fire OS updates automatically. Not every Fire device receives a push of the same Fire OS version at the same time. The updates often roll out to different devices at different times.
You can see your version of Fire OS by going to Settings > Device > Fire TV and looking at the "Software Version" details. More information about Fire OS versions is provided in Amazon Fire TV Device Software Updates in the Fire TV end-user documentation.
With our latest software release, debug and verbose logging is disabled by default. This is done to optimize our devices and backend storage services to ensure a great device experience for our customers. For development or QA you can use the below commands to include debug and verbose logs.
At the core, both Fire OS and Android share the same foundation. The main way Fire OS differs from Android is in the services. Instead of using Google's services (for activities such as browsing, location, messaging, payments, and so on), Fire OS might use Amazon's services. Most notably, Amazon uses the Amazon Appstore to list your app while Google uses Google Play Store.
I've narrowed down the issue to those rendered with a NUC i3 with Intel Iris Plus 665 play in Direct Play mode, while those rendered with my newer Intel A380 6 GB GPU are all being Transcoded. Stats for Nerds indicates the reason for Transcoding is Direct Play Error.
On looking into this, I looked up the Emby for Fire Stick app on my app store, and they indicated the version I currently have in my 4 Fire TV Stick 4K units are on Emby For Fire Stick Version 2.0.93a. The app store info indicated the last update was September 9, 2023, last Saturday. I did not see the update happen, so it must have occurred automatically in the background on my Fire Sticks.
I purchased the A380 GPU in February 2023. It renders more than twice as fast as the NUC and does a very good job, but apparently there is a difference in the files that the Emby For Fire Stick App now chokes on, where it did not in the prior version.
My Fire TV Stick 4K's are on Fire Stick's Fire OS 6.2.9.7 (N56297/4660), except for one that during this process of discovery, I updated to Fire OS 6.2.9.8 (N56298/4758) as it was available and I wanted to see if that would clear the issue. It did not. I also know that this Fire Stick OS update is fairly recent, last couple of weeks, but the Direct Play problems didn't appear until last weekend.
I was able to take screen shots (see attached jpg's) of the Fire Stick 4K outputs. The first image 0002 is the Emby Fire Stick app settings screen showing the current version 2.0.93a. The second and third 0003 and 0004 show Stats For Nerds data of files that transcode. The fourth and fifth 0005 & 0006 show files that Direct Play. All the Stats For Nerds captures are from different files. I flipped through my library and found files that play direct and files that transcode. In every case I checked, the transcoding files show Stream Type: HLS and Conversion Reason: Direct play error. The files that play direct all showed Stream Type: HTTP.
I know that HTTP is a network protocol that is familiar, assuming it means what it usually means, but I'm not familiar with HLS, though. It's not a rendering difference I made from file to file that I'm aware of. Ok, looked it up: HTTP Live Streaming (HLS). Now I'm confused, so does Stream Type: HTTP mean HLS anyway?
I found some files that were rendered before I changed from the NUC to the Intel Arc A380 GPU to render with, so it's not only A380 files that don't stream direct, but some NUC files as well... It's just that all the A380 GPU rendered files don't play direct at this point. That was my first impression that something was different with the A380 GPU output, but that theory kind of goes out the window, I guess, when I found NUC rendered files that also need to transcode for some reason.
Ok will try on my fire stick 4K in my computer room (close by to my PC's). I did a sideload or 2 when trying to solve an issue on my old fire sticks a while back (couple or so years ago) so I'm relearning it... That time you had me download a beta version for Fire Stick. I can't find the post thread on that...
I took a look at the apk's listed on the -for-android.html link you provided, but I am unsure which of the listed apk to choose. Seems the x86 and x64 would be for windows(?) or Intel processors, so which apk is the "standard" android arm7 or arm64 are compatible for Fire Stick 4K? Need to pick the right one. I don't know what processor is in a Fire Stick, but would venture it likely would be an ARM rather than Intel.
Was able to DL the Downloader app, and enable Developer mode to get at the permission to DL apps from unknown sources. Always a bit uneasy about that... Anyway, I am guessing the arm7, as it's first on the list, but need to make sure. The arm7 link shows a file name:
I got the arm7 apk sideloaded successfully, and it functions, but the same outcome occurs on the same sets of files. The ones that Direct Played on the Firestick Emby 2.0.39a App still played on the Android 3.3.31 version. and the ones that transcode on FS app still transcode on the Android app, so think they both have issues, was worth a try...
If you wish, I can re-render a short section maybe 5 or 10 minutes of a file on both my NUC and my Intel A380 GPU. I did this in my investigation with some files, the NUC ones Direct played and the A380 ones transcoded when played. That's why I went down that line of thought initially, but I did find a rare few that were NUC files that also transcode when played on the current Emby for Firestick and the android app. The A380 files transcoded whether it was HEVC 8 bit or 10 bit depth.
I just realized I had a dyslexic moment when naming this thread, said 2.039a instead of 2.093a, and also in the typing in some of my posts on this topic. I hope that's not pushing down the progress on my issue...
I'm wondering if I can sideload the prior Firestick version of the app, think it's 2.0.90 (from your release notes post) to see how it acted for sure. I really hadn't paid much attention to the version updates prior to this when I saw the issues I starting having last Sunday. One reason I switched to the Firestick in my PC room was that one hadn't been on in weeks, but when I started it up, the Firestick OS was immediately updated, and apparently so was the Firestick version at the same time, so it woke up in 2.093a. I was going to see if whatever version was on that one acted as I remembered, just to make sure. Do you have an archive of past versions for such a purpose?
On your forum Android TV/ Fire TV release notes post, I see that it's dated December 16, 2016. Apparently, the date doesn't change as it is revised. It would be helpful to the users to put the date in the text of the release note as it is revised.
I can still do short renders (to keep file size down) of the same source file on the different PC's and send if you'd like to see if you can tell differences that the Firestick 2.0.93 and Android 3.3.31 are choking on. I can see the messages in Stats for Nerds within jus a few seconds, so if you'd like a shorter length, just let me know.
OKAY, Progress. I kept noticing UPnP Errors in the logs, but didn't see any connection to the issues at hand. However, I seem to remember enabling the port forwarding manually in my router. I looked and it is. I also looked at my plugins on emby server and saw the port forwarding plugin was installed. I uninstalled it and restarted the emby server, and tried the Emby Android app 3.3.31 I had sideloaded, and all the files now direct play! -- COOL!!
I uninstalled the Android app, and reinstalled the Fire Stick version 2.0.93a hoping this UPnP error thing was the issue, but the same behavior is still happening: transcoding some, direct playing others, the same files as before.... Emby for Fire Stick 2.0.93 is definitely borked up and needs to be fixed.
Update. With what I found last night, I tried the Emby Android app 3.3.31 sideload on my Livingroom Samsung HD (1080) tv, with Fire Stick 4K this morning. The same files that transcoded, on my Emby Firestick app 2.093a were transcoding on the Android app... I went back to my pc room and checked the Firestick 4K with the Android sideloaded app on my LG 4K pc monitor, and it was also now transcoding again.
Last night when I thought I made the breakthrough, I had uninstalled the port forwarding plugin, and that required a restart of the Emby Server, currently 4.17.14.0. So, I tried restarting the Emby Server again this morning, and the Android version started Direct Playing again. I went back to the Livingroom TV and it was now Direct Playing. I came back to the pc room and the 4K monitor was transcoding again. It seems to straighten up and Direct Play for a while, but will ultimately fall back into a state where it transcodes again. Sometimes in just a few minutes, sometimes longer, at this time tonight as I'm writing this, it's continued to Direct Play for about an hour so far on the android app.
d3342ee215