Comments (126)
HDR support should work in the app after #244 is merged as exoplayer 2 supports it.
from jellyfin-androidtv.
Since HDR support requires backend changes in addition to major front end changes to work, it is an enhancement and not a bug.
HDR support isn't magicaly included without us having to put in effort. It's a deliberate feature addition since currently, almost none of the JF stack is HDR capable (with 10.4.0 we have put one of a few required backend changes for HDR into place).
Given that Emby appears to still be shipping ffmpeg 4.0.*, they arent HDR capable anywhere in the stack either.
from jellyfin-androidtv.
If this wont be solved then jellyfin will be a no go for many users. In plex (shield 2019) works perfect with exo player.
We are definitely aware that HDR compatibility is an issue, but solving this is a big undertaking (read: lots and lots of developer hours) and very likely will not make it into the 0.12 release.
In general, improving playback is very high up on our list of features we (or in this case @nielsvanvelzen) would like to work on though :)
from jellyfin-androidtv.
I spend about 2 hours debugging this issue and it needs quite a lot of changes to get it working properly.
Currently a lot of magic happens to determine support for various codecs. In the end most of it is hardcoded and doesn't really ask the OS if it supports everything. Next up, the logic is split and duplicated in multiple locations making it very hard to fix.
My conclusion in the end is that the whole ProfileHelper class needs to be rewritten to fix this issue.
I'll remove it from 0.11.1 but won't add it to 0.12.0 because I don't know if I or someone else wants to work on this.
from jellyfin-androidtv.
This is not enhancement, is a bug. Basically every 4k video has HDR and this makes those videos unwatchable, eg. washed out...
from jellyfin-androidtv.
I submitted this as a feature request, but would be great to have an option to pre-select (before playback) the audio stream and subtitle. Also would be great to have a "playback info" button/option (like in plex) to show stream info (direct play/trancoding, bitrate, codecs, resolution, etc) without the need of having open a browser and check active devices.
from jellyfin-androidtv.
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.
from jellyfin-androidtv.
@ggogel, I was able to work around this in my own setup by turning off transcoding in the user settings. This seems to avoid the codec detection for me.
from jellyfin-androidtv.
Just for reference the issue I opened #128
With Exoplayer I still get no HDR. With libvlc I get HDR now but no DD pass-through.
When I disable "allow video playback that requires transcoding" for my user as @ryantiger658 suggested, both HDR and DD pass-through work with Exoplayer. So the app definetly reads out supported codecs / formats incorrectly or not at all.
from jellyfin-androidtv.
@ggogel good callout there. It looks like hevc should be supported on any device the app supports, so I opened a PR to enable it everywhere. A lot of the playback code doesn't make sense to anyone. We plan to refactor it for 0.13 hopefully.
from jellyfin-androidtv.
I get that. Just saying that JF should be developed with HDR and possible future "enhancements" in mind, that includes newer/current ffmpeg (nightly is now running on 4.0.2, which is quite old) to support features that matter in that time, not to be stuck in past.
Stop thinking about Emby (i hate that name), JF should be better than that :D
from jellyfin-androidtv.
@nextlooper42 The good news is - we've updated our core server code to use either 4.0.x or 4.1, and work is ongoing for 4.2. We are thinking about it - it's just a matter of time.
from jellyfin-androidtv.
If I'm not mistaken, the nightly docker uses ffmpeg 4.2. But yeah, we have started with HDR support at ffmpeg (the absolute bottom of the stack).
If I'm not mistaken, @vitorsemeano has been working on HDR playback support (by moving to exoplayer) in web and/or android, but it's not going to land in 10.4.z since it still needs work.
We are getting there, slowly but surely. It's just a LOT of work to add in HDR support :)
from jellyfin-androidtv.
Just wanted to check in here since Jellyfin uses ffmpeg 4.2.1 now. Hopefully this comment will stop more people from asking constantly.
from jellyfin-androidtv.
I built and installed the Android TV app yesterday, and while it plays HDR content, it does not properly display the HDR colours. This is most likely due to the server detecting that the video codec is not compatible, and the server is transcoding the file, when its not necessary. The file in question is HEVC, Main 10 profile, yuv420p10le pixel format.
from jellyfin-androidtv.
I have the same problem as @viggy96
Files are transcoded when they should be able to be direct played.
from jellyfin-androidtv.
Is this another bug? Media being transcoded when it shouldn't be?
from jellyfin-androidtv.
@nielsvanvelzen @thornbill
I don’t know how you’d like to organize this one. I’ve stuck it in 0.11.1 for now, but move if needed.
from jellyfin-androidtv.
Is ExoPlayer capable of tonemapping HDR for SDR displays? Could AndroidTV profiles default to HDR support and then allow ExoPlayer to tonemap the video?
from jellyfin-androidtv.
@nielsvanvelzen can you catch me up on what you've found? I can start digging on the backend to figure out what needs to be done
from jellyfin-androidtv.
@Artiume it's been a few days but basically while testing no matter what I did (even when changing the profiles to allow everything to direct play) the server would transcode. It used different reasons like codecs not supported etc. (I suspect these come from the app side).
When transcoding though, even when HDR profiles are specified it would always convert video to SDR. (yuv444 to yuv420)
I tested it on my Philips TV that has HDR support.
from jellyfin-androidtv.
IIRC, the video Transcoder is currently hard coded to force ffmpeg to do 8bit. Ffmpeg's default is to maintain the original bitrate. My thought is that maybe the original dev's couldn't get the builder to build correctly with a dynamic bitrate coming from ffmpeg.
Here's where I breakdown the state builder, I haven't flushed out the ffmpeg flags yet though
jellyfin-archive/jellyfin-docs#202 (comment)
Is that what happens when you disable the user from allowing to transcode or you mess with the client profile?
Here's the transcode and streaming logic
jellyfin-archive/jellyfin-docs#202 (comment)
from jellyfin-androidtv.
IIRC, the video Transcoder is currently hard coded to force ffmpeg to do 8bit.
So we need a backend update to get HDR working when transcoding?
Is that what happens when you disable the user from allowing to transcode or you mess with the client profile?
I changed the client code to allow the codecs used in my HDR test file.
from jellyfin-androidtv.
So we need a backend update to get HDR working when transcoding?
Yes, hdr transcoding is the holy grail. For now, direct play is the goal.
I changed the client code to allow the codecs used in my HDR test file.
Disable the permissions to transcode/remux and see what you get (ensure it direct plays, check to make sure no ffmpeg logs are generated). If you get a black screen, either there's libs missing in AndroidTV or the TV doesn't support the file.
Here's a good read for tone mapping control with ffmpeg.
https://web.archive.org/web/20190722004804/https://stevens.li/guides/video/converting-hdr-to-sdr-with-ffmpeg/
from jellyfin-androidtv.
I spend about 2 hours debugging this issue and it needs quite a lot of changes to get it working properly.
Currently a lot of magic happens to determine support for various codecs. In the end most of it is hardcoded and doesn't really ask the OS if it supports everything. Next up, the logic is split and duplicated in multiple locations making it very hard to fix.
My conclusion in the end is that the whole ProfileHelper class needs to be rewritten to fix this issue.
I'll remove it from 0.11.1 but won't add it to 0.12.0 because I don't know if I or someone else wants to work on this.
If this wont be solved then jellyfin will be a no go for many users. In plex (shield 2019) works perfect with exo player.
I tried both libvlc and exoplayer, and hdr files (mkv h265, 4k) are played correctly only if you dont use switch refresh rate. If you use refresh rate switch, they switch from 4k to 720p but with correct hdr color space (hdr mode activated on tv). I think there is hope to make this work
from jellyfin-androidtv.
@Artiume it's been a few days but basically while testing no matter what I did (even when changing the profiles to allow everything to direct play) the server would transcode. It used different reasons like codecs not supported etc. (I suspect these come from the app side).
When transcoding though, even when HDR profiles are specified it would always convert video to SDR. (yuv444 to yuv420)I tested it on my Philips TV that has HDR support.
On shield pro 2019 mkv hdr 4k is working with direct play using libvlc, video stream is displayed correctly at 60hz. Refresh rate option makes it switch to 720p, but still with correct colors. So, it is partially working. I am willing to further test, just send some other scenarios. Regards
from jellyfin-androidtv.
AFAIK, modifying the profiles probably won't get you anywhere as of now until we make backend cognizant of hdr. Disabling backend from transcoding is what I wanted to verify that if the profiles were correct, the client would handle hdr. For your Philips TV, what client was used? Glad to see hdr was working on your shield.
from jellyfin-androidtv.
AFAIK, modifying the profiles probably won't get you anywhere as of now until we make backend cognizant of hdr. Disabling backend from transcoding is what I wanted to verify that if the profiles were correct, the client would handle hdr. For your Philips TV, what client was used? Glad to see hdr was working on your shield.
I forgot to mention that I also disabled transcoding.Thanks.
from jellyfin-androidtv.
Another issue for us as devs is hardware. I don't know if anyone even has hdr capability so a lot of us work off theory to add support
from jellyfin-androidtv.
I greatly respect and appreciate your work, I suppose it takes a lot of hours put in but just keep in mind we do live in hdr era, bluray rips, etc. So keep this feature close to your priorities. It does work to some extent, but it also can be perfect :). Keep up the good work guys, excelent job! If you want me to help you with hdr testing, let me know. I have a shield tv pro 2019, a Sony Android TV, oneplus 7 phone, unraid nas, omv nas, windows 10 machine.
Kind regards
from jellyfin-androidtv.
I would also be happy to help testing. I have a Shield TV 2019 and a LG C9 OLED TV.
Currently i work around this issue by creating a samba share of my media and directly watching HDR content through the vlc app over smb.
from jellyfin-androidtv.
I would also be happy to help testing. I have a Shield TV 2019 and a LG C9 OLED TV.
Currently i work around this issue by creating a samba share of my media and directly watching HDR content through the vlc app over smb.
You can use the Android client with libvlc player but make sure you disable transcoding on the server side
from jellyfin-androidtv.
@yanakis71 I know, but i need transcoding enabled when im not watching something on the tv. Or is there an option to disable transcoding for specific clients/ips?
from jellyfin-androidtv.
Not sure, I will test with transcoding also but with libvlc.
from jellyfin-androidtv.
Thanks for the offers of helping to test things, we will gladly come back to you on it when it is time :)
from jellyfin-androidtv.
I've confirmed that disabling transcoding on the server indeed allows for HDR playback to occur properly on my Sony Bravia TV. However, it also shows the same issue as VLC does, in that in some HDR content, the bars around the content which should be black are actually gray. I believe the fix for this that I saw on the VLC gitlab was to change the background color of the player from black to transparent. Maybe the transcoding issue can be moved to another issue, and this issue can be kept to HDR specific problems?
from jellyfin-androidtv.
I've also noticed that libVLC does not seek properly through video, but Exoplayer does not have this problem. The gray bars problem exist on both however.
from jellyfin-androidtv.
I've confirmed that disabling transcoding on the server indeed allows for HDR playback to occur properly on my Sony Bravia TV. However, it also shows the same issue as VLC does, in that in some HDR content, the bars around the content which should be black are actually gray. I believe the fix for this that I saw on the VLC gitlab was to change the background color of the player from black to transparent. Maybe the transcoding issue can be moved to another issue, and this issue can be kept to HDR specific problems?
Hi. Did you try to use the "refresh rate option" available in player settings?
from jellyfin-androidtv.
@yanakis71 Yup, with both the "refresh rate switching" on and off, the grey bars persist around HDR content.
from jellyfin-androidtv.
@yanakis71 Yup, with both the "refresh rate switching" on and off, the grey bars persist around HDR content.
For me, the refresh rate switches 4k to 720p
from jellyfin-androidtv.
Could you post your TV model numbers and the codec type you're testing on since there's many versions of HDR
from jellyfin-androidtv.
TV model: Sony Bravia X900F
The first screenshot is of HDR content that displays grey bars when played.
The second does not does not display grey bars, but it is also HDR.
from jellyfin-androidtv.
TV model: Sony Bravia X900F
The first screenshot is of HDR content that displays grey bars when played.
The second does not does not display grey bars, but it is also HDR.
What client is this?
from jellyfin-androidtv.
@yanakis71 This is the MPV shim client. Figured it would provide the most codec information.
from jellyfin-androidtv.
Actually, if you don't mind helping. Can you run ffmpeg -i video.mp4
against the HDR content? I'd like to get more details on HDR10, HDR10+ and DV codecs.
If you'd like to learn more, I can break down everything to show you guys how the stream engine works. You'd be able to tweak it as needed to get ffmpeg to properly transcode the files. The codec details you provide can help us know how to fix the clients.
Here's a couple notes I have for getting compatibility
https://github.com/Artiume/jellyfin-docs/blob/master/general/wiki/ffmpeg.md
Here's the stream engine notes
jellyfin-archive/jellyfin-docs#202
Happy bug huntin' 🎉
from jellyfin-androidtv.
@Artiume Here's the output. Alita has grey bars, The Witcher does not.
from jellyfin-androidtv.
@viggy96 thanks. Are they transcoding/remuxing or Direct Playing? If they're transcoding at all, can I get those ffmpeg logs
from jellyfin-androidtv.
@Artiume I mean they only display HDR colours properly when they are NOT transcoded, as mentioned earlier in the issue. So currently I've disabled transcoding on the server side for my user.
from jellyfin-androidtv.
Ok, I just wanted to make sure. If the file is direct played and Alita has the Grey bar issues, that issue would be with the player and not ffmpeg. So I didn't want to go down the wrong rabbit hole.
from jellyfin-androidtv.
Yup no problem.
from jellyfin-androidtv.
For now, I think the best workaround without having to constantly enable/disable transcoding on your user account is to make a secondary 4k user account and disable transcoding on that profile. IIRC, the next android tv update will allow for better user switching.
However, it also shows the same issue as VLC does, in that in some HDR content, the bars around the content which should be black are actually gray. I believe the fix for this that I saw on the VLC gitlab was to change the background color of the player from black to transparent.
@nielsvanvelzen From the sounds of it, this is an upstream issue, you have any ideas about it?
Alita's video codec that has the gray bars. From the codec side of things, the only thing I notice is the anamorphic ratio, but the player should be handling it correctly?
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x1608 [SAR 1:1 DAR 160:67], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
Witcher was normal
Stream #0:0(eng): Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 1920x1080 [SAR 1:1 DAR 16:9], 24 fps, 24 tbr, 1k tbn, 24 tbc (default)
from jellyfin-androidtv.
@Artiume @nielsvanvelzen Here is another example of content that exhibits grey bars:
MiB_International.txt
from jellyfin-androidtv.
Same deal with the DAR. So the witcher was in 1080p, can you find a 4k res hdr file that has a normal aspect ratio and see how it plays?
from jellyfin-androidtv.
@Artiume Here's a 16:9 4K HEVC HDR example. Of course, since the content itself fits the display perfectly, there aren't any bars at all, so the issue isn't present.
GitS_2017.txt
from jellyfin-androidtv.
I'm kinda jealous in your ability to watch that in 4k HDR >.>
You sure that's a 16:9 ratio? The DAR is 1920:959, that ratio comes out to .499 (2.00:1) while 16:9 ratio is .5625 (1.77:1)
from jellyfin-androidtv.
I mean that's what Jellyfin reports in the browser. Also, pretty sure my TV is 16:9 and it fits it perfectly without any bars. Or at least, if there are any bars, they're so small I can't see them, lol.
from jellyfin-androidtv.
The original Ghost in the Shell (1995) also exhibits grey bars above and below the content. It also has another issue of not displaying the subtitles even though I have selected them in the player.
GitS_1995.txt
from jellyfin-androidtv.
🤔... 😣... 🤔
So this is a wild guess. The movie was originally shot in 1.85:1 ratio which just added to my confusion, but I think I know what's going on. That you should have the normal wide-screen black bars on your TV. Better yet, they're GRAY right now 😉. I think that's the issue. I think there's a filter being applied wrong or something.
@nielsvanvelzen how does that sound to you? I'm not sure if this is an artifact of how HDR does black, or if the codec is applying a transparent color thus anything that could be behind it is being shown through. It could also be that the player is supposed to fill in the missing video gaps and isn't doing it correctly.
I'm not sure why it's reporting 16:9 though, I wonder if that could be the issue as well.
https://forum.videohelp.com/threads/308552-Resolution-vs-Aspect-Ratio
https://www.lifewire.com/black-bars-on-lcd-plasma-oled-1847838
https://ultrahd.highdefdigest.com/45755/ghostintheshell2017ultrahdbluray.html
from jellyfin-androidtv.
For gits 1995, I think we're having sub issues, you'd have to check our tickets for it. What ratio does this report?
from jellyfin-androidtv.
@Artiume @nielsvanvelzen Here's the VLC Android TV Gitlab issue related to this 'grey bar' behavior: https://code.videolan.org/videolan/vlc-android/issues/943
from jellyfin-androidtv.
Odd, the link isn't working for me right now. Do they have the same kind of TV? And you're having this issue with every app, not just libvlc right?
from jellyfin-androidtv.
@Artiume lol, I'm the one who submitted the issue originally, but it has been reported on other Sony models as well, such as the Bravia X90G, and Bravia 8AG. Yes, this occurs with any third party video app. Sony appears to have a quirk with its HDR implementation that causes the black canvas of the video player to render as grey instead of the intended pitch black. In that link it was said that the MrMC app worked around this by changing the background of the player to transparent instead of black. Here are the internal links:
CiNcH83/bravia_atv2#44
MrMC/mrmc@e686c40
https://community.sony.co.uk/t5/android-tv/amazon-prime-4k-hdr-grey-letterbox/td-p/2278204/page/4
from jellyfin-androidtv.
Thanks :) they're really helpful. The PR looks simple enough, just need to run some tests to make sure it doesn't cause any issues
from jellyfin-androidtv.
@viggy96 are you able to build and test this PR: #369
It might fix the grey bar issue but as I don't have a Sony television I can't test it.
from jellyfin-androidtv.
Could you post your TV model numbers and the codec type you're testing on since there's many versions of HDR
So, more testing, transcoding disabled. Sony 900e, nvidia shield tv pro 2019.
alita.txt
Alita, 4k HDR, true HD 7.1 (ffmpeg info attached)
- Player selection auto, no refresh rate switch --> direct play, TV HDR mode ON, resolution stays at 4k,
- Player selection auto, refresh rate switch on ---> direct play, TV HDR mode ON, resolution is set to 720p/24hz, plays few second then player crashes
- player selection EXO, refresh rate ON ---> direct play, TV HDR mode ON, resolution is set to 720p, no crash
- Player selection libvlc, refresh rate ON ---> direct play, TV HDR mode ON, resolution is set to 720p, crash after few seconds
- Player selection EXO, refresh rate OFF---> direct play, TV HDR mode ON, resolution stays at 4k (60hz I guess) , no crash
- Player selection libvlc, refresh rate OFF---> direct play, TV HDR mode ON, resolution stays at 4k (60hz I guess) , no crash
In any of above cases no grey bars displayed.
I guess there is a problem with the switcher not detecting the stream native resolution
however, disabling transcoding is just a workaround, it needs to properly detect player capabilities and direct play/transcode as needed.
I will get back with Sony 900E testing,
Thanks
from jellyfin-androidtv.
I thought of a better patch in the meantime until proper client detection is made. I'll add a toggle option to force direct play hdr content. Do you know if your TV supports hdr10+ and DV? And do you have any content with their types that you could run ffmpeg against?
from jellyfin-androidtv.
Sony 900E does not support HDR10+ or DV. I could get some DV content but no TV to play on.
Sony 900E testing: HDR10 direct play (Alita) works fine, no black bars with both players, refresh rate ON/OFF does not matter. EXO player seems to be a little bit smoother than libvlc
Edit: resume playback to last position does not work in EXO player. Also fast forward
from jellyfin-androidtv.
Ok, I might add three toggles then. One for each codec profile, that way end users can select it themselves. AFAIK, our only hdr capable players are vlc and exoplayer.
from jellyfin-androidtv.
My option will be a profile option, I'm not a coder by trade so I do what I can 😊. I believe the codec details are in the works for Android TV.
from jellyfin-androidtv.
yeah, I get it :). Activating back transcoding force it while previously direct play worked fine.
from jellyfin-androidtv.
Can you give any ffmpeg logs for the failed playback attempts?
from jellyfin-androidtv.
for the one that get transcoded instead of direct play?
another note: PGS subtitles does not load while direct play HDR 10 files with EXO player on Shield and Sony 900e.
from jellyfin-androidtv.
@nielsvanvelzen That build does not solve the grey bar issue.
from jellyfin-androidtv.
For failed playback attempts that occur when transcoding, I'd like those ffmpeg logs.
For the sub issues, submit your details here, client and codec information should be sufficient.
jellyfin/jellyfin#2435
from jellyfin-androidtv.
@Artiume @nielsvanvelzen has fixed the Sony Bravia grey bar issue. Also I noticed that the subtitle issue I had mentioned earlier is not a problem in the latest debug build of Jellyfin. So the pieces are all in place for good HDR support, the ProfileHelper needs to be redone so that users don't have to turn off transcoding.
from jellyfin-androidtv.
Can you provide the profile name that your tv uses as a client. If it's not generic, I'll see if I can make something now
from jellyfin-androidtv.
Profile name?
from jellyfin-androidtv.
@nielsvanvelzen what options would be available to have the client parse the TV Model back to the client and backend?
It might be because I don't have a smart tv, but I couldn't find anything in the backend so I think we have to work on the client first. For now, I think the solution will be to have toggles to enable HDR. It will be a bit of a hack and if you attempt watching HDR on your browser, it'll direct play so it'll break other clients while fixing a few when playing hdr content 🤕
The Profile came back as Android-VLC, but nothing else was present. We did get back a DeviceId=681051264304da39
so perhaps we could whitelist specific devices. @JustAMan or @EraYaN might have an idea on that one.
[2020-03-01 23:56:24.520 +00:00] [INF] User policy for "artiume". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2020-03-01 23:56:24.521 +00:00] [INF] Profile: "Android-VLC", Path: "/media/anime/Slayers/Season 3/Slayers - S03E03 - Where'd That Arrogant Guy Go HDTV-1080p.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2020-03-01 23:56:24.521 +00:00] [INF] RemoteClientBitrateLimit: 1000000, RemoteIp: "192.168.1.41", IsInLocalNetwork: True
[2020-03-01 23:56:24.772 +00:00] [INF] Profile: "Android-Exo", No direct play profiles found for Path: "/media/anime/Slayers/Season 3/Slayers - S03E03 - Where'd That Arrogant Guy Go HDTV-1080p.mkv"
[2020-03-01 23:56:27.692 +00:00] [WRN] HTTP Response 206 to "192.168.1.41". Time (slow): 0:00:01.6058216. "http://192.168.1.100:8096/Videos/da581b2127e45ab06740e6282c6b8758/stream.mkv?DeviceId=681051264304da39&MediaSourceId=da581b2127e45ab06740e6282c6b8758&Static=true&Tag=2c12d9d2c2503e7472a2205075351f82"
[2020-03-01 23:56:36.435 +00:00] [INF] Playback stopped reported by app "AndroidTV" "0.11.1" playing "Where'd That Arrogant Guy Go?". Stopped at "682792" ms
[2020-03-01 23:56:37.245 +00:00] [WRN] HTTP Response 204 to "192.168.1.41". Time (slow): 0:00:00.8720379. "http://192.168.1.100:8096/Sessions/Playing/Stopped"
from jellyfin-androidtv.
The whole logic behind selecting when to transcode and when not needs to be raised to the ground and rebuilt to start making sense.
Right now it's a pile of workarounds IMHO.
I don't think it's going to happen soon, though, as no one volunteered in cleaning it up yet. :(
from jellyfin-androidtv.
All profiles are defined in the ProfileHelper.java file. It's one big mess though.
The profile names used are:
- Android-External
- Android-VLC
- Android-Exo
from jellyfin-androidtv.
Oh, I was referring to server-side part. I have no clue about AndroidTV side of things on that matter :)
from jellyfin-androidtv.
Hi. In Android standard we have this option to select audio stream and subtitle prior to playing a file. Can you add to the Andoid TV app?
What about that "toggle" to activate/deactivate transcoding?
Thanks
from jellyfin-androidtv.
Just keeping this issue open.
from jellyfin-androidtv.
I got a 65PUS8505 from Philips here and HDR content is getting transcoded both with exo and libvlc. Non HDR hevc content direct plays. Disabling refresh rate switching doesn't help.
from jellyfin-androidtv.
@ggogel This is a known issue. The app currently doesn't detect what codecs the TV supports, rather the codecs that "require transcoding" are hardcoded into the app. This will change in the future.
from jellyfin-androidtv.
+1. I also have no audio in playing using exo. If I switch to libvlc the audio works, but will stutter and try to transcode same as exo (minus no audio).
Running same files in Kodi 19 beta works just fine. Didn’t try 18.9.
Hope to use Jellyfin for the 4K HDR films in future though.
from jellyfin-androidtv.
10.7 will have support for HDR which should help with this issue, i dont have hdr hardware so I cant test it
from jellyfin-androidtv.
@Artiume I'm already running 10.7 RC2 and it did not help. This is a client issue of reporting back supported codecs incorrectly.
from jellyfin-androidtv.
does the mediainfo for the file show the proper metadata for HDR? I'll check out exoplayer to see whats up
from jellyfin-androidtv.
Yes obviously, as I get HDR if I force disable transcoding or in the Emby app. Furthermore it works with kodi. This is not only one file but all HDR content I tried so far has this exact issue.
from jellyfin-androidtv.
I guess this is causing the issue
If it's not a shield, nexus or beyond tv it's simply disabling hevc in the directPlayProfiles
when using exoplayer.
I don't get why those are set in the setExoOptions
but not in the setVlcOptions
method.
Later it is actually checking for hevc support but only for the CodecProfiles
and not the DirectPlayProfiles
This code doesn't make any sense to me...
from jellyfin-androidtv.
@thornbill Thanks! Looking forward to test it. Is there a repo I can pull a nightly / dev build from?
from jellyfin-androidtv.
You can download the latest build from Azure and sideload it to your device. This one includes the HEVC change:
https://dev.azure.com/jellyfin-project/jellyfin/_build/results?buildId=22263&view=artifacts&pathAsName=false&type=publishedArtifacts
from jellyfin-androidtv.
Tried to sideload it on my Shield but it errors out on install. Is this a 64-but APK above in artifact? Trying to install on my tube Shield (32-bit).
from jellyfin-androidtv.
You need to use the .apk file that has "_debug" in the name. That one should just work, there is no architecture requirements.
from jellyfin-androidtv.
Thank you, that worked and was able to install it. However it’s giving me a
VolleyError com.android.volley.NoConnectionError:
Connecting via IP:8096. Working on other devices and server running 10.7 RC2.
from jellyfin-androidtv.
A NoConnectionError means that you're not connected to the internet of the server is inaccessible. This can also happen when you misspell the server address. Try prepending the "http://" part.
from jellyfin-androidtv.
Tried http/https to no avail. Re-installed Jellyfin from the Play Store and it works on that version. So it's something that's in the newer build possibly?
There is a reverse proxy setup on the same IP/machine, but I figure since it works just fine with the regular Jellyfin in the Play Store, then it shouldn't be interfering?
from jellyfin-androidtv.
I've installed this version now:
https://dev.azure.com/jellyfin-project/jellyfin/_build/results?buildId=22537&view=artifacts&pathAsName=false&type=publishedArtifacts
This version transcodes absolutely everything. Even low bitrate h264 content is transcoded. I've set the max bitrate to 120 MB/s. Didn't help either. Only when I disable "allow video playback that requires transcoding" again, it plays without transcoding. So the situation went from bad to worse...
I don't if it's just the debug version but it crashes like every three minutes.
from jellyfin-androidtv.
I don't if it's just the debug version but it crashes like every three minutes.
On my Shield HDR content plays without transcoding but always crashes after a few minutes. SDR content plays fine
Using the non dev version
from jellyfin-androidtv.
Related Issues (20)
- Option to disable the players hardware encoding HOT 1
- Continue Watching now working HOT 2
- PIN protection for users
- Chromecast TV VC1 - “Too many errors. Giving up”
- surround sound doesn't work on fire cube
- Next Up items on homescreen not updating position HOT 2
- Crash When App Start HOT 1
- Open "Next Up" Media from Home Screen - Control not working in Jellyfin App
- Audio only PCM when refresh rate switching is on
- v0.16.9 crashes back to firestick home screen when attempting to play any video HOT 2
- Crashes when tying to select next episode HOT 5
- black screen on playback end HOT 2
- Subtitle and Audio don't sync via server HOT 2
- Jellyfin 0.16.10 not working on Android TV 11 HOT 1
- Next Up items do not always open the correct page
- Can we add a bullet comments feature? HOT 1
- add Jellyfin as Youtube option HOT 1
- Time Sensitive Seeking
- Jellyfin app fails to start sometimes in Chromecast. Null pointer exception in logs HOT 3
- Quick connect code displayed in reverse on rtl languages HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jellyfin-androidtv.