Jump to content

Error processing "progressive" jpegs


Recommended Posts

Posted

I have movies that have "progressive" jpegs in their folder for album art. Here is the "file" output for them:

 

Test Movie.tbn: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, progressive, precision 8, 2000x3000, frames 3

 

When the web interface requests these files I get the following in the log:

2017-04-17 13:05:33.7168 Info HttpServer: HTTP GET http://192.168.1.99:8096/emby/Items/153d96cc9fafffdd3982d256feed7d61/Images/Primary?maxHeight=360&maxWidth=240&quality=90. UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
2017-04-17 13:05:33.8191 Error ImageProcessor: Error encoding image
*** Error Report ***
Version: 3.2.12.0
Command line: /usr/lib/emby-server/bin/MediaBrowser.Server.Mono.exe -programdata /var/lib/emby-server -ffmpeg /usr/bin/ffmpeg -ffprobe /usr/bin/ffprobe -restartpath /usr/lib/emby-server/restart.sh
Operating system: Unix 4.10.0.41000
64-Bit OS: True
64-Bit Process: True
Mono: 4.6.2 (Stable 4.6.2.7/08fd525 Mon Nov 28 20:49:26 UTC 2016)
Processor count: 6
Program data path: /var/lib/emby-server
Application directory: /usr/lib/emby-server/bin
ImageMagickSharp.WandException
at ImageMagickSharp.WandCore1[T].CheckError (System.Boolean status) [0x00009] in <256b1c1ea9f54fe39d5f58f7aa82a335>:0 at ImageMagickSharp.ImageWand+<>c__DisplayClass16.<ScaleImage>b__15 () [0x0002c] in <256b1c1ea9f54fe39d5f58f7aa82a335>:0 at ImageMagickSharp.ImageWand.ActivateImageWand[T] (System.Func1[TResult] wandAction) [0x00011] in <256b1c1ea9f54fe39d5f58f7aa82a335>:0
at ImageMagickSharp.ImageWand.ScaleImage (System.Int32 width, System.Int32 height) [0x0001b] in <256b1c1ea9f54fe39d5f58f7aa82a335>:0
at Emby.Drawing.ImageMagick.ImageMagickEncoder.ScaleImage (ImageMagickSharp.MagickWand wand, System.Int32 width, System.Int32 height, System.Int32 blur) [0x00028] in :0
at Emby.Drawing.ImageMagick.ImageMagickEncoder.EncodeImage (System.String inputPath, System.String outputPath, System.Boolean autoOrient, System.Int32 width, System.Int32 height, System.Int32 quality, MediaBrowser.Controller.Drawing.ImageProcessingOptions options, MediaBrowser.Model.Drawing.ImageFormat selectedOutputFormat) [0x00050] in :0
at Emby.Drawing.ImageProcessor+c__async1.MoveNext () [0x00540] in <1469d06c48d54156af6f2339c41acff9>:0
ImageMagickSharp.WandException
at ImageMagickSharp.WandCore1[T].CheckError (System.Boolean status) [0x00009] in <256b1c1ea9f54fe39d5f58f7aa82a335>:0 at ImageMagickSharp.ImageWand+<>c__DisplayClass16.<ScaleImage>b__15 () [0x0002c] in <256b1c1ea9f54fe39d5f58f7aa82a335>:0 at ImageMagickSharp.ImageWand.ActivateImageWand[T] (System.Func1[TResult] wandAction) [0x00011] in <256b1c1ea9f54fe39d5f58f7aa82a335>:0
at ImageMagickSharp.ImageWand.ScaleImage (System.Int32 width, System.Int32 height) [0x0001b] in <256b1c1ea9f54fe39d5f58f7aa82a335>:0
at Emby.Drawing.ImageMagick.ImageMagickEncoder.ScaleImage (ImageMagickSharp.MagickWand wand, System.Int32 width, System.Int32 height, System.Int32 blur) [0x00028] in :0
at Emby.Drawing.ImageMagick.ImageMagickEncoder.EncodeImage (System.String inputPath, System.String outputPath, System.Boolean autoOrient, System.Int32 width, System.Int32 height, System.Int32 quality, MediaBrowser.Controller.Drawing.ImageProcessingOptions options, MediaBrowser.Model.Drawing.ImageFormat selectedOutputFormat) [0x00050] in :0
at Emby.Drawing.ImageProcessor+c__async1.MoveNext () [0x00540] in <1469d06c48d54156af6f2339c41acff9>:0

2017-04-17 13:05:33.8191 Info HttpResultFactory: Transmit file /files/movies/Test Movie/Test Movie.tbn
2017-04-17 13:05:34.6743 Info HttpServer: HTTP Response 200 to 192.168.1.1. Time: 958ms. http://192.168.1.99:8096/emby/Items/153d96cc9fafffdd3982d256feed7d61/Images/Primary?maxHeight=360&maxWidth=240&quality=90

The response is the full-size original image.

 

If however I convert the jpeg to "baseline" with the following command:

 

jpegtran -copy all Test Movie.tbn > Test Movie.tbn

 

The "file" command then reports the following:

 

Test Movie.tbn: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, baseline, precision 8, 2000x3000, frames 3

 

And the log contains the following:

2017-04-17 13:20:11.7807 Info HttpServer: HTTP GET http://192.168.1.99:8096/emby/Items/153d96cc9fafffdd3982d256feed7d61/Images/Primary?maxHeight=360&maxWidth=240&quality=90. UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
2017-04-17 13:20:11.9792 Info HttpResultFactory: Transmit file /var/lib/emby-server/cache/temp/6fff5a12d0ca4c26b384be0ae463d54c.png
2017-04-17 13:20:12.0325 Info HttpServer: HTTP Response 200 to 192.168.1.1. Time: 252ms. http://192.168.1.99:8096/emby/Items/153d96cc9fafffdd3982d256feed7d61/Images/Primary?maxHeight=360&maxWidth=240&quality=90

And I get the scaled image as a response.

 

Is it possible for Emby to support processing of "progressive" jpegs?

 

I must note that this is low priority as the web browser is able to display the "progressive" jpeg in the correct resolution. It just increases the bandwidth necessary for the interface and the number of errors in the logs. Also as a work around I can use jpegtran to convert images to "baseline".

 

Thanks.

 

FYI I submitted this as issue #2583 at github.

Posted

Hi, thanks for the report. We'll have to see why ImageMagick is choking on it, and/or if our usage of ImageMagick needs to be adjusted for these files.

Posted

Hi, I have the same issue on Debian.

Posted

Hi, I have the same issue on Debian.

 

hi @@toshi24, can you please tell us the exact issue that you're having? thanks !

  • 2 years later...
Posted

jfif images will be supported in Emby Server 4.3. Thanks.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...