Jellyfin Forum
No transcoding while streaming over internet? - 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: No transcoding while streaming over internet? (/t-no-transcoding-while-streaming-over-internet)



No transcoding while streaming over internet? - Spook50 - 2024-10-15

Trying to get streaming functioning properly (outside of my local network), I've discovered that Jellyfin does not seem to be transcoding when necessary for clients that don't support certain codecs. As a "test" client I've been using my Galaxy S20+, which doesn't support 4K HDR HEVC (which is why I'm specifically using this device).


All other codecs I've tested (which haven't required transcoding; including 4K HEVC SDR) play just fine. When I look at my logs in the web interface, there's no ffmpeg log, but I notice this in my sysem log:

[2024-10-14 21:40:39.051 -07:00] [INF] [61] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Android" "2.6.2" playing "Rogue One: A Star Wars Story". Stopped at "0" ms
[2024-10-14 21:40:39.102 -07:00] [INF] [32] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Dan". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-10-14 21:40:39.102 -07:00] [INF] [32] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 18000000, RemoteIP: "107.116.110.56", IsInLocalNetwork: False
[2024-10-14 21:40:39.359 -07:00] [INF] [32] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Dan". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-10-14 21:40:39.359 -07:00] [INF] [32] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 18000000, RemoteIP: "107.116.110.56", IsInLocalNetwork: False
[2024-10-14 21:40:40.882 -07:00] [INF] [14] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "107.116.110.56" closed


This has me confused as it seems everything it shows is kosher from selecting he movie to "stopping" (in my case never starting) playback. I understand from searching that references to WebSockets are unrelated to playback.


Right now I'm running through a port open to DuckDNS that doesn't seem to have any connection issues (again, playing anything that doesn't require transcoding presents no issues; same with browsing and the small amount of admin level stuff that my user can do over the Android app (in case it matters, I use MPV player as the external video player when I use Jellyfin on my phone)


I had originally chased a wild goose in the wrong direction that I posted about previously, then thought I had inadvertently solved the underlying problem, and found out afterwards that I hadn't.


Currently I'm running Jellyfin 10.9.11 in TrueNAS Scale Dragonfish 24.04.2.1

System is running an Intel i7-8700. The only codec I do NOT have selected for transcoding and encoding (as I understand it's not supported by my CPU) is AV1.


As it is, it appears I'm not transcoding at all over remote connections, BUT transcoding using QSV is happening when connected directly to my local network. To verify this, I played Despicable Me 4 while connected to my local WiFi network, and then while connected through the phone's 5G. Here's what I see in the system log:

[2024-10-14 22:09:03.746 -07:00] [INF] [47] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.50.1" request
[2024-10-14 22:09:08.806 -07:00] [INF] [26] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Dan". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-10-14 22:09:08.806 -07:00] [INF] [26] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 18000000, RemoteIP: "192.168.50.1", IsInLocalNetwork: True
[2024-10-14 22:09:08.833 -07:00] [INF] [26] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Dan". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-10-14 22:09:08.833 -07:00] [INF] [26] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 18000000, RemoteIP: "192.168.50.1", IsInLocalNetwork: True
[2024-10-14 22:09:37.393 -07:00] [INF] [16] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Android" "2.6.2" playing "Despicable Me 4". Stopped at "1000" ms
[2024-10-14 22:12:25.790 -07:00] [INF] [10] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "107.116.110.56" request
[2024-10-14 22:12:36.047 -07:00] [INF] [47] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Dan". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-10-14 22:12:36.047 -07:00] [INF] [47] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 18000000, RemoteIP: "107.116.110.56", IsInLocalNetwork: False
[2024-10-14 22:12:36.632 -07:00] [INF] [53] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Dan". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-10-14 22:12:36.632 -07:00] [INF] [53] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 18000000, RemoteIP: "107.116.110.56", IsInLocalNetwork: False


When I attempt to play from outside my local network I get an error stating "Media cannot be played by this device".


RE: No transcoding while streaming over internet? - TheDreadPirate - 2024-10-15

Can you share the media info the for video?

In the Jellyfin UI click on the "..." context menu for the movie and click media info. Click the copy icon at the top of the window that pops up.


RE: No transcoding while streaming over internet? - Spook50 - 2024-10-15

(Yesterday, 01:41 PM)TheDreadPirate Wrote: Can you share the media info the for video?

In the Jellyfin UI click on the "..." context menu for the movie and click media info.  Click the copy icon at the top of the window that pops up.


Here's the info it shows for Despicable Me 4:

Video
Title: 4K HEVC HDR
Codec: HEVC
AVC: No
Profile: Main 10
Level: 150
Resolution: 3840x2068
Aspect ratio: 1.85:1
Anamorphic: No
Interlaced: No
Framerate: 23.976025
Bitrate: 25214 kbps
Bit depth: 10 bit
Video range: HDR
Video range type: DOVIWithHDR10
DV title: DV Profile 8.1 (HDR10)
DV version major: 1
DV version minor: 0
DV profile: 8
DV level: 6
DV rpu preset flag: 1
DV el preset flag: 0
DV bl preset flag: 1
DV bl signal compatibility id: 1
Color space: bt2020nc
Color transfer: smpte2084
Color primaries: bt2020
Pixel format: yuv420p10le
Ref frames: 1



For comparison to a 4K movie that does work just fine outside of my local network (though it's SDR and not HDR), here's the info it shows for my rip of Spaceballs:

Video
Title: 4K HEVC SDR
Codec: HEVC
AVC: No
Profile: Main 10
Level: 150
Resolution: 3840x2080
Aspect ratio: 1.85:1
Anamorphic: No
Interlaced: No
Framerate: 23.976025
Bitrate: 6391 kbps
Bit depth: 10 bit
Video range: SDR
Video range type: SDR
Pixel format: yuv420p10le
Ref frames: 1


Something I noticed is that the bitrate for Despicable Me 4 exceeds the maximum Internet streaming bitrate I have set. Would I be correct in assuming that Jellyfin should still transcode to a lower bitrate to accommodate, or is that not the case?


RE: No transcoding while streaming over internet? - TheDreadPirate - 2024-10-15

On your phone, are you using the web player or integrated player?


RE: No transcoding while streaming over internet? - Spook50 - 2024-10-15

(Yesterday, 03:27 PM)TheDreadPirate Wrote: On your phone, are you using the web player or integrated player?

I've tried the integrated player, which throws a "Source error" message, and the Web player gives me a playback error with "Playback failed due to a fatal player error"

I've also tried using the external player setting with VLC, MPV Player, and MX Player Pro; all of which give me the "Media cannot be played by this device" error.


RE: No transcoding while streaming over internet? - TheDreadPirate - 2024-10-15

Can you clarify how Jellyfin is installed in TrueNAS? As an "app"? Or with Docker?


RE: No transcoding while streaming over internet? - Spook50 - 2024-10-15

(Yesterday, 09:04 PM)TheDreadPirate Wrote: Can you clarify how Jellyfin is installed in TrueNAS?  As an "app"?  Or with Docker?

I have it installed as an app.


RE: No transcoding while streaming over internet? - TheDreadPirate - 2024-10-15

I wonder if this is a bug with the "app" version (which is not official).

Could you spin up a Docker container using the official image? Add enough media to test if this same behavior happens?


RE: No transcoding while streaming over internet? - Spook50 - 2024-10-16

(Yesterday, 10:17 PM)TheDreadPirate Wrote: I wonder if this is a bug with the "app" version (which is not official).

Could you spin up a Docker container using the official image?  Add enough media to test if this same behavior happens?

I haven't experimented at all with Docker so that'll be a new thing for me, but I'll give it a go and report back what I find out.