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
mvallevand
Online

Posting Freak

Ontario Canada
Posts: 53,183
Threads: 958
Joined: May 2006
#11
2024-05-28, 07:09 PM (This post was last modified: 2024-05-28, 07:28 PM by mvallevand.)
What I think is happening is you have Jellyfin configured only for IPv4 (this is why I like full logs) but ffmpeg is probably coming in on IPv6. NextPVR's sid security is blocking the IPv6 connection as a different source IP address, which is actually what it should do. If you change network.xml to allow IPv6 does it work?

What is odd is the LiveTV request since it also using IPv6 not IPv4 and that should be from Jellfyin.

Martin
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#12
2024-05-28, 07:29 PM (This post was last modified: 2024-05-28, 07:30 PM by prahal.)
(2024-05-28, 07:09 PM)mvallevand Wrote: What I think is happening is you have Jellyfin configured only for IPv4 (this is why I like full logs) but ffmpeg is probably coming in on IPv6.  NextPVR's sid security would be blocking the IPv6 connection as a different source IP address, which is actually what it should do.  If you change network.xml to allow IPv6 does it work?

Martin

I am puzzled. I attached full logs. However I believe you are right. I indeed have left Jellyfin with Ipv6 disabled after it was suggested.
With it enabled I can do live and recording playback via jellyfin with NextPVR has "Allow remote access" and " Allow unauthenticated access for streaming Live TV / Recordings" ticked.:
Code:
[23] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[23] /live?recording=851&sid=498a108a3ecd41758f44f3877e0e4e7c
[23]  - recording: 851
[23]  - sid: 498a108a3ecd41758f44f3877e0e4e7c
[23] range: bytes=0-
[23] StreamNative@1..
[23] StreamNative@2
[23] StreamNative@3
[23] StreamNative@4
[23] RollingFile.Open(/recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts) ..
[23] About to stream recording: /recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts
[23] Request had range request
[23] Requested Range: 0- (2359003320 bytes)
[83] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[83] /live?recording=851&sid=498a108a3ecd41758f44f3877e0e4e7c
[83]  - recording: 851
[83]  - sid: 498a108a3ecd41758f44f3877e0e4e7c
[83] range: bytes=0-
[83] StreamNative@1..
[83] StreamNative@2
[83] StreamNative@3
[83] StreamNative@4
[83] RollingFile.Open(/recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts) ..
[83] About to stream recording: /recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts
[83] Request had range request
[83] Requested Range: 0- (2359003320 bytes)
[23] Client has disconnected
[23] Sent total of 789600 bytes
[101] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[101] /live?recording=851&sid=498a108a3ecd41758f44f3877e0e4e7c
[101]  - recording: 851
[101]  - sid: 498a108a3ecd41758f44f3877e0e4e7c
[101] range: bytes=2358753320-
[101] StreamNative@1..
[101] StreamNative@2
[101] StreamNative@3
[101] StreamNative@4
[101] RollingFile.Open(/recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts) ..
[101] About to stream recording: /recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts
[101] Request had range request
[101] Requested Range: 2358753320- (250000 bytes)
[83] Client has disconnected
[83] Sent total of 150193200 bytes
[101] Sent total of 250000 bytes
[83] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[83] /live?recording=851&sid=498a108a3ecd41758f44f3877e0e4e7c
[83]  - recording: 851
[83]  - sid: 498a108a3ecd41758f44f3877e0e4e7c
[83] range: bytes=0-
[83] StreamNative@1..
[83] StreamNative@2
[83] StreamNative@3
[83] StreamNative@4
[83] RollingFile.Open(/recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts) ..
[83] About to stream recording: /recordings/Pouic-Pouic/Pouic-Pouic_20230113_22500015.ts
[83] Request had range request
[83] Requested Range: 0- (2359003320 bytes)
[101] Got request [fc00:10::95d0:9841:2f1:aaf8]: /service (recording.lastupdated)
[101] method=recording.lastupdated
[101] parameters:
[101]    method: recording.lastupdated
[101]    ignore_resume: true
[101]    sid: 498a108a3ecd41758f44f3877e0e4e7c
[101]    format: json
[101]    client_ip: fc00:10::95d0:9841:2f1:aaf8
[101]    user_agent: Jellyfin-Server/10.9.3
[101]    host_callback: ...
[101] LastUpdated
[101] {"last_update":1716855120}




Note I edited my post to add that all works well when I hack the jellyding docker container /etc/gai.conf to prefer IPv4 when resolving.



When "Allow remote access" is not ticked in NextPVR I get failure to playback from jellyfin web for both live and recording:
Code:
[90] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[90] /live?recording=851&sid=498a108a3ecd41758f44f3877e0e4e7c
[90]  - recording: 851
[90]  - sid: 498a108a3ecd41758f44f3877e0e4e7c
[90] range: bytes=0-
[90] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). Remote access not enabled.
[101] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[101] /live?recording=851&sid=498a108a3ecd41758f44f3877e0e4e7c
[101]  - recording: 851
[101]  - sid: 498a108a3ecd41758f44f3877e0e4e7c
[101] range: bytes=0-
[101] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). Remote access not enabled.
[101] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[101] /live?recording=851&sid=498a108a3ecd41758f44f3877e0e4e7c
[101]  - recording: 851
[101]  - sid: 498a108a3ecd41758f44f3877e0e4e7c
[101] range: bytes=0-
[101] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). Remote access not enabled.
[90] Got request [fc00:10::95d0:9841:2f1:aaf8]: /service (recording.lastupdated)
[90] method=recording.lastupdated
[90] parameters:
[90]    method: recording.lastupdated
[90]    ignore_resume: true
[90]    sid: 498a108a3ecd41758f44f3877e0e4e7c
[90]    format: json
[90]    client_ip: fc00:10::95d0:9841:2f1:aaf8
[90]    user_agent: Jellyfin-Server/10.9.3
[90]    host_callback: ...
[90] LastUpdated
[90] {"last_update":1716855120}


Code:
[90] Got request [fc00:10::95d0:9841:2f1:aaf8]: /live
[90] /live?channeloid=7153&client=jellyfin.4&sid=498a108a3ecd41758f44f3877e0e4e7c
[90]  - channeloid: 7153
[90]  - client: jellyfin.4
[90]  - sid: 498a108a3ecd41758f44f3877e0e4e7c
[90] range: bytes=0-
[90] Rejecting streaming request from remote client (fc00:10::95d0:9841:2f1:aaf8). Remote access not enabled.
[23] Got request [fc00:10::95d0:9841:2f1:aaf8]: /service (recording.list)
[23] method=recording.list
[23] parameters:
[23]    method: recording.list
[23]    filter: pending
[23]    sid: 498a108a3ecd41758f44f3877e0e4e7c
[23]    format: json
[23]    client_ip: fc00:10::95d0:9841:2f1:aaf8
[23]    user_agent: Jellyfin-Server/10.9.3
[23]    host_callback: ...
[23] GetRecordingsList()
[23] GetRecordingList@1.5)
[23] GetRecordingsList@2
[23] Matched 0 recordings
[23] GetRecordingsList@exit
[23] {
"recordings": [
]
}

I attached the logs to the post for the case with NextPVR remote access disabled.
However, this might be an invalid issue if I am not supposed to use fc00://7 for a LAN. Please confirm if I ought to switch to fd00::/7.

Edit: Both the working with remote access on NextPVR side enabled and the non working with it disabled where done with the glibc gai.conf hack to prefer IPv4 in the jellyfin container removed.


Attached Files
.zip   jellyfin-logs.zip (Size: 768.81 KB / Downloads: 1)
.zip   nextpvr-logs-20240528-2124.zip (Size: 1.43 MB / Downloads: 0)
mvallevand
Online

Posting Freak

Ontario Canada
Posts: 53,183
Threads: 958
Joined: May 2006
#13
2024-05-28, 07:45 PM (This post was last modified: 2024-05-28, 07:51 PM by mvallevand.)
I was just explaining that I liked the full logs in the first post, since I look at more than just the NextPVR lines that people usually include so thanks for that.

Now that that recordings have sid security in normal use unauthenticated access is not required. I need to do a few more tests after reading this use case.

Optionally I can see if I can resolve the IP in the addon using Jellyfin paths.

Sub has made a change to the next version to allow for fc00 as local but if you use fd00 now you don't need to allow remote access now. It might allow the any sid in unauthenticated mode, it does in my testing.

Martin
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#14
2024-05-28, 07:56 PM
Do you think the Jellyfin NextPVR plugin could avoid transcoding the NextPVR stream (both live and recording)? My NAS rk3399 video encoder and decoder are still not supported in Linux per se (well the rockchip tree but this would prevent me from patching and testing Linux upstream for other codes I work on.
I plan to mostly

However, as I understood from one of your comments I could have used "a storage container and use the filename method and not http streaming".
I believe you mean I could have stored the recordings onto a docker storage container and accessed it from both hosts via path. So this would apply only for recording, not live?
mvallevand
Online

Posting Freak

Ontario Canada
Posts: 53,183
Threads: 958
Joined: May 2006
#15
2024-05-28, 08:16 PM (This post was last modified: 2024-05-28, 08:17 PM by mvallevand.)
The plugin doesn't transcode it just provides a URL to Jellyfin which decides what to do with it based on the ffmpeg probe.

The reason I mentioned a storage container is if you mapped the NextPVR recording volume on both Dockers the same way, the virtual filename could be the same and you wouldn't need to worry about http streaming or security just filesystem permissions. ffprobe will give the same results though but maybe is a bit more efficient.

Martin
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#16
2024-05-28, 08:36 PM
(2024-05-28, 07:45 PM)mvallevand Wrote: I was just explaining that I liked the full logs in the first post, since I look at more than just the NextPVR lines that people usually include so thanks for that.

Now that that recordings have sid security in normal use unauthenticated access is not required.  I need to do a few more tests after reading this use case. 

Optionally I can see if I can resolve the IP in the addon  using Jellyfin paths.

Sub has made a change to the next version to allow for fc00 as local but if you use fd00 now you don't need to allow remote access now.  It might allow the any sid in unauthenticated mode, it does in my testing.

Martin

We misunderstood but you are right. Live and recordings are now playing fine from jellyfin web when " Allow unauthenticated access for streaming Live TV / Recordings"  is unticked. I just checked.

I was asking if you planned to have fc00::/7 not working when " Allow remote access" is unticked. Or if I was supposed to switch to fd00://7 as fc00::/7 would be invalid for a private LAN.

Thanks a lot.
mvallevand
Online

Posting Freak

Ontario Canada
Posts: 53,183
Threads: 958
Joined: May 2006
#17
2024-05-28, 08:50 PM (This post was last modified: 2024-05-28, 08:50 PM by mvallevand.)
In 6.1.5 fc00 is public. In 6.1.6 sub the author has added fc00 to the private list since many users consider it to be private so you will be able to untick allow remote access then.

Martin
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#18
2024-05-28, 11:20 PM (This post was last modified: 2024-05-28, 11:32 PM by prahal.)
(2024-05-28, 08:50 PM)mvallevand Wrote: In 6.1.5 fc00 is public.  In 6.1.6 sub the author has added fc00 to the private list since many users consider it to be private so you will be able to untick allow remote access then.

Martin

From a search on the forum, 6.1.6 is not published, isn't it?
I checked https://hub.docker.com/r/nextpvr/nextpvr_amd64/tags and stable, latest, and prerelease are the same commit which gives me at runtime NextPVR 6.1.5.231022.

Also, do you know if it is possible to avoid transcoding the NextPVR stream on Jellyfin (it transcodes both to Jellyfin web in Firefox 126 and the Android 12 Jellyfin app?
mvallevand
Online

Posting Freak

Ontario Canada
Posts: 53,183
Threads: 958
Joined: May 2006
#19
2024-05-29, 01:14 AM
A much earlier pre-release of 6.1.6 was released but not for Docker and even the current version I am using has too many limitations. It is an ambitious release and I am not sure when it will be complete.

I noted above that the plugin isn't involved in transcoding. NextPVR considers Jellyfin as a direct play client like Kodi and so it sends a raw stream to Jellyfin server. Your question would be for the Jellyfin forum, I don't even use Jellyfin, but it might be worthwhile to try uidroid on Android to see if it can direct play your DVB-T from NextPVR directly. I know in France there is a lot of E-AC3 audio (which would need to be transcoded for the web) but if uidroid can direct play so should the Jellfyin Android client. The both are ExoPlayer based.

Marti
prahal
Offline

Junior Member

France
Posts: 26
Threads: 2
Joined: Sep 2022
#20
2024-06-04, 05:43 AM
(2024-05-29, 01:14 AM)mvallevand Wrote: A much earlier pre-release of 6.1.6 was released but not for Docker and even the current version I am using has too many limitations.  It is an ambitious release and I am not sure when it will be complete.

I noted above that the plugin isn't involved in transcoding. NextPVR considers Jellyfin as a direct play client like Kodi and so it sends a raw stream to Jellyfin server.  Your question would be for the Jellyfin forum, I don't even use Jellyfin, but it might be worthwhile to try uidroid on Android  to see if it can direct play your DVB-T from NextPVR directly.  I know in France there is a lot of E-AC3 audio (which would need to be transcoded for the web) but if uidroid can direct play so should the Jellfyin Android client.  The both are ExoPlayer based.

Marti

I should have given my findings earlier.
I found in the jelllyfin that the TV bitrate is bigger than jellyfin limit thus transcoding happens.
Jelluyfin has a limit that depends on the video width:


https://github.com/jellyfin/jellyfin/blo...#L551-L574

Code:
            var videoStream = mediaSource.MediaStreams.FirstOrDefault(i => i.Type == MediaStreamType.Video);
            if (videoStream is not null)
            {
                if (!videoStream.BitRate.HasValue)
                {
                    var width = videoStream.Width ?? 1920;

                    if (width >= 3000)
                    {
                        videoStream.BitRate = 30000000;
                    }
                    else if (width >= 1900)
                    {
                        videoStream.BitRate = 20000000;
                    }
                    else if (width >= 1200)
                    {
                        videoStream.BitRate = 8000000;
                    }
                    else if (width >= 700)
                    {
                        videoStream.BitRate = 2000000;
                    }


French streams are 20Mbps
Code:
Média
Administration
Utilisateur
Planète Terre, le prix de la survie

Informations de lecture
Lecteur
Html Video Player
Méthode de lecture
Transcodage
Protocole
http
Type de flux
HLS

Informations vidéo
Dimension du lecteur
1920x963
Résolution vidéo
852x479
Images perdues
45
Images corrompues
0

Informations de transcodage
Codec vidéo
H264
Codec audio
AAC
Canaux audio
2
Débit
19.9 Mbps
Taux de rafraîchissement du transcodage
22 fps
Raison du transcodage
Le débit binaire de la vidéo dépasse la limite
Informations sur le média original
Conteneur
mpegts
Débit
20.1 Mbps
Codec vidéo
H264 High
Débit vidéo
20.0 Mbps
Type de plage vidéo
SDR
Codec audio
EAC3
Débit audio
128 kbps
Canaux audio
2
Taux d’échantillonnage audio
48000 Hz

ie 
Code:
Media
Administration
User
Planet Earth, the price of survival

Reading information
Drive
Html Video Player
Reading method
Transcoding
Protocol
http
Flow type
HLS

Video information
Drive size
1920x963
Video resolution
852x479
Lost images
45
Corrupt images
0

Transcoding information
Video codec
H264
Audio codec
AAFC
Audio channels
2
Speed
19.9 Mbps
Transcoding refresh rate
22fps
Reason for transcoding
Video bitrate exceeds limit
Original media information

Container
mpegts
Speed
20.1 Mbps
Video codec
H264 High
Video bitrate
20.0 Mbps
Video track type
SDR
Audio codec
EAC3
Audio rate
128 kbps
Audio channels
2
Audio sample rate
48000 Hz



There is already a report requesting higher bitrates https://github.com/jellyfin/jellyfin/issues/3277

However, adding my finding that French TV is always transcoded without a valid reason might push the issue up the stack. I have not done that yet.
« Next Oldest | Next Newest »

Users browsing this thread: 1 Guest(s)

Pages (3): « Previous 1 2 3 Next »


Possibly Related Threads…
Thread Author Replies Views Last Post
  Recorded Channel Groupings (Jellyfin) Swindiff 9 840 2025-04-16, 08:59 PM
Last Post: Swindiff
  Jellyfin Plugin can't connect to "pinned" instance psycik 5 843 2025-02-07, 02:56 AM
Last Post: sub
  NextPVR recording setting with JellyFin addon ceejayemm 1 1,321 2024-11-30, 01:02 AM
Last Post: mvallevand
  Jellyfin 10.9 next update. mvallevand 3 1,138 2024-11-29, 12:06 PM
Last Post: mvallevand
  Jellyfin v10.9 luguber 23 3,920 2024-05-23, 12:51 PM
Last Post: luguber
  Jellyfin issues turtlejay 10 2,587 2023-12-24, 05:42 PM
Last Post: turtlejay
  jellyfin live tv tab shows nothing. recordings tab has stuff. briantho 10 4,833 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,799 2022-12-16, 07:25 PM
Last Post: mvallevand
  Jellyfin 10.8 Alpha & Beta mvallevand 28 9,298 2022-09-08, 08:44 PM
Last Post: mvallevand
  Category 'Movie' is added to all items in the Jellyfin EPG. luguber 5 2,002 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