NextPVR Forums
  • ______
  • Home
  • New Posts
  • Wiki
  • Members
  • Help
  • Search
  • Register
  • Login
  • Home
  • Wiki
  • Members
  • Help
  • Search
NextPVR Forums Public NextPVR Other Clients v
1 2 3 Next »
jellyfin 10.9 cannot playback recordings - sid=jellyfin told not valid

 
  • 0 Vote(s) - 0 Average
jellyfin 10.9 cannot playback recordings - sid=jellyfin told not valid
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#1
2024-05-22, 10:01 PM (This post was last modified: 2024-05-22, 10:03 PM by prahal.)
Followup your request to move this issue here https://github.com/jellyfin/jellyfin-plu...2124635987
though I still believe the bug i sin the NextPVR Jellyfin plugin, here are the data

"Unauthenticated Access" is ticked, thus why I am reporting. I still get 401.

I can tick/untick "Allow unauthenticated access for streaming Live TV / Recordings" even with a nextpvr container restart I get the same 401 error when I try to access when I attempt to play recordings.
Ie I posted on https://forums.nextpvr.com/showthread.ph...568&page=3 and followed the thread.
However, I did not understand why "Unauthenticated access" was required since it was not ticked beforehand, and as far as I remember with Jellyfin 10.8 and Jellyfin NextPVR plugin 8 I could access the recordings. I even took care that the sid=jellyfin was indeed in the URL.
I had no NextPVR server or setting change for 7 months, since the last release.

I am using a hostname as NextPVR is another host docker. Both are on the same LAN. Same setup as the reporter on https://forums.nextpvr.com/showthread.php?tid=65568 two boxes on the same LAN (but he might use IPs instead of hostnames).
Mind I am pretty confident this setup was working before the jellyfin upgrade to 10.9 (no nextpvr change) and I had "Unauthenticated Access" unticked until a few days ago when I tried the PR for jellyfin 10.9 and failed.


nextpvr docker log:


Code:
[20] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[20] /live?recording=852&sid=jellyfin
[20]  - recording: 852
[20]  - sid: jellyfin
[20] range: bytes=0-
[20] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). sid not valid
[20] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[20] /live?recording=852&sid=jellyfin
[20]  - recording: 852
[20]  - sid: jellyfin
[20] range: bytes=0-
[20] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). sid not valid
[26] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[26] /live?recording=852&sid=jellyfin
[26]  - recording: 852
[26]  - sid: jellyfin
[26] range: bytes=0-
[26] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). sid not valid
[26] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[26] /live?recording=852&sid=jellyfin
[26]  - recording: 852
[26]  - sid: jellyfin
[26] range: bytes=0-
[26] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). sid not valid
[20] Got request [fc00:10::95d0:9841:2f1:aaf8]: /service (recording.lastupdated)
[20] method=recording.lastupdated
[20] parameters:
[20]    method: recording.lastupdated
[20]    ignore_resume: true
[20]    sid: cb8fdab7c85c437eb5366db130ae767f
[20]    format: json
[20]    client_ip: fc00:10::95d0:9841:2f1:aaf8
[20]    user_agent: Jellyfin-Server/10.9.2
[20]    host_callback: ...
[20] LastUpdated
[20] {"last_update":1716364703}


jellyfin docker logs

Code:
[21:35:47] [INF] [82] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting /usr/lib/jellyfin-ffmpeg/ffprobe with args -analyzeduration 200M -probesize 1G -i "http://argos.prahal.homelinux.net:8866/live?recording=852&sid=jellyfin" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format
http://argos.prahal.homelinux.net:8866/live?recording=852&sid=jellyfin: Server returned 401 Unauthorized (authorization failed)
[21:35:47] [ERR] [82] MediaBrowser.Providers.Videos.VideoMetadataService: Error in Probe Provider
MediaBrowser.Common.FfmpegException: ffprobe failed - streams and format are both null.
  at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, CancellationToken cancellationToken)
  at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, CancellationToken cancellationToken)
  at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken)
  at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)
[21:35:47] [INF] [82] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for Alban. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[21:35:47] [INF] [18] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) /config/transcodes/d068cacfd77986879e86d77be6d30989.m3u8
[21:35:48] [INF] [84] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
(...)
more of the jellyfin
.zip   logs-20240522-2346.zip (Size: 1.36 MB / Downloads: 2) log in the attached files
.zip   logs-20240522-2346.zip (Size: 1.36 MB / Downloads: 2)
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#2
2024-05-22, 10:08 PM (This post was last modified: 2024-05-22, 10:20 PM by prahal. Edit Reason: add debug about nextpvr remote access )
I was unable to attach the full jellyfin log extract from when playing back the nextpvr recording so joining here. I was also unable to get it to attach as a txt or log file so zipping it.

Note I have " Allow remote access" ticked in NextPVR server (docker)

If I disable remote access I get this error in Jellyfin (I can still playback recording in Kodu fine, even though both jellyfin and kodi are on others hosts than nextpvr and both in hte same subnet)

nextpvr logs whe attempting playback from jellyfin web UI
Code:
[9] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[9] /live?recording=851&sid=jellyfin
[9]  - recording: 851
[9]  - sid: jellyfin
[9] range: bytes=0-
[9] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). Remote access not enabled.
[3] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[3] /live?recording=851&sid=jellyfin
[3]  - recording: 851
[3]  - sid: jellyfin
[3] range: bytes=0-
[3] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). Remote access not enabled.

nextpvr logs when doing playback from kodi
Code:
[16] Got request [192.168.10.175]: /live
[16] /live?recording=852&client=XBMC-437f89409c3a437d9580cc2500005eb1
[16]  - recording: 852
[16]  - client: XBMC-437f89409c3a437d9580cc2500005eb1
[16] range: bytes=0-
[16] StreamNative@1..
[16] StreamNative@2
[16] StreamNative@3
[16] XBMC client sid is: 437f89409c3a437d9580cc2500005eb1
[16] StreamNative@4
[16] RollingFile.Open(/recordings/Journal 20h00/Journal 20h00_20240324_19582030.ts) ..
[16] About to stream recording: /recordings/Journal 20h00/Journal 20h00_20240324_19582030.ts
[16] Request had range request
[16] Requested Range: 0- (292346768 bytes)
[22] Got request [192.168.10.175]: /live
[22] /live?recording=852&client=XBMC-437f89409c3a437d9580cc2500005eb1
[22]  - recording: 852
[22]  - client: XBMC-437f89409c3a437d9580cc2500005eb1
[22] range: bytes=0-
[22] StreamNative@1..
[22] StreamNative@2
[22] StreamNative@3
[22] XBMC client sid is: 437f89409c3a437d9580cc2500005eb1
[22] StreamNative@4
[22] RollingFile.Open(/recordings/Journal 20h00/Journal 20h00_20240324_19582030.ts) ..
[22] About to stream recording: /recordings/Journal 20h00/Journal 20h00_20240324_19582030.ts
[22] Request had range request
[22] Requested Range: 0- (292346768 bytes)
[16] Client has disconnected
[16] Sent total of 1015200 bytes
[27] Got request [192.168.10.175]: /live
[27] /live?recording=852&client=XBMC-437f89409c3a437d9580cc2500005eb1
[27]  - recording: 852
[27]  - client: XBMC-437f89409c3a437d9580cc2500005eb1
[27] range: bytes=292096768-
[27] StreamNative@1..
[27] StreamNative@2
[27] StreamNative@3
[27] XBMC client sid is: 437f89409c3a437d9580cc2500005eb1
[27] StreamNative@4
[27] RollingFile.Open(/recordings/Journal 20h00/Journal 20h00_20240324_19582030.ts) ..
[27] About to stream recording: /recordings/Journal 20h00/Journal 20h00_20240324_19582030.ts
[27] Request had range request
[27] Requested Range: 292096768- (250000 bytes)
[27] Sent total of 250000 bytes
[22] Client has disconnected


Attached Files
.zip   jellyfin-nextpvr-recording-401-inavlid-sid.zip (Size: 3.12 KB / Downloads: 1)
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 52,830
Threads: 954
Joined: May 2006
#3
2024-05-22, 10:13 PM
Is there a way you can try ipv4 maybe NextPVR treats ipv6 security differently.

Martin
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#4
2024-05-22, 11:11 PM
(2024-05-22, 10:13 PM)mvallevand Wrote: Is there a way you can try ipv4 maybe NextPVR treats ipv6 security differently.

Martin

I came to the same conclusion, NextPVR treating my local fc00:10::0/64 subnet as internet ("fc00" IPv6 unique local address).
No, I cannot avoid having the NextPVR hostname be resolved to the local IPv6 address.
I disabled IPv6 support in Jellyfin (that requires a jellyfin restart to apply)
Code:
[22:40:12] [INF] [28] Jellyfin.Networking.Manager.NetworkManager: Defined LAN subnets: ["192.168.10.0/24"]
[22:40:12] [INF] [28] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions: []
[22:40:12] [INF] [28] Jellyfin.Networking.Manager.NetworkManager: Used LAN subnets: ["192.168.10.0/24"]
[22:40:12] [INF] [28] Jellyfin.Networking.Manager.NetworkManager: Filtered interface addresses: ["127.0.0.1", "192.168.10.48", "172.17.0.1", "172.19.0.1", "172.18.0.1", "172.21.0.1"]
[22:40:12] [INF] [28] Jellyfin.Networking.Manager.NetworkManager: Bind Addresses ["0.0.0.0"]

ie jellyfin is bound to IPv4 only.

But still:
Code:
[21] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[21] /live?recording=852&sid=jellyfin
[21]  - recording: 852
[21]  - sid: jellyfin
[21] range: bytes=0-
[21] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). sid not valid

I tried wget to my nextpvr hostname from the jellyfin box and I still get fc00:10::1 first in the DNS resolution thus the IPv6 address is what is called.
Code:
LC_ALL=C wget argos.prahal.homelinux.net
--2024-05-23 00:48:39--  http://argos.prahal.homelinux.net/
Resolving argos.prahal.homelinux.net (argos.prahal.homelinux.net)... fc00:10::1, fc00:20::2, 192.168.10.1, ...
Connecting to argos.prahal.homelinux.net (argos.prahal.homelinux.net)|fc00:10::1|:80... connected.

so this does not depend on the application but on the box setup.
Well, I might be able to the fc00:10::1 resolution by changing the DHCP and DNS (dnsmasq) setup ... but are IPv6 Unique local addresses not meant to be supported as local addresses by NextPVR?
My IPv6 setup is not critical as as of now it is not connected to the internet (internal only) but still.
Well, at least the issue is nailed out.
The jellyfin sid is invalid for hosts seen as remote by NextPVR.
All my access is local (well VPM at least), no public IP access. This means that currently a jellyfin server cannot playback recording from a NextPVR public IP server. (and the bug that NextPVR considers "fc00::/7" as remote)

Well ,success (no playback because the jellyfin NAS is loaded and transcoding it too slow ... don't know how to avoid trancoding when using jellyfin NextPVR though) : (5 minutes later playback started so success)
Code:
docker exec -u root -ti jellyfin bash
root@helios64:/# echo "precedence ::ffff:0:0/96  100" >> /etc/gai.conf
quite hackish (doing so on the jellyfin docker host has no effect, it has to be done in the docker container. And it would force preferred Ipv4 resolution on all jellyfin docker users. And this only works with glibc distros.

Code:
[32] Got request [192.168.10.48]: /live
[32] /live?recording=852&sid=jellyfin
[32]  - recording: 852
[32]  - sid: jellyfin
[32] range: bytes=292096768-
[32] StreamNative@1..
[32] StreamNative@2
[32] StreamNative@3
[32] StreamNative@4
[32] RollingFile.Open(/recordings/Journal 20h00/Journal 20h00_20240324_19582030.ts) ..
[32] About to stream recording: /recordings/Journal 20h00/Journal 20h00_20240324_19582030.ts
[32] Request had range request
[32] Requested Range: 292096768- (250000 bytes)
[23] Client has disconnected
[23] Sent total of 158371200 bytes
[32] Sent total of 250000 bytes
[9] Got request [192.168.10.48]: /live
[9] /live?recording=852&sid=jellyfin
[9]  - recording: 852
[9]  - sid: jellyfin
[9] range: bytes=0-
[9] StreamNative@1..
[9] StreamNative@2
[9] StreamNative@3
[9] StreamNative@4
[9] RollingFile.Open(/recordings/Journal 20h00/Journal 20h00_20240324_19582030.ts) ..
[9] About to stream recording: /recordings/Journal 20h00/Journal 20h00_20240324_19582030.ts
[9] Request had range request
[9] Requested Range: 0- (292346768 bytes)
[22] Got request [192.168.10.48]: /service (recording.lastupdated)
[22] method=recording.lastupdated
[22] parameters:
[22]    method: recording.lastupdated
[22]    ignore_resume: true
[22]    sid: 6d3f187010274620a0da498d39c7f619



Code:
[23:08:30] [INF] [87] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting /usr/lib/jellyfin-ffmpeg/ffprobe with args -analyzeduration 200M -probesize 1G -i "http://argos.prahal.homelinux.net:8866/live?recording=852&sid=jellyfin" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format
[h264 @ 0xaaaaf40fb200] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xaaaaf40fb200] decode_slice_header error
[h264 @ 0xaaaaf40fb200] no frame!
[h264 @ 0xaaaaf40fb200] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xaaaaf40fb200] decode_slice_header error
[h264 @ 0xaaaaf40fb200] no frame!
[h264 @ 0xaaaaf40fb200] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xaaaaf40fb200] decode_slice_header error
[h264 @ 0xaaaaf40fb200] no frame!
[h264 @ 0xaaaaf40fb200] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xaaaaf40fb200] decode_slice_header error
[h264 @ 0xaaaaf40fb200] no frame!
[h264 @ 0xaaaaf40fb200] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xaaaaf40fb200] decode_slice_header error
[h264 @ 0xaaaaf40fb200] no frame!

[h264 @ 0xaaaaf40fb200] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xaaaaf40fb200] decode_slice_header error
[h264 @ 0xaaaaf40fb200] no frame!
[h264 @ 0xaaaaf40fb200] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xaaaaf40fb200] decode_slice_header error
[h264 @ 0xaaaaf40fb200] no frame!
[h264 @ 0xaaaaf40fb200] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xaaaaf40fb200] decode_slice_header error
[h264 @ 0xaaaaf40fb200] no frame!
[h264 @ 0xaaaaf40fb200] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xaaaaf40fb200] decode_slice_header error
[h264 @ 0xaaaaf40fb200] no frame!
[h264 @ 0xaaaaf40fb200] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0xaaaaf40fb200] decode_slice_header error
[h264 @ 0xaaaaf40fb200] no frame!
[mpegts @ 0xaaaaf40f1690] PES packet size mismatch
[mpegts @ 0xaaaaf40f1690] Packet corrupt (stream = 1, dts = 7563726782).
[mpegts @ 0xaaaaf40f1690] PES packet size mismatch
[mpegts @ 0xaaaaf40f1690] Packet corrupt (stream = 2, dts = 7563726782).
[mpegts @ 0xaaaaf40f1690] PES packet size mismatch
[mpegts @ 0xaaaaf40f1690] Packet corrupt (stream = 3, dts = 7563726782).
[mpegts @ 0xaaaaf40f1690] start time for stream 5 is not set in estimate_timings_from_pts
[mpegts @ 0xaaaaf40f1690] PES packet size mismatch
[mpegts @ 0xaaaaf40f1690] Packet corrupt (stream = 0, dts = 7598133152).
[mpegts @ 0xaaaaf40f1690] PES packet size mismatch
[mpegts @ 0xaaaaf40f1690] Packet corrupt (stream = 1, dts = 7598044862).
[mpegts @ 0xaaaaf40f1690] PES packet size mismatch
[mpegts @ 0xaaaaf40f1690] Packet corrupt (stream = 2, dts = 7598044862).
[mpegts @ 0xaaaaf40f1690] PES packet size mismatch
[mpegts @ 0xaaaaf40f1690] Packet corrupt (stream = 3, dts = 7598044862).
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#5
2024-05-22, 11:47 PM
Another box with LibreElec 12 Kodi 21 Kodi NextPVT 21.1.0.1, (Ih cannot have the /etc/gai.conf hack as it is part of the read-only filesystem of LibreElec), I can playback the recording (and I see no "sid" transmitted)

working both with "Allow unauthenticated access for streaming Live TV / Recordings" ticked or unticked
Not working if I untick "Allow remote access".

with "Allow unauthenticated access for streaming Live TV / Recordings" and "Allow remote access" ticked:
Code:
[32] Got request [fc00:10::21e:6ff:fe33:7ad2]: /live
[32] /live?recording=851&client=XBMC-ec0aaaa3e8f24b02ab277ec2055b2c9b
[32]  - recording: 851
[32]  - client: XBMC-ec0aaaa3e8f24b02ab277ec2055b2c9b
[32] range: bytes=2359000312-
[32] StreamNative@1..
[32] StreamNative@2
[32] StreamNative@3
[32] StreamNative@4
[32] RollingFile.Open(/recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts) ..
[32] About to stream recording: /recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts
[32] Request had range request
[32] Requested Range: 2359000312- (3008 bytes)
[32] Sent total of 3008 bytes
[30] Got request [fc00:10::21e:6ff:fe33:7ad2]: /live
[30] /live?recording=851&client=XBMC-ec0aaaa3e8f24b02ab277ec2055b2c9b
[30]  - recording: 851
[30]  - client: XBMC-ec0aaaa3e8f24b02ab277ec2055b2c9b
[30] range: bytes=2358996176-
[30] StreamNative@1..
[30] StreamNative@2
[30] StreamNative@3
[30] StreamNative@4
[30] RollingFile.Open(/recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts) ..
[30] About to stream recording: /recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts
[30] Request had range request
[30] Requested Range: 2358996176- (7144 bytes)
[30] Sent total of 7144 bytes
[30] Got request [fc00:10::21e:6ff:fe33:7ad2]: /live
[30] /live?recording=851&client=XBMC-ec0aaaa3e8f24b02ab277ec2055b2c9b
[30]  - recording: 851
[30]  - client: XBMC-ec0aaaa3e8f24b02ab277ec2055b2c9b
[30] range: bytes=283773592-
[30] StreamNative@1..
[30] StreamNative@2
[30] StreamNative@3
[30] StreamNative@4
[30] RollingFile.Open(/recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts) ..
[30] About to stream recording: /recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts
[30] Request had range request
[30] Requested Range: 283773592- (2075229728 bytes)
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 52,830
Threads: 954
Joined: May 2006
#6
2024-05-23, 01:55 AM (This post was last modified: 2024-05-23, 12:56 PM by mvallevand.)
You can ignore how Kodi plays recordings because it uses an authenticated sid but you still see the issue NextPVR has determined the incoming IPv6 address is public not private which I figured was going to be the problem as I told you on GitHub

What I don't understand is why you need to type in a hostname and why you can't just type in the IPv4 dotted address, your Jellyfin address is working on one. It looks like NextPVR is assigned correctly ipv4 as 192.168.1.5

If recordings worked earlier with NextPVR it was likely a hole in IPv6 security that may have been patched.

Martin
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#7
2024-05-23, 11:07 PM (This post was last modified: 2024-05-23, 11:22 PM by prahal.)
(2024-05-23, 01:55 AM)mvallevand Wrote: You can ignore how Kodi plays recordings because it uses an authenticated sid but you still see the issue NextPVR has determined the incoming IPv6 address is public not private which I figured was going to be the problem as I told you on GitHub

What I don't understand is why you need to type in a hostname and why you can't just type in the IPv4 dotted address, your Jellyfin address is working on one.  It looks like NextPVR is assigned correctly ipv4 as 192.168.1.5

If recordings worked earlier with NextPVR it was likely a hole in IPv6 security that may have been patched. 

Martin

ok, this explains why Kodi is working.

But ff00::/7 is local lan only IPv6. It is never a public address. So I disagree that it is a not bug for NextPVR to treat it as public.
Even if using an IP I should be able to use IPv6 local LAN IP addressing, not only IPv4 local addresses. There is no hole in security by allowing ff00::/7 as a local LAN IP. Preventing it would force IPv6 users to allow remote access even if not needed, thus expanding the attack surface. It provides no benefit security-wise and forces users to open holes in this security.

Indeed I could switch all my program setups to fixed IPs. But I tend to change the server from one box to another when the box is not able to cope with the load anymore. So I have service-based DNS names for most use cases (not yet for NextPVR so switching to an IP would be achievable). I don't want to have to change every client configuration when I move one docker container from one host to another that is the main point.
I know that most admins prefer to set up clients with fixed IPs as this prevents the application from being unable to operate when DNS is down. But I don't have SLA requirements and this down my admin time quite a lot. Not accounting for the fact that most admins have servers with public IPs that are bound to service. Ie when a service changes the box the new box has the old public IP. That is not the case on a local LAN. You cannot change the box's local IP when you move one service from a less powerful box to a new more powerful one (especially since in my case the old box is kept up).
I also have boxes that are working badly due to kernel or hardware issues. But I cannot buy new ones for quite some time. So I might end up moving a service to another box for a while until the box is back in a stable state.

I believe conventions for public IP servers do not apply well to local LAN admin. Even though I know a few of these conventions.

I use ansible to set up my LAN boxes so I can in one shot switch which DNS name is attached to which IP. I cannot use ansible to change jellyfin NextPVR base URL to the box host NextPVR.
This is part of the expected use case of DNS.
You tell me I could do without DNS hostname. I agree. But why would I? My LAN is easier and takes less time to administrate and upgrade. And if DNS is not working I can fix it in a few minutes (it happened a week ago, my DNS serving box was so overloaded IO-wise. that dnsmasq ended up being killed by a systemd timeout. But it happened once in 5 years. I have a fix underway as I added email indexing to this box that also serves emails and bought an NVME drive, but not yet migrated to it as I am attempting to spend time sorting out Samsung Magician way of selecting the firmware to apply to the NVME drive to be able to not have to take the box down for ten minutes and attach a display to it each time a drive firmware upgrade is found critical).

So now, you know why I choose to access my services with DNS names instead of IPs.

My decision to use DNS might not be the best, still migrating back to all static IPs would be time-consuming and require more time to administrate.
Abstracting the network to the applications seemed like a good idea.

Note that I have provided the full log in this thread before adding the link to this thread to the github issue. I agree this triggered an email to developers. My point was to help users find my comment to know where the rest of the discussion was to be found. I believe I worded it the wrong way as it was not obvious that it was for the users and not a request for the jellyfin nextpvr devs to also investigate why I was unable to access nextpvr from jellyfin ( and even if one of them stumbled on my previous request to know what was the issue by finding the discussion here, they might not be aware that nextpvr prevents IPv6 local address as from internet).

Also about extracts. I agree they are not enough, one has to provide the full log (which I did). But I thought search engines were not parsing attachments.
Does the forum search scan attachments?
I added extracts because I believe this is required for users with the same issue to be able to find the thread when they need it, but I admit I am not certain it is required.
I find it helps when reading a bug report months later not to have to read entire attachments though.

Or maybe you were talking about the jellyfin log I only included an extract of?
There are privacies reasons for this too. I cannot spend enough time anonymizing the full jellyfin log. There is no such issue with NextPVR logs.


The NextPVR server IP is 192.168.10.1. 192.168.1.5 is this LAN gateway external IP in the LAN in which my local LAN is plugged. This has the added benefit that I only have to set a fixed IP for my LAN gateway in the LAN I am plugging into and all is back working. Accessing 192.168.1.5 is remote access and should not be allowed to NextPVR (but these days there are no users in this 192.168.1.0/24 LAN so this is not critical).
I have been able to move this LAN from different houses and even have it plugged into a 4G router in a few minutes.
When my internet provider router is down (which happens) my LAN is functional.
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 52,830
Threads: 954
Joined: May 2006
#8
2024-05-23, 11:46 PM (This post was last modified: 2024-05-24, 04:10 AM by mvallevand.)
When you wrote ff00::/7 I assume you are meaning fc00::/7 which is a private LAN and NextPVR should support it correctly but that is not working. Most people prefer static IPs when working at home if you stay on the subnet but moving containers to different Dockers is something that can happen (probably not often). Changing IP's is also not good for Jellyfin users of NextPVR because of the recording issue limitations of Jellyfin and your approach is better but an even better solution would be a storage container and use the filename method not http steraming.

Incidentally f you want to test NextPVR on a private LAN you can try fd00::/8 that should be working. It is better than fc00 since fc00 is not defined as private, just undefined.

My comments on GitHub are not just for you. There are NextPVR posts on GitHub and on the Jellyfin forum which will never be read and I want Jellyfin/NextPVR users used to coming here with their zipped NextPVR logs and zipped Jellyfin logs when asked. Clearly the lack of information posted here on recording playback issues because of the NextPVR bug made the update harder to test than necessary and sub could have issued an immediate patch before 6.1.6 development started.

Ideally Jellyfin users should also be testing pre-release versions too to let me about any the impact. I would have hoped you tried it before the release so your issue could have been looked at before the initial release. Posts about problems in the release even when they aren't related to the change tend to scare users from upgrade.

I don't know what automated bots can do for attachments but assume they can be harvested.

Martin
mvallevand
Offline

Posting Freak

Ontario Canada
Posts: 52,830
Threads: 954
Joined: May 2006
#9
2024-05-25, 03:17 AM
@prahal I have submitted a PR https://github.com/jellyfin/jellyfin-plu...vr/pull/49 which I hope will fix most issues that were forcing unauthenticated access and removes dependence of NextPVR server version (similar to Kodi, but not perfect). If you are interested I can provide a 10.9.2 binary for you to test.

Martin
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#10
2024-05-28, 06:36 PM (This post was last modified: 2024-05-28, 07:11 PM by prahal.)
(2024-05-25, 03:17 AM)mvallevand Wrote: @prahal I have submitted a PR https://github.com/jellyfin/jellyfin-plu...vr/pull/49 which I hope will fix most issues that were forcing unauthenticated access and removes dependence of NextPVR server version (similar to Kodi, but not perfect).  If you are interested I can provide a 10.9.2 binary for you to test.

Martin

So here are the jellyfin and NextPVR 401 logs with this PR merged (and PR 50 merged too) for both recording and live tv (I should have noticed that your push request was to fix recording. But both are failing me.
NextPVR has "Allow remote access" and " Allow unauthenticated access for streaming Live TV / Recordings" ticked.

Indeed I meant ffc0::/7 not ff00:7. Thanks for the clue about fd00::7.


You mentioned that it would have been better for me to test the fix before you released it. I believe you were talking about the jellyfin-nextpvr release. Fact, is I tested as soon as you provided the patch (when I asked if the different nicks were both yours. But as I have multiple hardware and software bugs all over the Linux stack including my urbackup backups on my various hardware it took me too long to test, so you released before I reported (but I tried with the new release you did before posting which postponed my post a bit).

Edit: removed the request to moved this discussion to another thread. I mixed up.

NextPVR extract:

Code:
2024-05-28 19:59:34.195 [DEBUG][83] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
2024-05-28 19:59:34.195 [DEBUG][83] /live?recording=852&sid=218e05eb220d410dac580c84f97ee6bc
2024-05-28 19:59:34.195 [DEBUG][83] - recording: 852
2024-05-28 19:59:34.195 [DEBUG][83] - sid: 218e05eb220d410dac580c84f97ee6bc
2024-05-28 19:59:34.195 [DEBUG][83] range: bytes=0-
2024-05-28 19:59:34.195 [ERROR][83] Rejecting sid. Different IP address. (fc00:10::95d0:9841:2f1:aaf8 vs 192.168.10.48)
2024-05-28 19:59:34.195 [ERROR][83] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). sid not valid
2024-05-28 19:59:34.537 [DEBUG][108] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
2024-05-28 19:59:34.537 [DEBUG][108] /live?recording=852&sid=218e05eb220d410dac580c84f97ee6bc
2024-05-28 19:59:34.537 [DEBUG][108] - recording: 852
2024-05-28 19:59:34.537 [DEBUG][108] - sid: 218e05eb220d410dac580c84f97ee6bc
2024-05-28 19:59:34.537 [DEBUG][108] range: bytes=0-
2024-05-28 19:59:34.537 [ERROR][108] Rejecting sid. Different IP address. (fc00:10::95d0:9841:2f1:aaf8 vs 192.168.10.48)
2024-05-28 19:59:34.537 [ERROR][108] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). sid not valid
2024-05-28 19:59:34.916 [DEBUG][7] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
2024-05-28 19:59:34.917 [DEBUG][7] /live?recording=852&sid=218e05eb220d410dac580c84f97ee6bc
2024-05-28 19:59:34.917 [DEBUG][7] - recording: 852
2024-05-28 19:59:34.917 [DEBUG][7] - sid: 218e05eb220d410dac580c84f97ee6bc
2024-05-28 19:59:34.917 [DEBUG][7] range: bytes=0-
2024-05-28 19:59:34.917 [ERROR][7] Rejecting sid. Different IP address. (fc00:10::95d0:9841:2f1:aaf8 vs 192.168.10.48)
2024-05-28 19:59:34.918 [ERROR][7] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). sid not valid


jellyfin extract
Code:
[2024-05-28 17:59:34.056 +00:00] [INF] [33] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -f mpegts -noautorotate -i \"http://argos.prahal.homelinux.net:8866/live?recording=852&sid=218e05eb220d410dac580c84f97ee6bc\" -map_metadata -1 -map_chapters -1 -threads 4 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset fast -crf 23 -maxrate 5959920 -bufsize 11919840 -profile:v:0 high -level 40 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 \"expr:gte(t,n_forced*3)\" -sc_threshold:v:0 0 -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,yadif=0:-1:0,scale=trunc(min(max(iw\,ih*a)\,852)/2)*2:trunc(ow/a/2)*2,format=yuv420p\" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename \"714e6f4c2709ae53053d930fb526ee59-1.mp4\" -start_number 0 -hls_segment_filename \"/config/transcodes/714e6f4c2709ae53053d930fb526ee59%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/config/transcodes/714e6f4c2709ae53053d930fb526ee59.m3u8\""
[2024-05-28 17:59:34.206 +00:00] [ERR] [54] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 1
[2024-05-28 17:59:34.256 +00:00] [ERR] [50] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/videos/d2853486-59dd-4505-102f-2737f90b6047/hls1/main/-1.mp4".
(cannot include full backtrace due to post size limit.


If I add back my prefer IPv4 hack in the jellyfin container live and recording works!
Code:
docker  exec -u root -ti jellyfin bash
echo "precedence ::ffff:0:0/96  100" >> /etc/gai.conf


Attached Files
.zip   logs-20240528-2019.zip (Size: 1.38 MB / Downloads: 2)
.zip   jellyfin-logs.zip (Size: 751.1 KB / Downloads: 1)
.zip   nextpvr-logs-20240528-2019.zip (Size: 1.38 MB / Downloads: 1)
« Next Oldest | Next Newest »

Users browsing this thread: 1 Guest(s)

Pages (3): 1 2 3 Next »


Possibly Related Threads…
Thread Author Replies Views Last Post
  Recorded Channel Groupings (Jellyfin) Swindiff 9 431 2025-04-16, 08:59 PM
Last Post: Swindiff
  Jellyfin Plugin can't connect to "pinned" instance psycik 5 501 2025-02-07, 02:56 AM
Last Post: sub
  NextPVR recording setting with JellyFin addon ceejayemm 1 851 2024-11-30, 01:02 AM
Last Post: mvallevand
  Jellyfin 10.9 next update. mvallevand 3 927 2024-11-29, 12:06 PM
Last Post: mvallevand
  Jellyfin v10.9 luguber 23 3,279 2024-05-23, 12:51 PM
Last Post: luguber
  Jellyfin issues turtlejay 10 2,083 2023-12-24, 05:42 PM
Last Post: turtlejay
  jellyfin live tv tab shows nothing. recordings tab has stuff. briantho 10 4,210 2023-07-07, 12:03 AM
Last Post: mvallevand
  Jellyfin playback issue when jellyfin is not on the same machine as nextpvr briantho 3 2,563 2022-12-16, 07:25 PM
Last Post: mvallevand
  Jellyfin 10.8 Alpha & Beta mvallevand 28 8,488 2022-09-08, 08:44 PM
Last Post: mvallevand
  Category 'Movie' is added to all items in the Jellyfin EPG. luguber 5 1,791 2022-04-05, 09:31 PM
Last Post: luguber

  • View a Printable Version
  • Subscribe to this thread
Forum Jump:

© Designed by D&D, modified by NextPVR - Powered by MyBB

Linear Mode
Threaded Mode