Problem downloading artwork from TMDB (Argentina Users)

It’s been in a couple of weeks since plex is not able to download artwork (posters and backgrounds) from TMDB.
Once a movie is recognized, all the “text” info (director, cast, studio, plot, etc) downloads fine, but I can’t get either the movie poster or the background.
Sometimes it downloads the poster, but in a different language (it chooses the seventh or eighth poster option, usually it’s a non english language poster or has poorer quality than the first ones).

When I try to manually edit the poster, two things happen:

  1. When I click the “edit” button, I get a never ending “wait” icon, and then an error that says “There was an error editing this item”.
  2. If I’m able to get the edit menu, I pick the poster that I want to use, but It’s like Plex can’t download it from TMDB, and I get a blank picture.
    If I manually upload a poster from an URL or a local file, it works fine. I have almost 600 items between movies and tv shows so it is not a solution.

I tried everything to came up with a solution. Nothing works:

  • Plex dance.
  • Deleting and start a new library from scratch.
  • Restarting the PMS, and uninstall/re-install
  • Resorting the agents order.
  • Changing the Google DNS with my ISP DNS
  • Connecting the PMS directly to my ISP modem withount any router or firewall.
  • Changing the Plex Movie Agent to TMDB Agent.
  • Disabling IPv6 both on my computer and my router.
  • Deleting the agent folder and the agents cache folder.
  • TVDB agent works fine.
  • This issue happens on both my PMS, Windows and Linux.

I attached the logs if someone needs to look at them.

Hope we can work it out.

Seriously? No one?
What’s the point of paying a lifetime membership if the first time I’ll need serious support (not only me, this problem is happening to A LOT of users) no one answers?

@gonse said:
Seriously? No one?
What’s the point of paying a lifetime membership if the first time I’ll need serious support (not only me, this problem is happening to A LOT of users) no one answers?

Look just noticed your discussion, change your preference to Movie database. I had the same issue. Refresh your Libraries after change.

Bad idea. They call it The Movie Database for a reason.

Best to call in someone to inspect those logs and find out the real reason.

@OttoKerner
There we go - please stand by…

@SE56 said:

@gonse said:
Seriously? No one?
What’s the point of paying a lifetime membership if the first time I’ll need serious support (not only me, this problem is happening to A LOT of users) no one answers?

Look just noticed your discussion, change your preference to Movie database. I had the same issue. Refresh your Libraries after change.

Been there, done that.
Besides, it’s working even worst than before. I had to click the edit button like 4 or 5 times in order to get the edit menu. Most of the times the edit menu pops up blank and I get the “There was an error editing this item” or when I click on a library I get “There was an unexpected error loading this library. Please visit our forums if you continue to experience problems”

It should be there, on the logs.

Also -worth mentioning- the TV Shows library using The TV Dabase works fine with no issues at all.

Is your server located in Canada, perhaps?
There were some issues reported with access to Cloudflare over there.

@OttoKerner said:
Is your server located in Canada, perhaps?
There were some issues reported with access to Cloudflare over there.

No it isn’t. I’m from Argentina.

I sense a disturbance in the force…

B)

I hope “the force” releases a magical update that fixes this thing. My whole movie collection is a mess.

Without in depth log analysis (via Sir Otto et.al.) there’s no telling what’s ‘really’ going on in addition to your horrific file naming. You very likely have multiple issues and this is definitely one of them:

all.the.money.in.the.world.2017.1080p.bluray.x264-drones.mkv
Should be:
All the Money in the World ( 2017).mkv

I’m also going to guess you have one or more of your movie library folders a directory into which you download these horrifically named files - and that won’t work.

While we wait for further investigations of your log files, if I were you I’d start over with a few movies in a brand new folder off the root of one of your drives like this:

Z:\Movies\ <— a brand new Movie Library
…All the Money in the World (2017).mkv <— a fully compliant file name
or
Z:\Movies\ <— a brand new Movie Library
…All the Money in the World (2017)\ <---- a fully compliant Nested Folder
…All the Money in the World (2017).mkv <— a fully compliant file name

Stick a few fully compliant movie files in your brand new movie library and see if they work. If so - problem solved, if not, grab some more log files and we’ll take it from there. If we eliminate half of what we already know is a problem we’ll be a LOT closer to a solution.

The Rules - I can’t suggest you follow these rules highly enough…:
https://support.plex.tv/articles/categories/media-preparation/
Ignore these rules for TV Shows for guaranteed pain and suffering in a non-working TV Show Library:
https://support.plex.tv/articles/200220687-naming-series-season-based-tv-shows/

FileBot - in my signature - can make this file naming and folder structuring child’s play…

I’ll try that, but I won’t make any difference. I’m currently using 2 main movie libraries: “movies” for my personal movies collection and “downloaded movies” for movies which I haven’t seen yet. The first one is using the right file namig xxxxx (xxxx).mkv. The second one since a “buffer” library I do not put to much effort on it. Honestly, I been using that library configuration for years without any care of the file naming at all, and I never had had any issues at all. I guess that once the Plex Scanner picks up the movie, it is not a “naming issue” anymore.
The issue persist on both libraries, the one with terrible file naming, and the one with the right one.

Never the less, for the sake of finding a solution, I’ll make a new library with fully compliant folder and file naming

Non-Compliance may work for a while, may have worked in the past, and may work - right up until the time it stops working.
Compliance works all day - every day.

Anywho - I’m done here.
“Linus” logs are so messed up format wise I can’t make heads or tails of them, so basically you were lucky I stuck around this long.

BTW - I see you have some MP4 files and knowing where you’re getting them I’m CERTAIN they are ate up with bogus and embedded Title Fields. FileBot (link in my signature) can handle that naming and structuring for you automatically or manually in seconds, but what FileBot can’t do is remove embedded metadata in the Title Field of MP4/M4V files. Plex will read this info and prefer it over a perfect file name/structure, but you can combat that situation by moving Local Media Assets to the bottom of every agent list you can find. All tabs in TV Shows and Movies here:
https://support.plex.tv/hc/en-us/articles/200241558-Agents
Just drag LMA to the bottom of the list and drop it. If you do have embedded metadata this will cure the issue, if you don’t it won’t matter. LMA will do what it has to from the bottom.

Good Luck

Thanks for taking this long Tony.
I made a new library with a few movies files with the correct file naming structure. Same thing happens. Some posters are downloaded, some are not. When I click the edit button on a movie I get the never ending “now loading” orange icon and then the “There was an error editing this item”.
If I am able to get the edit menu and select other poster or background that was not chosen by the Agent, I doesn’t download and I get a pure black poster or a capture from the movie file.
I uploaded the new logs in case someone is able to take a look at them. The new library is called “TEST Movies”.

Again, thanks for your time.

The logs from the 3rd April are full of timeouts on requests to image.tmdb.org

you mentioned disabling ipv6 - is it disabled at the network card ?

what do you get back from this in a Linux shell
nslookup image.tmdb.org

Need fresh evidence and need to be on latest beta - you were / are still on 1.11.3.4803-c40bba82e
So install 1.12.3.4973
Add new movies and see what happens with tmdb image fetches

if still a problem, then would like some tests using curl

Picking just one of the many examples

Apr 03, 2018 18:05:56.881 [0xafb3a530] DEBUG - HTTP requesting GET http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg
Apr 03, 2018 18:07:16.652 [0xafd3a530] ERROR - Error issuing curl_easy_perform(handle): 28
Apr 03, 2018 18:07:16.652 [0xafd3a530] DEBUG - HTTP simulating 408 after curl timeout

so test with curl
curl -vo junk1.jpg http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg

Also you could see if there is a difference if you select ipv4 and ipv6
curl -v6o junk2.jpg http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg
curl -v4o junk3.jpg http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg

save the displayed output for each test

@sa2000 said:
The logs from the 3rd April are full of timeouts on requests to image.tmdb.org

you mentioned disabling ipv6 - is it disabled at the network card ?

what do you get back from this in a Linux shell
nslookup image.tmdb.org

Need fresh evidence and need to be on latest beta - you were / are still on 1.11.3.4803-c40bba82e
So install 1.12.3.4973
Add new movies and see what happens with tmdb image fetches

if still a problem, then would like some tests using curl

Picking just one of the many examples

Apr 03, 2018 18:05:56.881 [0xafb3a530] DEBUG - HTTP requesting GET http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg
Apr 03, 2018 18:07:16.652 [0xafd3a530] ERROR - Error issuing curl_easy_perform(handle): 28
Apr 03, 2018 18:07:16.652 [0xafd3a530] DEBUG - HTTP simulating 408 after curl timeout

so test with curl
curl -vo junk1.jpg http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg

Also you could see if there is a difference if you select ipv4 and ipv6
curl -v6o junk2.jpg http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg
curl -v4o junk3.jpg http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg

save the displayed output for each test

I’m currently running my main server (linux) on a Netgear x10 R9000 router, so I do not have a linux console nor I’am able to update the plex server since I’m using the last build provided by netgear. Unless, of course you know a way to manually install a newer version on that router. Right now I’m using 1.12.2.4929-29f6d1796 Mar 29, 2018
Nevertheless, the same problem occurs on my backup windows plex server so I can work on that one if you ask me to.

IPv6 is disable both on my network card and my router.

DNS Lookup:

_PS D:\Downloads\curl_7_53_1_openssl_nghttp2_x64> nslookup image.tmdb.org
Server:  UnKnown
Address:  192.168.1.1

Non-authoritative answer:
Name:    image.tmdb.org
Addresses:  2400:cb00:2048:1::6810:3b9b
          2400:cb00:2048:1::6810:399b
          2400:cb00:2048:1::6810:3d9b
          2400:cb00:2048:1::6810:3c9b
          2400:cb00:2048:1::6810:3a9b
          104.16.58.155
          104.16.57.155
          104.16.60.155
          104.16.59.155
          104.16.61.155_

I have absolutely not a clue what “curl” is. I downloaded a windows version but it seems that those commands are for linux.

@gonse said:

I’m currently running my main server (linux) on a Netgear x10 R9000 router, so I do not have a linux console

Google search found me this

https://community.netgear.com/t5/Nighthawk-WiFi-Routers/SSH-on-stock-firmware/td-p/1176230

@gonse said:

I’am able to update the plex server since I’m using the last build provided by netgear. Unless, of course you know a way to manually install a newer version on that router. Right now I’m using 1.12.2.4929-29f6d1796

That is fine. Yes only public releases are available. I was not sure

@gonse said:

Nevertheless, the same problem occurs on my backup windows plex server so I can work on that one if you ask me to.

I think it would be a lot easier to troubleshoot on windows

@gonse said:

DNS Lookup:

_PS D:\Downloads\curl_7_53_1_openssl_nghttp2_x64> nslookup image.tmdb.org
Server:  UnKnown
Address:  192.168.1.1

Non-authoritative answer:
Name:    image.tmdb.org
Addresses:  2400:cb00:2048:1::6810:3b9b
          2400:cb00:2048:1::6810:399b
          2400:cb00:2048:1::6810:3d9b
          2400:cb00:2048:1::6810:3c9b
          2400:cb00:2048:1::6810:3a9b
          104.16.58.155
          104.16.57.155
          104.16.60.155
          104.16.59.155
          104.16.61.155_

I am surprised one gets ipv6 addresses when it is disabled

@gonse said:

I have absolutely not a clue what “curl” is. I downloaded a windows version but it seems that those commands are for linux.

It is not difficult to run curl in command line window.
It does run on Linux and windows and probably mac as well

The only difference is the syntax - need double quotes round the request

so copy the curl.exe from the folder you unzipped to - copy it to the directory you are going to work in.
In command line cd to that directory and run curl there

Syntax on windows
curl -vo junk1.jpg "http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg"
curl -v6o junk2.jpg "http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg"
curl -v4o junk3.jpg "http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg"

could you also do these using https - capture all displayed output and confirm if the jpg file is ok in each case - change the name of the jpg each test
eg for https
curl -vo junk1b.jpg "https://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg"
curl -v6o junk2b.jpg "https://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg"
curl -v4o junk3b.jpg "https://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg"

Ok, let’s go then:
PMS on Netgear X10 (Linux 1.12.2.4929-29f6d1796)
PMS on Windows Version 1.12.1.4885 (I’ll make my tests here from now on, also the attached logs from today).

IPv6 on router


IPv6 on network card

New logs from the windows PMS from today (the problem persist on both servers).
TheTVDB still works fine, TMDb don’t.

Curl’s capture, using the url you provided plus on different photo with https:
_-----------------------

C:\curl>curl -vo junk1.jpg "http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 104.16.58.155...
* TCP_NODELAY set
* Connected to image.tmdb.org (104.16.58.155) port 80 (#0)
> GET /t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg HTTP/1.1
> Host: image.tmdb.org
> User-Agent: curl/7.53.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Sat, 14 Apr 2018 14:17:35 GMT
< Content-Type: image/jpeg
< Content-Length: 119098
< Connection: keep-alive
< Set-Cookie: __cfduid=dbd40a38c6c492a1dca0e395b3b0b376c1523715455; expires=Sun, 14-Apr-19 14:17:35 GMT; path=/; domain=.tmdb.org; HttpOnly
< Access-Control-Allow-Origin: *
< Cache-Control: max-age=31449600
< ETag: "37cba1fff9549552c74c0771d666679d"
< Expires: Wed, 20 Mar 2019 17:07:36 GMT
< Last-Modified: Mon, 29 Jan 2018 14:45:47 GMT
< X-Content-Digest: e8704460e6ada46907b3b32dcacaed26e8508485
< X-Rack-Cache: fresh
< CF-Cache-Status: HIT
< Accept-Ranges: bytes
< Server: cloudflare
< CF-RAY: 40b6cbfd014d6815-EZE
<
{ [623 bytes data]
100  116k  100  116k    0     0  1237k      0 --:--:-- --:--:-- --:--:-- 1237k
* Connection #0 to host image.tmdb.org left intact

C:\curl>curl -v6o junk2.jpg "http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Could not resolve host: image.tmdb.org
* Closing connection 0
curl: (6) Could not resolve host: image.tmdb.org

C:\curl>curl -v4o junk3.jpg "http://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 104.16.59.155...
* TCP_NODELAY set
* Connected to image.tmdb.org (104.16.59.155) port 80 (#0)
> GET /t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg HTTP/1.1
> Host: image.tmdb.org
> User-Agent: curl/7.53.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Sat, 14 Apr 2018 14:19:04 GMT
< Content-Type: image/jpeg
< Content-Length: 119098
< Connection: keep-alive
< Set-Cookie: __cfduid=da3e69317963f581d407d7f75d10f198c1523715544; expires=Sun, 14-Apr-19 14:19:04 GMT; path=/; domain=.tmdb.org; HttpOnly
< Access-Control-Allow-Origin: *
< Cache-Control: max-age=31449600
< ETag: "37cba1fff9549552c74c0771d666679d"
< Expires: Wed, 20 Mar 2019 17:07:36 GMT
< Last-Modified: Mon, 29 Jan 2018 14:45:47 GMT
< X-Content-Digest: e8704460e6ada46907b3b32dcacaed26e8508485
< X-Rack-Cache: fresh
< CF-Cache-Status: HIT
< Accept-Ranges: bytes
< Server: cloudflare
< CF-RAY: 40b6ce29343e6803-EZE
<
{ [1883 bytes data]
100  116k  100  116k    0     0  1472k      0 --:--:-- --:--:-- --:--:-- 1472k
* Connection #0 to host image.tmdb.org left intact

C:\curl>curl -vo junk1b.jpg "https://image.tmdb.org/t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 104.16.57.155...
* TCP_NODELAY set
* Connected to image.tmdb.org (104.16.57.155) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: C:\curl\ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
} [5 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.2 (IN), TLS handshake, Server hello (2):
{ [96 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [2943 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [148 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [70 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-ECDSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: OU=Domain Control Validated; OU=PositiveSSL Multi-Domain; CN=ssl729190.cloudflaressl.com
*  start date: Dec 28 00:00:00 2017 GMT
*  expire date: Jul  6 23:59:59 2018 GMT
*  subjectAltName: host "image.tmdb.org" matched cert's "*.tmdb.org"
*  issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO ECC Domain Validation Secure Server CA 2
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* Using Stream ID: 1 (easy handle 0x24f096b9650)
} [5 bytes data]
> GET /t/p/original/rgNYcYmUmZSK5Ibl78NV3QT1dFV.jpg HTTP/2
> Host: image.tmdb.org
> User-Agent: curl/7.53.1
> Accept: */*
>
{ [5 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
} [5 bytes data]
< HTTP/2 200
< date: Sat, 14 Apr 2018 14:20:24 GMT
< content-type: image/jpeg
< content-length: 119098
< set-cookie: __cfduid=dfc8e5148df0421db4d1bce86f611fd5e1523715624; expires=Sun, 14-Apr-19 14:20:24 GMT; path=/; domain=.tmdb.org; HttpOnly
< access-control-allow-origin: *
< cache-control: max-age=31449600
< etag: "37cba1fff9549552c74c0771d666679d"
< expires: Wed, 20 Mar 2019 17:07:36 GMT
< last-modified: Mon, 29 Jan 2018 14:45:47 GMT
< x-content-digest: e8704460e6ada46907b3b32dcacaed26e8508485
< x-rack-cache: fresh
< cf-cache-status: HIT
< accept-ranges: bytes
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< server: cloudflare
< cf-ray: 40b6d01c2a6167a9-EZE
<
{ [862 bytes data]
100  116k  100  116k    0     0   371k      0 --:--:-- --:--:-- --:--:--  371k
* Connection #0 to host image.tmdb.org left intact
C:\curl>curl -vo junk1b.jpg "https://image.tmdb.org/t/p/original/xBfl2c80eQtbjKTH6dOwFBnFlE7.jpg"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 104.16.58.155...
* TCP_NODELAY set
* Connected to image.tmdb.org (104.16.58.155) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: C:\curl\ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
} [5 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.2 (IN), TLS handshake, Server hello (2):
{ [96 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [2943 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [147 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [70 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-ECDSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: OU=Domain Control Validated; OU=PositiveSSL Multi-Domain; CN=ssl729190.cloudflaressl.com
*  start date: Dec 28 00:00:00 2017 GMT
*  expire date: Jul  6 23:59:59 2018 GMT
*  subjectAltName: host "image.tmdb.org" matched cert's "*.tmdb.org"
*  issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO ECC Domain Validation Secure Server CA 2
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* Using Stream ID: 1 (easy handle 0x1f3284a8910)
} [5 bytes data]
> GET /t/p/original/xBfl2c80eQtbjKTH6dOwFBnFlE7.jpg HTTP/2
> Host: image.tmdb.org
> User-Agent: curl/7.53.1
> Accept: */*
>
{ [5 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
} [5 bytes data]
< HTTP/2 200
< date: Sat, 14 Apr 2018 14:27:19 GMT
< content-type: image/jpeg
< content-length: 96915
< set-cookie: __cfduid=d242d1697fdc4c64c875d8ee1e5b4d2db1523716039; expires=Sun, 14-Apr-19 14:27:19 GMT; path=/; domain=.tmdb.org; HttpOnly
< access-control-allow-origin: *
< cache-control: max-age=31449600
< etag: "0f20ef1273d1e5b078c8abb059ab1d30"
< expires: Fri, 01 Feb 2019 13:20:11 GMT
< last-modified: Tue, 30 Jan 2018 12:11:08 GMT
< x-content-digest: d4469403910d60c750d5e389bb57d335ea4ab8ca
< x-rack-cache: fresh
< cf-cache-status: HIT
< accept-ranges: bytes
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< server: cloudflare
< cf-ray: 40b6da3c1eb3683f-EZE
<
{ [863 bytes data]
100 96915  100 96915    0     0   318k      0 --:--:-- --:--:-- --:--:--  318k
* Connection #0 to host image.tmdb.org left intact

C:\curl>curl -v6o junk2b.jpg "https://image.tmdb.org/t/p/original/xBfl2c80eQtbjKTH6dOwFBnFlE7.jpg"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Could not resolve host: image.tmdb.org
* Closing connection 0
curl: (6) Could not resolve host: image.tmdb.org

C:\curl>curl -v4o junk3b.jpg "https://image.tmdb.org/t/p/original/xBfl2c80eQtbjKTH6dOwFBnFlE7.jpg"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 104.16.59.155...
* TCP_NODELAY set
* Connected to image.tmdb.org (104.16.59.155) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: C:\curl\ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
} [5 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.2 (IN), TLS handshake, Server hello (2):
{ [96 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [2943 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [148 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [70 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* TLSv1.2 (IN), TLS change cipher, Client hello (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-ECDSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: OU=Domain Control Validated; OU=PositiveSSL Multi-Domain; CN=ssl729190.cloudflaressl.com
*  start date: Dec 28 00:00:00 2017 GMT
*  expire date: Jul  6 23:59:59 2018 GMT
*  subjectAltName: host "image.tmdb.org" matched cert's "*.tmdb.org"
*  issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO ECC Domain Validation Secure Server CA 2
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* Using Stream ID: 1 (easy handle 0x2bdda5c8770)
} [5 bytes data]
> GET /t/p/original/xBfl2c80eQtbjKTH6dOwFBnFlE7.jpg HTTP/2
> Host: image.tmdb.org
> User-Agent: curl/7.53.1
> Accept: */*
>
{ [5 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
} [5 bytes data]
< HTTP/2 200
< date: Sat, 14 Apr 2018 14:29:24 GMT
< content-type: image/jpeg
< content-length: 96915
< set-cookie: __cfduid=d43b71ad948dd9ed7c0ec428cb07b161d1523716164; expires=Sun, 14-Apr-19 14:29:24 GMT; path=/; domain=.tmdb.org; HttpOnly
< access-control-allow-origin: *
< cache-control: max-age=31449600
< etag: "0f20ef1273d1e5b078c8abb059ab1d30"
< expires: Fri, 01 Feb 2019 13:20:11 GMT
< last-modified: Tue, 30 Jan 2018 12:11:08 GMT
< x-content-digest: d4469403910d60c750d5e389bb57d335ea4ab8ca
< x-rack-cache: fresh
< cf-cache-status: HIT
< accept-ranges: bytes
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< server: cloudflare
< cf-ray: 40b6dd4cdc55681b-EZE
<
{ [863 bytes data]
100 96915  100 96915    0     0   303k      0 --:--:-- --:--:-- --:--:--  303k
* Connection #0 to host image.tmdb.org left intact_

Thanks - will have a look at the logs later. Could you just check if the downloaded images have some text response - we have had Cloudflare bans before - so rename the files junk1.jpg and junk2.jpg to junk1.txt and junk2.txt etc and see if there is any readable text

see also this user post http://forums.plex.tv/discussion/comment/1653390/#Comment_1653390

@sa2000 said:
Thanks - will have a look at the logs later. Could you just check if the downloaded images have some text response - we have had Cloudflare bans before - so rename the files junk1.jpg and junk2.jpg to junk1.txt and junk2.txt etc and see if there is any readable text

Nop, just a bunch of weird characters