diff --git a/MediaBrowser.Controller/MediaInfo/FFMpegManager.cs b/MediaBrowser.Controller/MediaInfo/FFMpegManager.cs index eb8f600f59..27713bbe6b 100644 --- a/MediaBrowser.Controller/MediaInfo/FFMpegManager.cs +++ b/MediaBrowser.Controller/MediaInfo/FFMpegManager.cs @@ -176,7 +176,7 @@ namespace MediaBrowser.Controller.MediaInfo if (extractImages) { // Disable for now on folder rips - if (video.VideoType != VideoType.VideoFile) + if (video.VideoType != VideoType.VideoFile && video.VideoType != VideoType.Dvd) { continue; } diff --git a/MediaBrowser.Server.Implementations/MediaEncoder/MediaEncoder.cs b/MediaBrowser.Server.Implementations/MediaEncoder/MediaEncoder.cs index fce88e3d8b..ab039f9d24 100644 --- a/MediaBrowser.Server.Implementations/MediaEncoder/MediaEncoder.cs +++ b/MediaBrowser.Server.Implementations/MediaEncoder/MediaEncoder.cs @@ -698,13 +698,14 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder { var resourcePool = type == InputType.AudioFile ? _audioImageResourcePool : _videoImageResourcePool; - return ExtractImageInternal(GetInputArgument(inputFiles, type), offset, outputPath, resourcePool, cancellationToken); + return ExtractImageInternal(GetInputArgument(inputFiles, type), type, offset, outputPath, resourcePool, cancellationToken); } /// /// Extracts the image. /// /// The input path. + /// The type. /// The offset. /// The output path. /// The resource pool. @@ -714,7 +715,7 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder /// or /// outputPath /// - private async Task ExtractImageInternal(string inputPath, TimeSpan? offset, string outputPath, SemaphoreSlim resourcePool, CancellationToken cancellationToken) + private async Task ExtractImageInternal(string inputPath, InputType type, TimeSpan? offset, string outputPath, SemaphoreSlim resourcePool, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(inputPath)) { @@ -727,7 +728,8 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder } - var args = string.Format("-i {0} -threads 0 -v quiet -vframes 1 -filter:v select=\\'eq(pict_type\\,I)\\' -f image2 \"{1}\"", inputPath, outputPath); + var args = type != InputType.Dvd ? string.Format("-i {0} -threads 0 -v quiet -vframes 1 -filter:v select=\\'eq(pict_type\\,I)\\' -f image2 \"{1}\"", inputPath, outputPath) : + string.Format("-i {0} -threads 0 -v quiet -vframes 1 -f image2 \"{1}\"", inputPath, outputPath); if (offset.HasValue) {