Thumbnail extraction fails for mkv with webp attachment #7209

Open
opened 2026-02-07 04:42:29 +03:00 by OVERLORD · 5 comments
Owner

Originally created by @15532th on GitHub (Aug 3, 2025).

Description of the bug

Embedded Images Extractor fails to extract .webp thumbnail from mkv files produced by yt-dlp with --embed-thumbnail --merge-output-format mkv.

Reproduction steps

  1. Create new library with type set to "Home videos and photos".
  2. Download VP9-encoded video from Youtube using yt-dlp --embed-thumbnail --merge-output-format mkv https://youtu.be/video_id, add directory containing the video to the library
  3. Initiate library scan
  4. Check preview image, generated for the video

What is the current bug behavior?

Preview is a screenshot taken from the middle of the video. With Screen Grabber disabled in library settings preview is not generated at all.

What is the expected correct behavior?

Preview is the same as Youtube thumbnail, embedded in the mkv.

Jellyfin Server version

10.10.0+

Specify commit id

No response

Specify unstable release number

No response

Specify version number

No response

Specify the build version

10.10.7

Environment

- OS: Windows 10
- Virtualization: none
- Clients: browser
- Browser: Firefox
- FFmpeg Version: 7.0.2-Jellyfin

Jellyfin logs

[17:27:05] [INF] [26] Emby.Server.Implementations.Library.LibraryManager: Validating media library
[17:27:05] [INF] [28] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting ffprobe with args -analyzeduration 200M -probesize 1G -i file:"D:\temp\test_video.mkv" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format
[17:27:06] [ERR] [28] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: I-frame image extraction failed, will attempt standard way. Input: file:"D:\temp\test_video.mkv"
MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"D:\temp\test_video.mkv"
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken)
[17:27:06] [ERR] [3] MediaBrowser.Providers.Videos.VideoMetadataService: Error in Embedded Image Extractor
MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"D:\temp\test_video.mkv"
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.ExtractAttachment(Video item, MediaAttachment attachmentStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.GetEmbeddedImage(Video item, ImageType type, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseItem item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, TypeOptions savedOptions, List`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken)
[17:27:07] [INF] [26] Emby.Server.Implementations.ScheduledTasks.TaskManager: Scan Media Library Completed after 0 minute(s) and 1 seconds

FFmpeg logs


Client / Browser logs

No response

Relevant screenshots or videos

No response

Additional information

There is bug in ffmpeg tracker describing seemingly this exact problem: https://trac.ffmpeg.org/ticket/10506. The issue persists with the latest build of ffmpeg and the bug is open, so I assume it is not yet fixed. There is also mention of possible workaround with -dump_attachment option.

Originally created by @15532th on GitHub (Aug 3, 2025). ### Description of the bug Embedded Images Extractor fails to extract `.webp` thumbnail from mkv files produced by yt-dlp with `--embed-thumbnail --merge-output-format mkv`. ### Reproduction steps 1. Create new library with type set to "Home videos and photos". 2. Download VP9-encoded video from Youtube using `yt-dlp --embed-thumbnail --merge-output-format mkv https://youtu.be/video_id`, add directory containing the video to the library 3. Initiate library scan 3. Check preview image, generated for the video ### What is the current _bug_ behavior? Preview is a screenshot taken from the middle of the video. With Screen Grabber disabled in library settings preview is not generated at all. ### What is the expected _correct_ behavior? Preview is the same as Youtube thumbnail, embedded in the mkv. ### Jellyfin Server version 10.10.0+ ### Specify commit id _No response_ ### Specify unstable release number _No response_ ### Specify version number _No response_ ### Specify the build version 10.10.7 ### Environment ```markdown - OS: Windows 10 - Virtualization: none - Clients: browser - Browser: Firefox - FFmpeg Version: 7.0.2-Jellyfin ``` ### Jellyfin logs ```shell [17:27:05] [INF] [26] Emby.Server.Implementations.Library.LibraryManager: Validating media library [17:27:05] [INF] [28] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting ffprobe with args -analyzeduration 200M -probesize 1G -i file:"D:\temp\test_video.mkv" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format [17:27:06] [ERR] [28] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: I-frame image extraction failed, will attempt standard way. Input: file:"D:\temp\test_video.mkv" MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"D:\temp\test_video.mkv" at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken) [17:27:06] [ERR] [3] MediaBrowser.Providers.Videos.VideoMetadataService: Error in Embedded Image Extractor MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"D:\temp\test_video.mkv" at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.ExtractAttachment(Video item, MediaAttachment attachmentStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.GetEmbeddedImage(Video item, ImageType type, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseItem item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, TypeOptions savedOptions, List`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken) [17:27:07] [INF] [26] Emby.Server.Implementations.ScheduledTasks.TaskManager: Scan Media Library Completed after 0 minute(s) and 1 seconds ``` ### FFmpeg logs ```shell ``` ### Client / Browser logs _No response_ ### Relevant screenshots or videos _No response_ ### Additional information There is bug in ffmpeg tracker describing seemingly this exact problem: https://trac.ffmpeg.org/ticket/10506. The issue persists with the [latest](https://github.com/BtbN/FFmpeg-Builds/releases/tag/autobuild-2025-08-03-14-07) build of ffmpeg and the bug is open, so I assume it is not yet fixed. There is also mention of possible workaround with `-dump_attachment` option.
OVERLORD added the bugupstream labels 2026-02-07 04:42:29 +03:00
Author
Owner

@15532th commented on GitHub (Aug 3, 2025):

Even though the root cause of the issue does seem to be caused by ffmpeg, I believe it would be beneficial to fix it in Jellyfin. Original bug has been filed two years ago and there was no movement ever since, and even after it gets fixed, installations relying on system-wide binary won't benefit from the fix.

The image extraction is performed by constructing and running ffmpeg command, and the workaround would be to add yet another special case for attachments with mimetype image/* , which would make extractor more robust against ffmpeg quirks, and it seems to me that extractor code already has plenty of similar format-specific workarounds.

I see a few other similar issues (like https://github.com/jellyfin/jellyfin/issues/8440), so it is not entirely new, and I am probably not the only one affected by this.

@15532th commented on GitHub (Aug 3, 2025): Even though the root cause of the issue does seem to be caused by ffmpeg, I believe it would be beneficial to fix it in Jellyfin. Original bug has been filed two years ago and there was no movement ever since, and even after it gets fixed, installations relying on system-wide binary won't benefit from the fix. The image extraction is performed by constructing and running ffmpeg command, and the workaround would be to add yet another special case for attachments with mimetype `image/*` , which would make extractor more robust against ffmpeg quirks, and it seems to me that extractor code already has plenty of similar format-specific workarounds. I see a few other similar issues (like https://github.com/jellyfin/jellyfin/issues/8440), so it is not entirely new, and I am probably not the only one affected by this.
Author
Owner

@Diosjenin commented on GitHub (Aug 4, 2025):

+1 here. Literally just ran into this problem today and found this page via a google search. Image extraction works fine for MP4 files, but fails for MKV files. I'm also getting the error whether those MKV files were downloaded from YT-DLP or whether they're locally rendered files with a PNG thumbnail manually attached via MP3Tag, so it's not a YT-DLP-specific or WEBP-specific problem.

Running Jellyfin via the official Docker container on Unraid. Some relevant example logs:

When downloaded from YT-DLP:

[2025-08-04 08:44:57.346 -05:00] [ERR] [81] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: I-frame image extraction failed, will attempt standard way. Input: "file:\"/data/youtube/Test Youtuber/06 Other/S06E05 - Title.mkv\""
MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"/data/youtube/Test Youtuber/06 Other/S06E05 - Title.mkv"
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken)
[2025-08-04 08:44:58.077 -05:00] [ERR] [62] MediaBrowser.Providers.TV.EpisodeMetadataService: Error in "Embedded Image Extractor"
MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"/data/youtube/Test Youtuber/06 Other/S06E05 - Title.mkv"
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.ExtractAttachment(Video item, MediaAttachment attachmentStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.GetEmbeddedImage(Video item, ImageType type, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseItem item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, TypeOptions savedOptions, List`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken)

When thumbnail was manually added:

[2025-08-04 08:44:01.855 -05:00] [ERR] [58] MediaBrowser.Providers.TV.EpisodeMetadataService: Error in "Embedded Image Extractor"
MediaBrowser.Common.FfmpegException: ffmpeg image extraction timed out for file:"/data/youtube/Test Youtuber/Season 01/S01E01 Title.mkv" after 10000ms
 ---> System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Diagnostics.Process.WaitForExitAsync(CancellationToken cancellationToken)
   at MediaBrowser.Common.Extensions.ProcessExtensions.WaitForExitAsync(Process process, TimeSpan timeout)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.ExtractAttachment(Video item, MediaAttachment attachmentStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.GetEmbeddedImage(Video item, ImageType type, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseItem item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, TypeOptions savedOptions, List`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken)
@Diosjenin commented on GitHub (Aug 4, 2025): +1 here. Literally just ran into this problem today and found this page via a google search. Image extraction works fine for MP4 files, but fails for MKV files. I'm also getting the error whether those MKV files were downloaded from YT-DLP or whether they're locally rendered files with a PNG thumbnail manually attached via MP3Tag, so it's not a YT-DLP-specific or WEBP-specific problem. Running Jellyfin via the official Docker container on Unraid. Some relevant example logs: When downloaded from YT-DLP: ``` [2025-08-04 08:44:57.346 -05:00] [ERR] [81] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: I-frame image extraction failed, will attempt standard way. Input: "file:\"/data/youtube/Test Youtuber/06 Other/S06E05 - Title.mkv\"" MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"/data/youtube/Test Youtuber/06 Other/S06E05 - Title.mkv" at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken) [2025-08-04 08:44:58.077 -05:00] [ERR] [62] MediaBrowser.Providers.TV.EpisodeMetadataService: Error in "Embedded Image Extractor" MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"/data/youtube/Test Youtuber/06 Other/S06E05 - Title.mkv" at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.ExtractAttachment(Video item, MediaAttachment attachmentStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.GetEmbeddedImage(Video item, ImageType type, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseItem item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, TypeOptions savedOptions, List`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken) ``` When thumbnail was manually added: ``` [2025-08-04 08:44:01.855 -05:00] [ERR] [58] MediaBrowser.Providers.TV.EpisodeMetadataService: Error in "Embedded Image Extractor" MediaBrowser.Common.FfmpegException: ffmpeg image extraction timed out for file:"/data/youtube/Test Youtuber/Season 01/S01E01 Title.mkv" after 10000ms ---> System.Threading.Tasks.TaskCanceledException: A task was canceled. at System.Diagnostics.Process.WaitForExitAsync(CancellationToken cancellationToken) at MediaBrowser.Common.Extensions.ProcessExtensions.WaitForExitAsync(Process process, TimeSpan timeout) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken) --- End of inner exception stack trace --- at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.ExtractAttachment(Video item, MediaAttachment attachmentStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.GetEmbeddedImage(Video item, ImageType type, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseItem item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, TypeOptions savedOptions, List`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken) ```
Author
Owner

@Zeugma440 commented on GitHub (Sep 26, 2025):

Just my two cents - might be interesting to have a discussion over if and how ATL can help bridging the gap of metadata extraction for video files that have a shared structure with audio files (namely : MP4/M4A and MKV/MKA).

@Zeugma440 commented on GitHub (Sep 26, 2025): Just my two cents - might be interesting to have [a discussion](https://github.com/Zeugma440/atldotnet/discussions) over if and how ATL can help bridging the gap of metadata extraction for video files that have a shared structure with audio files (namely : MP4/M4A and MKV/MKA).
Author
Owner

@jellyfin-bot commented on GitHub (Jan 25, 2026):

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

@jellyfin-bot commented on GitHub (Jan 25, 2026): This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs. If you have any questions you can use one of several ways to [contact us](https://jellyfin.org/contact).
Author
Owner

@15532th commented on GitHub (Jan 28, 2026):

Sure, here is a relevant part of the log as tested on the latest stable release (10.11.6) on Win11:

[23:11:46] [WRN] [45] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: I-frame image extraction failed, will attempt standard way. Input: file:"C:\temp\test_video.mkv"
MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"C:\temp\test_video.mkv"
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken)
[23:11:46] [ERR] [45] MediaBrowser.Providers.Videos.VideoMetadataService: Error in Embedded Image Extractor
MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"C:\temp\test_video.mkv"
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.ExtractAttachment(Video item, MediaAttachment attachmentStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.GetEmbeddedImage(Video item, ImageType type, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseItem item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, TypeOptions savedOptions, List`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken)

The issue is still there as originally described.

@15532th commented on GitHub (Jan 28, 2026): Sure, here is a relevant part of the log as tested on the latest stable release (10.11.6) on Win11: ``` [23:11:46] [WRN] [45] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: I-frame image extraction failed, will attempt standard way. Input: file:"C:\temp\test_video.mkv" MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"C:\temp\test_video.mkv" at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken) [23:11:46] [ERR] [45] MediaBrowser.Providers.Videos.VideoMetadataService: Error in Embedded Image Extractor MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for file:"C:\temp\test_video.mkv" at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useIFrame, Nullable`1 targetFormat, Boolean isAudio, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String inputFile, String container, MediaStream videoStream, Nullable`1 imageStreamIndex, MediaSourceInfo mediaSource, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, Nullable`1 targetFormat, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.ExtractAttachment(Video item, MediaAttachment attachmentStream, MediaSourceInfo mediaSource, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.EmbeddedImageProvider.GetEmbeddedImage(Video item, ImageType type, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseItem item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, TypeOptions savedOptions, List`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken) ``` The issue is still there as originally described.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#7209