Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to download ITV programmes #277

Open
candcij opened this issue Feb 6, 2020 · 87 comments
Open

Unable to download ITV programmes #277

candcij opened this issue Feb 6, 2020 · 87 comments

Comments

@candcij
Copy link

candcij commented Feb 6, 2020

I am unable to download any ITV programme. (BBC downloads appears to be working correctly)

I am using Get iPlayer Automator Version 1.17 (20191130002) macOS Sierra Version 10.12.6
No proxy is being used.

The diagnosis shown for each failed ITV show is:
Problem Unknown.
Please submit a bug report from the application menu.

Example used:
Endeavour Series 1 Episode 4

@naq59
Copy link

naq59 commented Feb 6, 2020

I have the same. I think it may be a geocaching issue as it also means you can't watch using the ITV player directly.

@rabrowne
Copy link

rabrowne commented Feb 6, 2020

I had a similar issue just recently in that ITV player would work on my Apple TV and iPad but not my iMac. Checking with my support team, they identified that ITV has added a new domain, sorry I don't have the details. Once they added that domain to my service I was able to use my iMac to watch ITV programmes and also downloading worked.
Hope this helps.

@PC-Thai
Copy link

PC-Thai commented Feb 6, 2020

I have the same problem. BBC downloads working fine but for ITV i receive the same error message as candcij. It stopped working two days ago...

@jayyisok
Copy link

jayyisok commented Feb 7, 2020

Able to watch on ITV’s website but not able to download. Receiving same error message as other users.

@naq59
Copy link

naq59 commented Feb 7, 2020

My support team have now fixed it. It´s maybe not quite so stable as before but it works.

@cgareth
Copy link

cgareth commented Feb 7, 2020

Same issue; version 1.16, no proxy, in UK.
I think the pertinent log entry is the last one:
File "/Applications/Get iPlayer Automator.app/Contents/Resources/youtube-dl/youtube_dl/extractor/common.py", line 1281, in _sort_formats
raise ExtractorError('No video formats found')

@approtech
Copy link

approtech commented Feb 8, 2020

Same issue, even on a programme downloaded successfully a couple of weeks ago. I'm in the UK. Could ITV have implemented DRM?
Programme attempted: Midsomer Murders S21 E02 (new) and E01 (successful on 25th January).

@pmhird
Copy link

pmhird commented Feb 9, 2020

Same issue here, can watch ITV hub on safari on iMac, have tried re-signing in to ITV, but to no avail, downloads fail. Critical part of log seems to be:

"ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output."

PS BBC radio and TV working fine, just affects ITV. Using GIA 1.16

@skovatch
Copy link

skovatch commented Feb 9, 2020

I always hate it when people post things like "but it works for me", but in this case I have to. :-) I am able to download ITV shows with v1.17 -- I just tried Friday's Tipping Point.

I can update youtube-dl in the next release to see if that will help anyone, but I didn't notice anything in their release notes that indicated they fixed any problems with ITV. If it's failing for you, are you inside the UK?

@candcij
Copy link
Author

candcij commented Feb 9, 2020

Thanks for trying it for me (us). I'm afraid it still doesn't work for me and, yes, I am in the UK.
I have just tried to download Friday's Tipping Point (the programme you downloaded successfully) and got exactly the same result as I had at the time I reported the issue:
Problem Unknown.
Please submit a bug report from the application menu.

BBC programmes are working fine, exactly as they have been for many months, but all ITV programmes I have tried during the last 3 days come up with the same error

@Youngmath
Copy link

Same problem here, another UK user getting exactly the same error messages trying to download White House Farm from ITV using 1.17 on a mac

@ian02054
Copy link

ian02054 commented Feb 9, 2020 via email

@cgareth
Copy link

cgareth commented Feb 9, 2020

I always hate it when people post things like "but it works for me", but in this case I have to. :-) I am able to download ITV shows with v1.17 -- I just tried Friday's Tipping Point.

I can update youtube-dl in the next release to see if that will help anyone, but I didn't notice anything in their release notes that indicated they fixed any problems with ITV. If it's failing for you, are you inside the UK?

I too am in the UK; interestingly(?) GiA creates the programme folder on the Mac as usual but it is left empty after the "download failed" message. However I can watch ITV from their website, unlike Ian and RA here.
An intriguing situation...!

@Youngmath
Copy link

Apologies, forgot to add that I can watch on the ITV web site, also that I am using the same version macOS Sierra Version 10.12.6 as candcij

@pmhird
Copy link

pmhird commented Feb 9, 2020

Hi, just to add, I upgraded to GIA 1.17 and it made no difference, still failing on ITV shows. And yes, I'm in the UK, no proxy in use.

@steps39
Copy link

steps39 commented Feb 10, 2020

Hi, Same issue, in UK able to watch ITV web browser / phone apps etc., but no longer able to download ITV programmes. Verbose log information below.
I don't know if this helps, but I tired to download the same programme using youtube-dl directly, I get a timeout error when trying to download web page, I have tried without the --no-geo-bypass and get the same issue and on two different internet service providers.

`ITV Download (ID=1a2292a0061): Downloading Cold Feet - Mon Feb 03
INFO: Preparing Request for Auth Info
INFO: Requesting Metadata.
DEBUG: Metadata response status code: 200
INFO: Metadata processed.
DEBUG: youtube-dl args:["https://www.itv.com/hub/cold-feet/1a2292a0061", "-f", "mp4/best", "-o", "/Volumes/Macintosh HG/Cold Feet/Cold Feet.s09e04.Episode 4.%(ext)s", "--verbose"]
DEBUG: youtube-dl environment: ["PYTHONPATH": "/Applications/Get iPlayer Automator.app/Contents/Resources", "PATH": "/Applications/Get iPlayer Automator.app/Contents/MacOS:/usr/bin"]
[debug] System config: []

[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://www.itv.com/hub/cold-feet/1a2292a0061', u'-f', u'mp4/best', u'-o', u'/Volumes/Macintosh HG/Cold Feet/Cold Feet.s09e04.Episode 4.%(ext)s', u'--verbose']

[debug] Encodings: locale US-ASCII, fs utf-8, out None, pref US-ASCII
[debug] youtube-dl version 2019.08.13

[debug] Python version 2.7.10 (CPython) - Darwin-15.6.0-x86_64-i386-64bit

[debug] exe versions: ffmpeg 4.1.3-tessus, ffprobe N-90346-g86c7d8df95, rtmpdump 2.4-102-ga3a600d-get_iplayer

[debug] Proxy map: {}

[debug] Using fake IP 25.67.233.219 (GB) as X-Forwarded-For.

[ITV] 1a2292a0061: Downloading webpage

[ITV] 1a2292a0061: Downloading XML

ITV Download (ID=1a2292a0061): youtube-dl finished downloading
AppController: Downloads Finished

youtube-dl direct
$youtube-dl --no-geo-bypass --verbose https://itv.com/hub/cold-feet/1a2292a0061
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--no-geo-bypass', '--verbose', 'https://itv.com/hub/cold-feet/1a2292a0061']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.01.24
[debug] Python version 3.5.3 (CPython) - Linux-4.19.66-v7+-armv7l-with-debian-9.11
[debug] exe versions: ffmpeg 3.2.14-1, ffprobe 3.2.14-1
[debug] Proxy map: {}
[ITV] 1a2292a0061: Downloading webpage
ERROR: Unable to download webpage: <urlopen error [Errno 110] Connection timed out> (caused by URLError(TimeoutError(110, 'Connection timed out'),))
File "/home/pi/.local/lib/python3.5/site-packages/youtube_dl/extractor/common.py", line 627, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/home/pi/.local/lib/python3.5/site-packages/youtube_dl/YoutubeDL.py", line 2237, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python3.5/urllib/request.py", line 466, in open
response = self._open(req, data)
File "/usr/lib/python3.5/urllib/request.py", line 484, in _open
'_open', req)
File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
result = func(*args)
File "/home/pi/.local/lib/python3.5/site-packages/youtube_dl/utils.py", line 2728, in https_open
req, **kwargs)
File "/usr/lib/python3.5/urllib/request.py", line 1256, in do_open
raise URLError(err)�

@naq59
Copy link

naq59 commented Feb 10, 2020

I'm on 10.13.6/1.17 and I often have to retry downloading ITV at least twice before it works.

@pmhird
Copy link

pmhird commented Feb 10, 2020

Well I've retried the 3 Feb episode of Cold Feet about 200 times I reckon and its failed every time. (My GIA is set to auto-retry a failed download every 30mins)

@Vangelis66
Copy link

Vangelis66 commented Feb 11, 2020

@steps39 wrote:

I tried to download the same programme using youtube-dl directly,
I get a timeout error when trying to download web page
(snipped)
$youtube-dl --no-geo-bypass --verbose https://itv.com/hub/cold-feet/1a2292a0061

... But that URI you fed yt-dl is not valid; that same time-out will happen when you try to visit that URI with a browser... 😉
Visiting the main ITVHub Cold Feet page:
https://www.itv.com/hub/cold-feet/1a2292
the Feb 3rd episode has a URI of
https://www.itv.com/hub/cold-feet/1a2292a0061

Using the latest (2020.01.24) yt-dl executable (sorry Mac users, I am currently on Windows), Cold Feet S09E04 comes down fine here:

youtube-dl --console-title --hls-prefer-native -c --no-part "https://www.itv.com/hub/cold-feet/1a2292a0061" --write-description --write-sub --convert-subs=srt =>

[ITV] 1a2292a0061: Downloading webpage
[ITV] 1a2292a0061: Downloading XML
WARNING: Unable to download XML: HTTP Error 504: Gateway Time-out
[ITV] 1a2292a0061: Downloading JSON metadata
[ITV] 1a2292a0061: Downloading m3u8 information
[info] Writing video description to: Episode 4-1a2292a0061.description
[info] Writing video subtitles to: Episode 4-1a2292a0061.en.vtt
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 232
[download] Destination: Episode 4-1a2292a0061.mp4
[download]   0.6% of ~552.47MiB at 860.39KiB/s ETA 13:11

... so, at first glance, I think we can absolve youtube-dl coding from any wrong-doing... 😉
The crux of the issue here is that (standalone) yt-dl is fed a www.itv.com hostname, not just a itv.com one (that results in time-outs).

Additional info: My own private tests have confirmed what is reported in some of the previous comments, i.e. that on ITV Hub's side some changes have been implemented recently; but the main playlist generating API (used in yt-dl's itv.py extractor) remained the same, so did the method of stream delivery (HLSe) and stream encryption (AES-128); the one thing that changed was the hostname of the CDN that serves the master and variant playlists, as well as the HLS fragments themselves; those using geo-fencing circumvention measures (e.g. smartDNS) may need to convey that change to their vendors (so that they "proxy" the new rather than the old CDN hostname...).

And I'll stress once again here the fact that having ITV Hub VOD streams working in (desktop) Chrome and Firefox doesn't mean automatically that ITV fetches via yt-dl should equally work; Chrome and Firefox by default get served MPEG-DASH streams with Common Encryption (cenc) DRM (these require a working Widevine CDM in the browser), that yt-dl will NEVER support natively. Desktop Safari might equally be served the above type of DRM'd streams, but I can't check this myself... 😞

Best regards 😄

@sxmpete
Copy link

sxmpete commented Feb 11, 2020

If I understand Vangellis66 comments correctly, GIA (yt-dl) needs to reference www.itv.com, not itv.com.
However, as verbose log below shows, GIA is generating the fully qualified domain name, and it's still getting gateway timeout. I don't understand how this could be a vpn vendor issue??
Get iPlayer Automator 1.17 Initialized.

INFO: Loading proxy settings...
INFO: No proxy to load
INFO: Proxy load complete.
INFO: No proxy will be used
AppController: Starting Downloads

Downloading Show 1/1:

ITV Download (ID=2a1229a0028): Downloading Endeavour - Sun Feb 09
INFO: Preparing Request for Auth Info
INFO: Requesting Metadata.
DEBUG: Metadata response status code: 200
INFO: Metadata processed.
DEBUG: youtube-dl args:["https://www.itv.com/hub/endeavour/2a1229a0028", "-f", "mp4/best", "-o", "/Users/ xxxxxxxxxxx /Movies/TV Shows/Endeavour/Endeavour.s07e01.Episode 1.%(ext)s", "--verbose"]
DEBUG: youtube-dl environment: ["PYTHONPATH": "/Users/ xxxxxxxxxxx /Downloads/Get iPlayer Automator.app/Contents/Resources", "PATH": "/Users/ xxxxxxxxxxx /Downloads/Get iPlayer Automator.app/Contents/MacOS:/usr/bin"]
[debug] System config: []

[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://www.itv.com/hub/endeavour/2a1229a0028', u'-f', u'mp4/best', u'-o', u'/Users/ xxxxxxxxxxx /Movies/TV Shows/Endeavour/Endeavour.s07e01.Episode 1.%(ext)s', u'--verbose']

[debug] Encodings: locale US-ASCII, fs utf-8, out None, pref US-ASCII
[debug] youtube-dl version 2019.08.13

[debug] Python version 2.7.10 (CPython) - Darwin-15.6.0-x86_64-i386-64bit

[debug] exe versions: ffmpeg 4.1.3-tessus, ffprobe N-90346-g86c7d8df95, rtmpdump 2.4-102-ga3a600d-get_iplayer

[debug] Proxy map: {}

[debug] Using fake IP 25.201.16.83 (GB) as X-Forwarded-For.

[ITV] 2a1229a0028: Downloading webpage

[ITV] 2a1229a0028: Downloading XML

WARNING: Unable to download XML: HTTP Error 504: Gateway Time-out

[ITV] 2a1229a0028: Downloading JSON metadata

[ITV] 2a1229a0028: Downloading m3u8 information

WARNING: Failed to download m3u8 information: <urlopen error [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)>

ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

ITV Download (ID=2a1229a0028): youtube-dl finished downloading
AppController: Downloads Finished

Puzzled Peter

@Vangelis66
Copy link

Vangelis66 commented Feb 11, 2020

@sxmpete wrote:

If I understand @Vangelis66's comments correctly,
GIA (yt-dl) needs to reference www.itv.com, not itv.com.

Hello 😄 ; my comment was mentioning the standalone yt-dl app, not GiA; I wrote:

The crux of the issue here is that yt-dl is fed a www.itv.com hostname,
not just an itv.com one (that results in time-outs).

(I've now edited my original post to make this more clear... 😉 )

This was in response to @steps39's attempt to test standalone yt-dl for id=1a2292a0061; his GiA log confirms though that GiA itself is feeding embedded yt-dl the correct ITV hostname:

DEBUG: youtube-dl args:["https://www.itv.com/hub/cold-feet/1a2292a0061",

which is something you, too, confirm:

However, as verbose log below shows, GIA is generating the fully qualified domain name

The logic in testing the standalone yt-dl app is that if the fetch succeeds on one's setup (ISP/[W]LAN/OS version/DNS setup/UK-proxying solutions, etc.), then the GiA embedded yt-dl code should be exonerated; but possibly this approach is flawed, too, because, at least for Windows, the standalone yt-dl executable is an all-in-one solution, comprising all needed python (3.4.4) modules, not depending on OS installed python, which is the case for yt-dl on a Mac...

and it's still getting gateway timeout.

Are you referring to this?

[ITV] 2a1229a0028: Downloading XML
WARNING: Unable to download XML: HTTP Error 504: Gateway Time-out

This is an expected and quite benign warning! It's the result of relic code inside yt-dl's ITV extractor from the era when ITV (player, not hub) used to deliver VOD through the RTMPE protocol; back then, they were using an older playlist API that would generate the stream data inside an XML file; that API has been deprecated for two years already, the XML file it used to produce is no more, hence the error spewed by yt-dl; there's an open issue over at the yt-dl tracker

ytdl-org/youtube-dl#23177

reporting the above behaviour...

Failing to acquire an XML playlist, yt-dl moves over to trying the current playlist API, which generates results in the JSON format and, by your posted log, you do succeed in that stage:

[ITV] 2a1229a0028: Downloading JSON metadata
[ITV] 2a1229a0028: Downloading m3u8 information

The most important part of your verbose log (and many thanks for providing that 👍 ) is the following one:

WARNING: Failed to download m3u8 information: <urlopen error [SSL:TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)>

i.e. you are failing to download (over HTTPS) the master HLS playlist (*.m3u8) because of secure connection (SSL/TLS) issues! No master playlist accessed, of course, results in

ERROR: No video formats found

In 2020, the deemed insecure TLS protocols v1.0 and v1.1 are being deprecated/phased out in servers, a client needing to make a secure connection must support at minimum TLS v1.2 (the current standard) and, preferably, TLS v1.3 (the finalised future standard).

I don't understand how this could be a VPN vendor issue??

If you're using a full blown VPN connection in your client, then you're simply connecting to a VPN server; the rest of the requests/connections to the ITV infrastructure (webpages, CDN, etc.) you're forwarding to that server are handled solely by the VPN server (the configuration of which is beyond your reach), so of course any connection issue when using a VPN can be a VPN vendor issue!

On your Mac, for connection purposes, yt-dl uses the OS provided python modules; I notice that

[debug] Python version 2.7.10 (CPython) - Darwin-15.6.0-x86_64-i386-64bit

Isn't that kinda old? I'm sure it can handle TLS v1.0, but can it handle v1.2/v1.3?

I've checked the new CDN hostname ITV now use to stream content (it's actually an Akamai node) on
https://www.ssllabs.com/ssltest/index.html
and it resolves to 2 IPs, 23.61.194.11, 23.61.194.43, both these servers support TLS 1.0/1.2/1.3 (but NOT 1.1) ... So, any secure connection issues may arise between VPN server and Akamai CDN, and between VPN server and client host (Mac computer); but I'm really out of my depth here, so my troubleshooting stops at this very point 😢 ...

@skovatch, does all this make any sense to you? Is it a case of obsolete python libraries on older Macs the cause of this issue, especially for UK users not behind a VPN? I'm sorry, but I can't offer additional advice...

@skovatch
Copy link

skovatch commented Feb 12, 2020

WARNING: Failed to download m3u8 information: <urlopen error [SSL:TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)>

i.e. you are failing to download (over HTTPS) the master HLS playlist (*.m3u8) because of secure connection (SSL/TLS) issues!

In 2020, the deemed insecure TLS protocols v1.0 and v1.1 are being deprecated/phased out on servers, a client needing to make a secure connection must support at minimum TLS v1.2 (the current standard) and, preferably, TLS v1.3 (the finalised future standard).

On your Mac, for connection purposes, yt-dl uses the OS provided python modules; I notice that

[debug] Python version 2.7.10 (CPython) - Darwin-15.6.0-x86_64-i386-64bit

Isn't that kinda old? I'm sure it can handle TLS v1.0, but can it handle v1.2/v1.3?

@skovatch, does all this make any sense to you? Is it a case of obsolete python libraries on Macs the cause of this issue, especially for UK users not behind a VPN? I'm sorry, but I can't offer additional advice...

@Vangelis66 thanks as always for your analysis. What you describe makes sense, but I think we can test it to be sure. For GiA, I use the system Python in /usr/bin, since I can safely assume it's available. On macOS Catalina, that is v2.7.16, which is fine. Older versions of macOS had a vulnerable version of OpenSSL that is used by Python for secure connections.

If it's failing for you, run this command in Terminal and report back here with the output.

/usr/bin/python -c "import json, urllib2; print json.load(urllib2.urlopen('https://www.howsmyssl.com/a/check'))['tls_version']"

If it doesn't report back TLS 1.2 or later that's a strong hint it might be the problem. If it is, I should be able to add a newer version of pyOpenSSL that is compatible.

@cgareth
Copy link

cgareth commented Feb 12, 2020

WARNING: Failed to download m3u8 information: <urlopen error [SSL:TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)>

i.e. you are failing to download (over HTTPS) the master HLS playlist (*.m3u8) because of secure connection (SSL/TLS) issues!
In 2020, the deemed insecure TLS protocols v1.0 and v1.1 are being deprecated/phased out on servers, a client needing to make a secure connection must support at minimum TLS v1.2 (the current standard) and, preferably, TLS v1.3 (the finalised future standard).
On your Mac, for connection purposes, yt-dl uses the OS provided python modules; I notice that

[debug] Python version 2.7.10 (CPython) - Darwin-15.6.0-x86_64-i386-64bit

Isn't that kinda old? I'm sure it can handle TLS v1.0, but can it handle v1.2/v1.3?
@skovatch, does all this make any sense to you? Is it a case of obsolete python libraries on Macs the cause of this issue, especially for UK users not behind a VPN? I'm sorry, but I can't offer additional advice...

@Vangelis66 thanks as always for your analysis. What you describe makes sense, but I think we can test it to be sure. For GiA, I use the system Python in /usr/bin, since I can safely assume it's available. On macOS Catalina, that is v2.7.16, which is fine. Older versions of macOS had a vulnerable version of OpenSSL that is used by Python for secure connections.

If it's failing for you, run this command in Terminal and report back here with the output.

/usr/bin/python -c "import json, urllib2; print json.load(urllib2.urlopen('https://www.howsmyssl.com/a/check'))['tls_version']"

If it doesn't report back TLS 1.2 or later that's a strong hint it might be the problem. If it is, I should be able to add a newer version of pyOpenSSL that is compatible.

Hi Scott,
My result is: TLS 1.0
(Sierra 10.12.4)

@Youngmath
Copy link

Good morning
I get TLS 1.0 also on Sierra 10.12.6

Cheers

@sxmpete
Copy link

sxmpete commented Feb 12, 2020

I have done a bit of investigation into this issue and have uncovered the following info.
Apple has deprecated openssl support from El Capitan onwards at version 0.9.8 which only supports TSL 1.0.
https://pyfound.blogspot.com/2017/01/time-to-upgrade-your-python-tls-v12.html
https://news.ycombinator.com/item?id=13539034

Either/both my VPN or ITV must have recently eliminated support for TSL V1.0 resulting in the secure connection issue. Since problem is experienced by folk inside UK with no VPN, then at least ITV has made the change.

Obvious solution is to upgrade to a version of openssl that supports newer TLS versions.

One approach is to download 3.x python binary from python.org (which contains the latest openssl) and installs 3.x python in parallel with system version.
This is apparently recommended since some apps still require python 2.7.4.
Version 3 is installed at usr>local (vs Apple supplied version in usr>bin) : however, I can’t figure out how to get GIA to use the new python/openssl instead of the system default.
http://osxdaily.com/2018/06/13/how-install-update-python-3x-mac/
https://developer.hpe.com/blog/updating-python-and-openssl-on-os-x

Another approach would be to upgrade to latest version of openssl.
https://www.openssl.org/source/
https://stackoverflow.com/questions/56639315/updating-openssl-to-1-1-1-on-macos
However, I don’t know how to compile a binary and with the second Brew installation method, there are symbolic links and PATH considerations which are a bit beyond me.

Hopefully someone a bit more technical can leverage this info into a solution for those less technically inclined…

@xend0g
Copy link

xend0g commented Feb 12, 2020

Verified the problem (using Get iPlayer Automator Version 1.17).
On one machine with Sierra 10.12.6 (TLS 1.0) I have not been able to download ITV programmes, since 5th Feb; I tried it on a second machine with High Sierra 10.13.6 (TLS 1.2) and was able to download ITV programmes today. Yay!
So the TLS/python upgrade will be needed from now on, for lower versions of Apple (10.12 or below), but how to get GIA to link with another version of python is beyond me.

@steps39
Copy link

steps39 commented Feb 12, 2020

@Vangelis66 - thanks for pointing out my obvious mistake.
@skovatch I running El Capitan 10.11.6 so Python 2.7.10 TLS 1.0

I have installed Python 2.7.17 such that if command was python alone then correct TLS would be used see below.

@skovatch would it be easy to just loose the /usr/bin from the python call, rather a hack and requires people needing to upgrade python (I hope there are no side-effects - I backed things up first). Alternative, I noted that using pip to install youtube-dl on a Raspberry Pi it uses Python 3.5 (CPython), so would now be the time to shift to Python 3 on GiA?


python -V reports 2.7.10
and
/usr/bin/python -V report 2.7.10

So as administrator I have installed Python 2.7.17 from https://www.python.org/downloads/release/python-2717/ - then run the included Install Certificates.command and Update Shell Profile.command.

Now python -V report 2.7.17,
python2 -V reports 2.7.17
and
/usr/bin/python -V still report 2.7.10

Now I have:
Command python or python2: Python 2.7.17 TLS 1.2
Command /usr/bin/python: Python 2.7.10 TLS 1.0

So if GiA used just python then it should work at least in terms of TLS.

@howyallare
Copy link

howyallare commented Feb 12, 2020

So the TLS/python upgrade will be needed from now on, for lower versions of Apple (10.12 or below),

Not an issue for High Sierra and above because that is when Apple switched to LibreSSL

but how to get GIA to link with another version of python is beyond me.

For now, create a symlink in the location where GiA looks for binaries using one of:

ln -sf /usr/local/bin/python2 /Applications/Get\ iPlayer\ Automator.app/Contents/MacOS/python

Remove the symlink if necessary when GiA is updated

EDIT 2022-02-01: Install Python 2 for compatibility with pycrypto package provided by GiA

@steps39
Copy link

steps39 commented Feb 12, 2020

@howyallare :-) GiA now working on El Capitan 10.11.6 again having installed Python 2.7.17 and put the symlink in place, thanks.

@websteth
Copy link

websteth commented Feb 12, 2020 via email

@m1ctk
Copy link

m1ctk commented Feb 23, 2020

All done, can't understand what I can't use GIA myself, what version of OSX are you running ?

@Lordsnooty05
Copy link

macOS Catalina Version 10.15.3 the latest one. Thanks for removing the link as I don't think this forum likes links to downloads....I was doing as a favour to you, to help you out. Hopefully, Scott will sort this problem out....I'm sure he will. I just love this application....I just which it could do the same for Channel 4 and Channel 5 but sadly it doesn't. I also use Downie but I don't think it works on BBC but downloads YouTube so well

@m1ctk
Copy link

m1ctk commented Feb 23, 2020

Yes he does a great job with the updates. Ch4 was included years ago, certainly would be good to have ch5. I'll check Downie out. I am using Sierra only because you can't switch back to windows 10 in boot camp with later versions, that's probably why 1.17.0 won't work with me then. Thanks for your upload it was just a one off request as I wanted a copy of Richard and Judy, didn't know there were going to be on and am a bit of a fan lol

@hugofalkman
Copy link

Downie (and anybody else) can't download Channel 4, because all its programs are encrypted.

@Lordsnooty05
Copy link

Yes, I know Downie doesn't work on Channel 4 or 5 but I think it works on ITV

@TomStenson
Copy link

Yes, Downie works fine with ITV, which is good to know if there is a problem with Get iPlayer Automator, but crashes if you try using it with the BBCiPlayer. I just checked with Downie 4.

@m1ctk
Copy link

m1ctk commented Feb 29, 2020

macOS Catalina Version 10.15.3 the latest one. Thanks for removing the link as I don't think this forum likes links to downloads....I was doing as a favour to you, to help you out. Hopefully, Scott will sort this problem out....I'm sure he will. I just love this application....I just which it could do the same for Channel 4 and Channel 5 but sadly it doesn't. I also use Downie but I don't think it works on BBC but downloads YouTube so well

I need your help again !

@Lordsnooty05
Copy link

OK mctk what is you need help with?

@m1ctk
Copy link

m1ctk commented Feb 29, 2020

Just wanted ITV News at 10 and the 6.30 one from tonight (Friday) really

@Lordsnooty05
Copy link

Lordsnooty05 commented Feb 29, 2020

m1ctk I have created an email address where you can ask for any future ITV programs. Once you make contact with that address I will delete it here. I feel that this forum is not the right place for you to ask about different ITV programs, no matter how well-intentioned it is. So if you could make contact at this Gmail address I can give you further details on how to get the ITV programs you are after. I have already downloaded them and they are ready waiting for you to download

@skovatch
Copy link

skovatch commented Feb 29, 2020

I feel that this forum is not the right place for you to ask about different ITV programs, no matter how well-intentioned it is.

Correct, and thank you for taking that to another location. The notes in the bug template mention that I don't want this to be a discussion forum, and in general everyone has been good about that.

@Lordsnooty05
Copy link

Scott I totally agree which is why I have set up the email account so that all this asking about ITV programs and not being able to download them can be taken to that account and away from this forum which as you say is only to be used for reporting bugs....I totally understand and am wanting to comply. As soon as the user contacts me I will delete the email address and none of this should happen again. Thanks again for your understanding and your support for this fabulous application....by the way, I am using the older version Version 1.17 (20191130002) and it is working a treat

@m1ctk
Copy link

m1ctk commented Feb 29, 2020

Sorry all...OK now replied to you, as I said in the email I could find no way to PM you hence asking on the forum of course it's not the thing to ask on here but this is a rather unusual situation re GIA

@Lordsnooty05
Copy link

m1ctk I have replied to your request and have sent you the links to download the programs.
Scott there won't be any further violations to this Forums rules and I apologise on behalf of m1ctk and myself for breaking them and look forward to getting an update to this fabulous application.
Thanks in advance

@PC-Thai
Copy link

PC-Thai commented Mar 5, 2020

This is an observation but may help .... i posted earlier about not being able to download ITV programmes and at that time was using OS Sierra. I have since upgraded to Catalina and now V1.18.2 is working perfectly. Im no techie so cannot give reasons as to why it does now work, but it does!! Thanks to all for your continuing work on GIA. 5 stars to those involved.

@m1ctk
Copy link

m1ctk commented Mar 9, 2020

I have tried GIA with Catalina in VM Fusion but everytime I do a search it exists, anyone know why ? I do hope there is a fix soon !

@ecr624
Copy link

ecr624 commented May 18, 2020

I appreciate you're busy and have a real job to do too... I'm on OSX 10.11.6, I was wondering if there's going to be a new update for us older OSX users or whether the python hack mentioned earlier in this thread is our only option to getting GiA working again?

@m1ctk
Copy link

m1ctk commented May 19, 2020

I installed Catalina on a USB drive and yes now all downloads are fine though with longer shows I have to exit and restart a few times to complete the donwload. Really hoping there will be an update to fix this and make GIA working on older versions of OSX like High Sierra

@naq59
Copy link

naq59 commented May 19, 2020

If you're on High Sierra there shouldn't be any real issues. It works/worked fine for me. I just updated to Mojave 10.14.6 but 10.13.6 was fine with GIA as well. Having to re-click on ITV downloads has been my experience for a while, also directly with the ITV Player.

@ian02054
Copy link

10.13.6 high sierra works for me also..i know that doesn't help you if its not...but maybe gives some light at end of the tunnel.

@cgareth
Copy link

cgareth commented Sep 14, 2020

I'm having the same problem again, re downloading ITV programmes. I remain on Sierra 10.12.4, which I appreciate might be at the heart of the issue. As before, a folder is created, but remains empty and GiA presents with its error message.

Is it, as previously, a Python issue?

Any and all suggestions gratefully received. The log is as follows:

_Traceback (most recent call last):
File "/Applications/Get iPlayer Automator.app/Contents/Resources/youtube-dl/youtube_dl/YoutubeDL.py", line 797, in extract_info
ie_result = ie.extract(url)
File "/Applications/Get iPlayer Automator.app/Contents/Resources/youtube-dl/youtube_dl/extractor/common.py", line 530, in extract
ie_result = self._real_extract(url)
File "/Applications/Get iPlayer Automator.app/Contents/Resources/youtube-dl/youtube_dl/extractor/itv.py", line 260, in _real_extract
self._sort_formats(formats)
File "/Applications/Get iPlayer Automator.app/Contents/Resources/youtube-dl/youtube_dl/extractor/common.py", line 1350, in sort_formats
raise ExtractorError('No video formats found')
ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

@pmhird
Copy link

pmhird commented Oct 6, 2020

Hi guys, I'm afraid this issue has reappeared this morning when I upgraded GIA to 1.19.1... I knew I should have left well alone but got sick of the little bubble reminding me to upgrade!! :-(

I have also updated Python to 2.1.17 from the link above, but no luck...

In the log, GIA appears to be using 2.1.10 still, but somehow its failing... I'm not very good with the coding so please could someone more knowledgeable lend some advice? Do i need to re-do the steps above, or somehow remove them from the upgraded GIA? And if I need to remove them how do i do that?

This is the log line about Python:
[debug] Python version 2.7.10 (CPython) - Darwin-15.6.0-x86_64-i386-64bit

Also, its downloading BBC absolutely fine again, only affects ITV shows.

@skovatch
Copy link

skovatch commented Dec 6, 2020

Let me think about this for a bit. There are a couple of tutorials on how to include python in an application so I should be able to figure something out.

I'm sorry, I haven't been keeping up with this thread, but it came up again today in another issue. It isn't practical to include an entire distribution of python in GiA. That would massively increase the download size, and is a very heavy solution for the sole purpose of supporting older versions of macOS.

Youtube-dl by default uses the system python, whatever that may be, and that's generally fine. However, it can be run with a specific version of python as well. So I think what I can do here is to add a line in the preferences where you can enter the path to an installed version of python. If present GiA can launch youtube-dl with that version of python and that should take care of it.

You will still need an updated version of python, but it won't require you to tinker with system software, which is often dangerous.

@sxmpete
Copy link

sxmpete commented Dec 6, 2020

Look at the comments earlier in this thread (Feb 12) to see how to download latest Python and have GIA use it instead of system version of Python.

@skovatch
Copy link

skovatch commented Dec 7, 2020

Look at the comments earlier in this thread (Feb 12) to see how to download latest Python and have GIA use it instead of system version of Python.

I did see that, but that still requires taking action to fix it, as opposed to just installing the app and it 'just works'. That info could be added to the wiki for this project.

Let's do a mini-survey. If you are still having this problem and are satisfied with the workaround, react to this with a thumbs-up. If you would like GiA to provide a fix by looking for python in /usr/local/bin vote thumbs down. If you are on High Sierra or later this doesn't apply to you.

EDIT: Comments are fine, but please use the reaction emoji at the top right of my comment above to record your vote. Sorry, I wan't clear.

@candcij
Copy link
Author

candcij commented Dec 7, 2020 via email

@pmhird
Copy link

pmhird commented Dec 7, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests