Jellyfin Forum
SOLVED: Intros for Jellyfin Plugin - 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: Intros for Jellyfin Plugin (/t-solved-intros-for-jellyfin-plugin)

Pages: 1 2


Intros for Jellyfin Plugin - nothingveryobvious - 2024-11-25

The official intros plugin is not working for me, playing on Jellyfin Media Player and Jellyfin Android TV, with one pre-roll. It worked a few times on 10.10.1 then stopped, and now it's totally not working for me on 10.10.3.

Anyone else have better luck?

Also, does anyone know if this will work in Kodi with the Jellyfin for Kodi plugin?

Thanks!


RE: Intros for Jellyfin Plugin - TheDreadPirate - 2024-11-25

Can you share your logs via pastebin? And screenshots of the plugin config?


RE: Intros for Jellyfin Plugin - nothingveryobvious - 2024-11-25

Hey, @TheDreadPirate, thanks for your reply.

For starters, each episode I'm playing has never been played before, in case that matters.

I just played an episode in Jellyfin Media Player using local connection, and it worked:

[11:45:54] [INF] [33] Jellyfin.Server.Implementations.Users.UserManager: Authentication request for username has succeeded.
[11:45:54] [INF] [33] Emby.Server.Implementations.Session.SessionManager: Current/Max sessions for user username: 0/0
[11:45:54] [INF] [33] Emby.Server.Implementations.Session.SessionManager: Logging out access token 3744564b4e3f4edabef838be52e23bfa
[11:45:54] [INF] [33] Emby.Server.Implementations.Session.SessionManager: Creating new access token for user f9ba4866-4db4-45b3-8303-488551a08960
[11:45:54] [INF] [12] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.1 request
[11:46:12] [INF] [12] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.25 request
[11:46:21] [INF] [41] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
[11:46:31] [INF] [44] Jellyfin.Plugin.LocalIntros.IntroProvider: Selecting intros based on default, 1 intros found
[11:46:31] [INF] [44] Jellyfin.Plugin.LocalIntros.IntroProvider: Selected intro ID: 556af637-4232-4c19-b6ed-95011817bdb9
[11:46:31] [INF] [44] Jellyfin.Plugin.LocalIntros.IntroProvider: Selected intro name: netflix modern
[11:46:31] [INF] [44] Jellyfin.Plugin.LocalIntros.IntroProvider: Selected intro path: /pre-rolls/jellyfin-netflix-modern.mkv
[11:46:33] [INF] [44] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting /usr/lib/jellyfin-ffmpeg/ffprobe with args -analyzeduration 200M -probesize 1G -i file:"/pre-rolls/jellyfin-netflix-modern.mkv" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format
[matroska,webm @ 0xaaaaeb02d330] Could not find codec parameters for stream 2 (Attachment: none): unknown codec
Consider increasing the value for the 'analyzeduration' (200000000) and 'probesize' (1000000000) options
Unsupported codec with id 0 for input stream 2
[11:46:33] [INF] [11] Jellyfin.Plugin.SubtitleExtract.Providers.SubsMetadataProvider: Extracting subtitles for: /pre-rolls/jellyfin-netflix-modern.mkv
[11:46:33] [INF] [44] Emby.Server.Implementations.Session.SessionWebSocketListener: Lost 1 WebSockets.
[11:46:34] [INF] [11] Jellyfin.Plugin.SubtitleExtract.Providers.SubsMetadataProvider: Finished subtitle extraction for: /pre-rolls/jellyfin-netflix-modern.mkv
[11:46:34] [INF] [40] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for username. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[11:46:43] [INF] [40] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Media Player 1.11.1 playing netflix modern. Stopped at 0 ms
[11:46:43] [INF] [43] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Media Player 1.11.1 playing netflix modern. Stopped at 4960 ms
[11:46:43] [INF] [40] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for username. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[11:46:44] [INF] [11] jellyfin_ani_sync.UpdateProviderStatus: Item is in a folder the user does not want to be monitored; ignoring
[11:46:47] [INF] [43] jellyfin_ani_sync.UpdateProviderStatus: Item is in a folder the user does not want to be monitored; ignoring
[11:46:47] [WRN] [42] Trakt.ServerMediator: Received playback progress from user username but initial state was never set - setting it now!
[11:46:47] [INF] [33] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Media Player 1.11.1 playing The Hidden Hand. Stopped at 876 ms
[11:46:48] [INF] [41] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Started user data sync
[11:46:48] [INF] [42] jellyfin_ani_sync.UpdateProviderStatus: Item is in a folder the user does not want to be monitored; ignoring
[11:46:49] [INF] [41] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: User Data Sync: User username (f9ba48664db445b38303488551a08960) posted 2 updates
[11:46:49] [INF] [41] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Finished user data sync, taking 00:00:00.7141907
[11:46:55] [INF] [40] Emby.Server.Implementations.ScheduledTasks.TaskManager: Webhook Item Added Notifier Completed after 0 minute(s) and 0 seconds
[11:47:01] [INF] [11] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.25 closed


However, when I play a different episode on Jellyfin Android TV, connecting via reverse proxy, it doesn't work:

[11:49:46] [INF] [47] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for username. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[11:49:47] [INF] [42] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Started user data sync
[11:49:47] [INF] [42] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: User Data Sync: User username (f9ba48664db445b38303488551a08960) posted 2 updates
[11:49:47] [INF] [42] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Finished user data sync, taking 00:00:00.0829534
[11:49:47] [INF] [41] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -i file:"/media/jellyfin-duzzin/TV Shows/Dune - Prophecy/Season 01/Dune - .Prophecy_S01E02_Two.Wolves_WEBDL-1080p_x265_10bit_EAC3.Atmos_5.1_[YELLO].mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset veryfast -crf 23 -maxrate 6283660 -bufsize 12567320 -profile:v:0 high -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hexFace-with-open-mouthpen_gop=0 -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,scale=trunc(min(max(iw\,ih*a)\,min(1920\,960*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(1920/a\,960))/2)*2,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/cache/transcodes/5a45bb10464b06810c06f1b699b9d571%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/cache/transcodes/5a45bb10464b06810c06f1b699b9d571.m3u8"
[11:49:57] [INF] [33] MediaBrowser.Controller.MediaEncoding.TranscodingJob: Stopping ffmpeg process with q command for /config/cache/transcodes/5a45bb10464b06810c06f1b699b9d571.m3u8
[11:49:58] [INF] [17] Emby.Server.Implementations.ScheduledTasks.TaskManager: Webhook Item Added Notifier Completed after 0 minute(s) and 0 seconds
[11:50:00] [INF] [33] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0
[11:50:00] [INF] [33] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) /config/cache/transcodes/5a45bb10464b06810c06f1b699b9d571.m3u8
[11:50:02] [INF] [9] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Android TV 0.17.9 playing Two Wolves. Stopped at 2243 ms
[11:50:02] [INF] [9] jellyfin_ani_sync.UpdateProviderStatus: Item is in a folder the user does not want to be monitored; ignoring
[11:50:02] [INF] [9] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Started user data sync
[11:50:02] [ERR] [9] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: An error has occurred in UserUpdateTimerCallback
System.InvalidCastException: Unable to cast object of type 'System.Guid' to type 'System.String'.
at lambda_method1428(Closure, Object, Object)
at LiteDB.BsonMapper.DeserializeObject(EntityMapper entity, Object obj, BsonDocument value)
at LiteDB.BsonMapper.Deserialize(Type type, BsonValue value)
at LiteDB.LiteQueryable
1.<ToEnumerable>b__27_2(BsonDocument x)
at System.Linq.Enumerable.SelectEnumerableIterator2.ToList()
at Jellyfin.Plugin.KodiSyncQueue.Data.DbRepo.SetUserInfoSync(List
1 dtos, List1 itemRefs, String userId)
at Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification.SaveUserChanges(List
1 dtos, List1 itemRefs, String userName, String userId)
at Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification.SendNotifications(IEnumerable
1 changes, List1 itemRefs, CancellationToken cancellationToken)
at Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification.UpdateTimerCallback(Object state)


If I try playing yet a different episode on Jellyfin Android TV, this time with local connection, it also doesn't work:

[11:53:32] [INF] [25] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.1 request
[11:53:32] [INF] [41] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.1 closed
[11:53:42] [INF] [11] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for jon. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[11:53:43] [INF] [45] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Started user data sync
[11:53:43] [INF] [45] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: User Data Sync: User jon (f9ba48664db445b38303488551a08960) posted 2 updates
[11:53:43] [INF] [45] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Finished user data sync, taking 00:00:00.0796813
[11:53:43] [INF] [12] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.1 request
[11:53:43] [INF] [45] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.1 closed
[11:53:47] [INF] [41] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Android TV 0.17.9 playing Scene 31A: Tecto Meets Eye. Stopped at 2439 ms
[11:53:47] [INF] [7] jellyfin_ani_sync.UpdateProviderStatus: Item is in a folder the user does not want to be monitored; ignoring
[11:53:48] [INF] [7] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Started user data sync
[11:53:48] [ERR] [7] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: An error has occurred in UserUpdateTimerCallback
System.InvalidCastException: Unable to cast object of type 'System.Guid' to type 'System.String'.
at lambda_method1428(Closure, Object, Object)
at LiteDB.BsonMapper.DeserializeObject(EntityMapper entity, Object obj, BsonDocument value)
at LiteDB.BsonMapper.Deserialize(Type type, BsonValue value)
at LiteDB.LiteQueryable
1.<ToEnumerable>b__27_2(BsonDocument x)
at System.Linq.Enumerable.SelectEnumerableIterator2.ToList()
at Jellyfin.Plugin.KodiSyncQueue.Data.DbRepo.SetUserInfoSync(List
1 dtos, List1 itemRefs, String userId)
at Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification.SaveUserChanges(List
1 dtos, List1 itemRefs, String userName, String userId)
at Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification.SendNotifications(IEnumerable
1 changes, List1 itemRefs, CancellationToken cancellationToken)
at Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification.UpdateTimerCallback(Object state)
[11:54:01] [INF] [7] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.1 request
[11:54:01] [INF] [11] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.1 closed
[11:54:26] [INF] [7] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.1 request
[11:54:26] [INF] [9] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 192.168.228.1 closed
[11:54:32] [INF] [9] Emby.Server.Implementations.ScheduledTasks.TaskManager: Webhook Item Added Notifier Completed after 0 minute(s) and 0 seconds


Here is a screenshot of the plugin config, using version 3.0.0.0:
https://ibb.co/ws9byy4

I appreciate your help!


RE: Intros for Jellyfin Plugin - TheDreadPirate - 2024-11-25

On Android TV local intros only works on Movies. This is a known limitation.


RE: Intros for Jellyfin Plugin - nothingveryobvious - 2024-11-25

@TheDreadPirate

I just tried it on two movies on Android TV. The logs seem to indicate that the into played, but I didn't see anything.


[14:46:59] [INF] [46] Emby.Server.Implementations.ScheduledTasks.TaskManager: Webhook Item Added Notifier Completed after 0 minute(s) and 0 seconds
[14:47:10] [INF] [12] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
[14:47:23] [INF] [58] Jellyfin.Plugin.LocalIntros.IntroProvider: Selecting intros based on default, 1 intros found
[14:47:23] [INF] [58] Jellyfin.Plugin.LocalIntros.IntroProvider: Selected intro ID: 556af637-4232-4c19-b6ed-95011817bdb9
[14:47:23] [INF] [58] Jellyfin.Plugin.LocalIntros.IntroProvider: Selected intro name: netflix modern
[14:47:23] [INF] [58] Jellyfin.Plugin.LocalIntros.IntroProvider: Selected intro path: /pre-rolls/jellyfin-netflix-modern.mkv
[14:48:35] [INF] [46] Emby.Server.Implementations.ScheduledTasks.TaskManager: Webhook Item Added Notifier Completed after 0 minute(s) and 0 seconds
[14:49:18] [INF] [59] Jellyfin.Plugin.LocalIntros.IntroProvider: Selecting intros based on default, 1 intros found
[14:49:18] [INF] [9] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for username. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[14:49:18] [INF] [59] Jellyfin.Plugin.LocalIntros.IntroProvider: Selected intro ID: 556af637-4232-4c19-b6ed-95011817bdb9
[14:49:18] [INF] [59] Jellyfin.Plugin.LocalIntros.IntroProvider: Selected intro name: netflix modern
[14:49:18] [INF] [59] Jellyfin.Plugin.LocalIntros.IntroProvider: Selected intro path: /pre-rolls/jellyfin-netflix-modern.mkv
[14:49:24] [INF] [7] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Started user data sync
[14:49:44] [INF] [7] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: User Data Sync: User username (f9ba48664db445b38303488551a08960) posted 2 updates
[14:49:44] [INF] [7] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Finished user data sync, taking 00:00:20.3214628
[14:49:58] [INF] [9] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
[14:50:01] [INF] [47] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Android TV 0.17.9 playing Challengers. Stopped at 39137 ms
[14:50:01] [INF] [7] Jellyfin.Plugin.KodiSyncQueue.EntryPoints.UserSyncNotification: Started user data sync



RE: Intros for Jellyfin Plugin - TheDreadPirate - 2024-11-26

I'll have to do some testing when I get home and I'll get back to you.


RE: Intros for Jellyfin Plugin - nothingveryobvious - 2024-11-26

@TheDreadPirate Sounds good, thank you!


RE: Intros for Jellyfin Plugin - TheDreadPirate - 2024-11-27

Sorry. Didn't get around to testing last night. I have tomorrow off so I should have time tonight to test.


RE: Intros for Jellyfin Plugin - nothingveryobvious - 2024-11-27

@TheDreadPirate

No worries, take your time. I genuinely appreciate you taking the time.


RE: Intros for Jellyfin Plugin - TheDreadPirate - 2024-11-28

Confirmed that local intros only play with movies. Doesn't appear that the ATV app currently makes the API call for shows. Confirmed with Niels that this was the case.