nicknsy / jellyscrub

Smooth mouse-over video scrubbing previews for Jellyfin.
MIT License
668 stars 27 forks source link

Error was observe in Jellyfin log during BIF generation caused by .srt subtitle file. #78

Closed JackJ74 closed 1 year ago

JackJ74 commented 1 year ago

Error was observe in Jellyfin log during BIF generation. It seems that ffmpeg is trying to create BIF file for subtitle file.

[ERR] [35] MediaBrowser.Providers.MediaInfo.SubtitleResolver: Error getting external streams from "/xxx.srt"
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, Boolean forceEnableLogging, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.MediaInfoResolver.GetExternalStreamsAsync(Video video, Int32 startIndex, IDirectoryService directoryService, Boolean clearCache, CancellationToken cancellationToken)
nicknsy commented 1 year ago

Can you post all relevent lines? It should say "Generating BIF file for..." Also what jellyfin, plugin, and browser version are you using?

JackJ74 commented 1 year ago

Can you post all relevent lines? It should say "Generating BIF file for..." Also what jellyfin, plugin, and browser version are you using?

Sure, this error happens after some successful run. I noticed this error because the generating BIF scheduled task progress is stuck.

[2023-02-17 14:33:24.124 +08:00] [INF] [72] Nick.Plugin.Jellyscrub.Drawing.VideoProcessor: Creating trickplay files at 320 width, for "/Movie/Star Wars (1977)/Star Wars (1977) Dolby Vision EAC3 Atmos 16.6 Mbps - 2160p.mp4" [ID: a448b176-b127-744b-2b7e-d129eaed418c]
[2023-02-17 14:33:24.124 +08:00] [INF] [72] Nick.Plugin.Jellyscrub.Drawing.OldMediaEncoder: /usr/lib/jellyfin-ffmpeg/ffmpeg -loglevel error -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel qsv -hwaccel_output_format qsv -c:v hevc_qsv -autorotate 0 -i file:"/Movie/Star Wars (1977)/Star Wars (1977) Dolby Vision EAC3 Atmos 16.6 Mbps - 2160p.mp4" -autoscale 0 -an -sn -vf "fps=1/5,setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale_qsv=w=320:h=180:format=nv12" -threads 0 -c:v mjpeg_qsv -f image2 "/cache/temp/5c33433624844b82b4a49471b3e6981b/img_%08d.jpg"
[2023-02-17 14:33:24.125 +08:00] [INF] [72] Nick.Plugin.Jellyscrub.Drawing.OldMediaEncoder: Setting generation process priority to Normal
[2023-02-17 14:34:24.121 +08:00] [INF] [88] Emby.Server.Implementations.IO.LibraryMonitor: "Movie" ("/Movie") will be refreshed.
[2023-02-17 14:34:24.746 +08:00] [ERR] [35] MediaBrowser.Providers.MediaInfo.SubtitleResolver: Error getting external streams from "/Movie/Alvin and the Chipmunks - The Road Chip (2015)/Alvin and the Chipmunks - The Road Chip (2015) AAC 0.9 Mbps - 720p.zho.srt"
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, Boolean forceEnableLogging, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.MediaInfoResolver.GetExternalStreamsAsync(Video video, Int32 startIndex, IDirectoryService directoryService, Boolean clearCache, CancellationToken cancellationToken)

Edit: Jellyfin is hosted on Synology NAS in Docker. Add-on: KODI Sync, Infuse Sync, Merge Version, and default ones

nicknsy commented 1 year ago

When you say it's stuck, does it still show the progress bar or does it completely stop? Is this something you can replicate consistently (i.e. you click and this generate bif and this happens every time)?

At first glance this does not look like an error caused by jellyscrub since it can only ever generate one bif file at a time. So, for it to even try alvin and the chipmunks it would first have to finish Star Wars and should've printed "Finished creating bif for..."

JackJ74 commented 1 year ago

When you say it's stuck, does it still show the progress bar or does it completely stop? Is this something you can replicate consistently (i.e. you click and this generate bif and this happens every time)?

At first glance this does not look like an error caused by jellyscrub since it can only ever generate one bif file at a time. So, for it to even try alvin and the chipmunks it would first have to finish Star Wars and should've printed "Finished creating bif for..."

I think I solved this issue by removing the Alvin.srt file. It seems it is conflicting with the BIF generation process. Thank you