Jellyfin Forum
SOLVED: Unplayable 4K despite beefy PC / Google Fiber - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: Unplayable 4K despite beefy PC / Google Fiber (/t-solved-unplayable-4k-despite-beefy-pc-google-fiber)



Unplayable 4K despite beefy PC / Google Fiber - eddius_maximus - 2023-10-04

4K over my network is a dumpster fire. It freezes/lags/stutters every 5-10 seconds, comes back after a couple seconds, repeat.

My current setup is Jellyfin, using Infuse on a 1st gen 4k apple tv. FWIW, the results are the same with Jellyfin's AppleTV app.

My server's stats:
Ryzen 7 2700X 8 core 3.70ghz cpu
64 GB ram
Windows 10
GTX 1070
Jellyfin version 10.8.10 (non-portable install)

I have Google Fiber, 1 gb up/1 gb down. My wifi network is using Google's Wifi mesh pucks, 6 placed around the house. Speedtest via ethernet is a true 1gb up/down. Speedtest via wifi is around half that.

I've tested on 4 different setups I have throughout my home. They're all using Apple TVs (same gen), with vastly different displays, but the results are always the same: 4k stutters and dies, everything else is perfect.

Jellyfin's dashboard says its all direct play (I've been checking as I troubleshoot). But looking at the logs, I see the word "transcodes" everywhere. I don't know. I'm a stranger in a strange land. Log attached.

I also realize the possibility that not all encodes are created equal. I've been randomly choosing 4k movies. No change.

I have a strong suspicion that its user error. What am I missing here? Any help would be greatly appreciated.


RE: Unplayable 4K despite beefy PC / Google Fiber - TheDreadPirate - 2023-10-05

This log indicates it is direct streaming. The video is original, only the audio is transcoded.

What happens when you use Swiftfin? It's a work-in-progress rebuild of Jellyfin's iOS app.


RE: Unplayable 4K despite beefy PC / Google Fiber - use7 - 2023-10-05

Going off of:
Code:
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (truehd (native) -> aac (libfdk_aac))

you are transcoding, but only audio.  If you go to either (while watching off the web player) the settings -> playback info; or look in the log_date.log file I believe you will find something like "TranscodeReason=AudioCodecNotSupported" telling you that you're transcoding and why.  That being said I don't believe this to be this issue, I think your issue is that you're attempting to stream over wifi (I presume, if not then ignore the rest of this post).  The Google fiber rates shouldn't matter (as long as this is all within your house), but knowing you have a max of ~500 Mbit you'd be getting roughly 62 Mbyte per sec. and doing a quick size over time for your file you're looking for ~100 (I'm not an expert here, so if someone else has a correction I'd listen to them) which you probably won't get; you can test by temporarily connecting a cable to the tv and server and seeing if the playback is improved at all.

That being said, hope is not lost, in the server admin panel you can go to playback -> streaming and set a limit for the streams (you can set "allow encoding in HEVC format" under the transcoding menu to potentially allow better quality at lower bitrates, if you have hardware encoding set up you may be unable to do this, but giving a quick look at the support matrix you should be fine?).  You can probably set this limit in the AppleTV as well (I'm less familiar with that interface so I don't know how much I can help there).  If you allow the hevc encoding on your server you may have to specify in the AppleTV to request hevc streams (again, not familiar and this is going off of half-remembered items from a reddit post dealing with rokus a while ago).  You're cpu is fairly decent, and if you have hardware encoding enabled you can probably do this on-the-fly (though if you notice continued stuttering then the next option may be a better bet)

Finially, if you have the disk space, you can transcode (handbrake/ffmpeg) the files to a smaller resolution/lower bitrate and have them saved as separate versions and use those files instead when watching off these devices.  (I use this option, especially for HDR files as my server isn't that powerful and I've lots of disk-space.  You can keep the originals around and remove the lower-quality ones of files that are not frequented if disk space becomes tight.

If you try the above and they don't help then it's a different problem then I'm thinking of, but the additional logs/troubleshooting will hopefully help ID it.


RE: Unplayable 4K despite beefy PC / Google Fiber - PogMoThoin22 - 2023-10-05

First of all I've no knowledge on the state of Jellyfin on Apple devices!

Unless you have your Google wifi pucks on ethernet your issue here could be wifi. Wifi is half duplex and Google wifi is only dual band which means it uses the same 5G radio for backhaul as well as client connection. See wireless is a shared medium, your devices share time on the frequency and only one device can talk at a time, think of it as two way radio where only one can speak at a time. Mesh is the buzz word these days but it's more about convenience than raw speed. While speedtests can be decent on mesh local tcp file transfers can be slow where data is sent in a controlled sequence and must be acknowledged before more is sent. You should get a device on ethernet and try again to rule out wifi


RE: Unplayable 4K despite beefy PC / Google Fiber - eddius_maximus - 2023-10-05

(2023-10-05, 01:27 AM)TheDreadPirate Wrote: This log indicates it is direct streaming.  The video is original, only the audio is transcoded.

What happens when you use Swiftfin?  It's a work-in-progress rebuild of Jellyfin's iOS app.

Thanks for the reply. Good question. I bought Infuse for the year based on what I read about the current state of Swiftfin. When I tried Swiftfin for the first time, I was expecting a buggy mess but was pleasantly surprised. The performance is good, the UI is good. The 4k stuttering seems to be agnostic of app so I'm still using Infuse simply because I bought it.

(2023-10-05, 01:42 AM)use7 Wrote: Going off of:
Code:
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (truehd (native) -> aac (libfdk_aac))

you are transcoding, but only audio.  If you go to either (while watching off the web player) the settings -> playback info; or look in the log_date.log file I believe you will find something like "TranscodeReason=AudioCodecNotSupported" telling you that you're transcoding and why.  That being said I don't believe this to be this issue, I think your issue is that you're attempting to stream over wifi (I presume, if not then ignore the rest of this post).  The Google fiber rates shouldn't matter (as long as this is all within your house), but knowing you have a max of ~500 Mbit you'd be getting roughly 62 Mbyte per sec. and doing a quick size over time for your file you're looking for ~100 (I'm not an expert here, so if someone else has a correction I'd listen to them) which you probably won't get; you can test by temporarily connecting a cable to the tv and server and seeing if the playback is improved at all.

That being said, hope is not lost, in the server admin panel you can go to playback -> streaming and set a limit for the streams (you can set "allow encoding in HEVC format" under the transcoding menu to potentially allow better quality at lower bitrates, if you have hardware encoding set up you may be unable to do this, but giving a quick look at the support matrix you should be fine?).  You can probably set this limit in the AppleTV as well (I'm less familiar with that interface so I don't know how much I can help there).  If you allow the hevc encoding on your server you may have to specify in the AppleTV to request hevc streams (again, not familiar and this is going off of half-remembered items from a reddit post dealing with rokus a while ago).  You're cpu is fairly decent, and if you have hardware encoding enabled you can probably do this on-the-fly (though if you notice continued stuttering then the next option may be a better bet)

Finially, if you have the disk space, you can transcode (handbrake/ffmpeg) the files to a smaller resolution/lower bitrate and have them saved as separate versions and use those files instead when watching off these devices.  (I use this option, especially for HDR files as my server isn't that powerful and I've lots of disk-space.  You can keep the originals around and remove the lower-quality ones of files that are not frequented if disk space becomes tight.

If you try the above and they don't help then it's a different problem then I'm thinking of, but the additional logs/troubleshooting will hopefully help ID it.

I appreciate this excellent reply. Tiers of options! Ethernet cable is cheap. That seems like an easy enough test: bypass wifi and see what happens. That'll at least pinpoint what I should focus on.

FWIW, doing a speedtest on any of my Apple TVs shows alarming numbers. 44 Mbps down, similar for up. I've seen others complain of exactly this issue and the replies they receive are more or less the same: that's more than enough speed to stream 4k, who cares, you're fine. So I (likely incorrectly) assumed that my wifi wasn't the bottleneck, especially if thats all the Apple TVs needed in order to sufficiently stream. Based on the replies here, maybe thats the source of my problem.

I am doing hardware encoding, although HEVC was unchecked. Happy to test. Time well spent especially if it fixes the issue. I was just reading about transcoding offline. HD space is cheap and I don't mind doing this. I came across lots of posts of people using Tdarr (?) but I'm not 1000% sure what settings to pre-transcode to. More research.

(2023-10-05, 06:01 AM)PogMoThoin22 Wrote: First of all I've no knowledge on the state of Jellyfin on Apple devices!

Unless you have your Google wifi pucks on ethernet your issue here could be wifi. Wifi is half duplex and Google wifi is only dual band which means it uses the same 5G radio for backhaul as well as client connection. See wireless is a shared medium, your devices share time on the frequency and only one device can talk at a time, think of it as two way radio where only one can speak at a time. Mesh is the buzz word these days but it's more about convenience than raw speed. While speedtests can be decent on mesh local tcp file transfers can be slow where data is sent in a controlled sequence and must be acknowledged before more is sent. You should get a device on ethernet and try again to rule out wifi

Thanks for the help! I'll toss an Apple TV on ethernet today and see what happens.


RE: Unplayable 4K despite beefy PC / Google Fiber - eddius_maximus - 2023-10-05

No more freezing. Apple TV's crappy wifi was the culprit. I'm not even using true ethernet. I ran a cable from the nearest wifi puck and speedtest went from 40-50mpbs to 200+. Thanks for the help, guys.