Ascoware / get-iplayer-automator

The goal of Get iPlayer Automator is to allow iTunes and your Mac to become the hub for your British Television experience regardless of where in the world you are. Currently, Get iPlayer Automator allows you to download and watch BBC and ITV shows on your Mac. Series-Link/PVR functionality ensures you will never miss your favourite shows. Programmes are fully tagged and added to iTunes automatically upon completion. It is simple and easy to use, and runs on any machine running Mac OS X 10.7 or later. And since the shows are in iTunes, it is extremely easy to transfer them to your iPod, iPhone, or Apple TV allowing you to enjoy your shows on the go or on your television.
GNU General Public License v3.0
146 stars 26 forks source link

Can't download BBC content in GiA on macOS, works in Parallels Windows 10 VM #200

Closed dubbayoo closed 5 years ago

dubbayoo commented 6 years ago

Just wondering if there's some weird thing I'm doing wrong, but GiA (and for that matter, get_iplayer via CLUI) on macOS 10.12.6 won't download BBC content, but using get_iplayer on the same computer inside a Windows 10 Parallels (v14, also had the issue with v13) VM works quite fine. Output will be pasted at the end of the message.

This screams NETWORK problem, and apologies for any unnecessary noise with this post, but I'm at a bit of a loss for a solution. There are no funky network settings inside Windows, nor are there any on the macOS side (other than using Google's 8.8.8.8 and 8.8.4.4 DNS servers), no funky settings in GiA, get_iplayer or the NordVPN app. What am I missing?

Thanks for any advice/assistance!

BBC Download (ID=b0bhrj9b): Downloading Celebrity MasterChef: Series 13 - Episode 4 INFO: 1 total programmes ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/iptv-all/vpid/p06k046y?cb=87541 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/pc/vpid/p06k046y?cb=62054 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/apple-ipad-hls/vpid/p06k046y?cb=64076 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/iptv-all/vpid/b0bhrj7f?cb=63423 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/pc/vpid/b0bhrj7f?cb=94152 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/apple-ipad-hls/vpid/b0bhrj7f?cb=65917 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful WARNING: No media streams found for requested programme versions and recording modes. WARNING: The programme may no longer be available - check the iPlayer site. WARNING: If you are outside the UK, check with the provider to find out if your VPN/VPS/Smart DNS/web proxy has been blocked. BBC Download (ID=b0bhrj9b): Celebrity MasterChef: Series 13 - Episode 4 Failed

alphamikegc commented 6 years ago

Same problem for me, went back to the previous release v.1.13.13 which is allowing download of BBC programmes.

dubbayoo commented 6 years ago

That's definitely not my issue, as I've tried a handful of older versions in case the suggestion worked. I know the get_iplayer version inside the Windows 10 VM is an older one, but it doesn't seem to matter which GiA version is in use.

Correction - in double checking the get_iplayer version, it's 3.17.0, as used in GiA 1.13.13.

The issue must be some odd network thing, it's the only explanation I can think of, I just can't think of what the issue would be.

EDIT: GiA 1.13.10 appears to let me download content, so I'll stick with that version for now! Which, given I've changed nothing than the GiA version, means it'd have to be an issue with GiA after all, not the network or its settings.

Let's hope 1.13.10 doesn't have problems that are fixed in newer versions... such as the fixes for Mojave that I may not be able to enjoy should I update when it comes out. :)

skovatch commented 6 years ago

For comparison, please install get_iplayer 3.17 (command line version) and see if the problem still persists. If it does then it's likely some networking issue and not a GiA bug.

get_iplayer now uses https for everything, so if your VPN isn't configured for use with https that could be it. Try --stream-http to see if that makes a difference. I'm going to add a checkbox that will pass that argument to see if it alleviates any issues.

dubbayoo commented 6 years ago

It doesn't work, output as follows:

Cataclysm:~ cburgess$ get_iplayer --pid=b0bhrj9b get_iplayer 3.17.0-darwin, Copyright (C) 2008-2010 Phil Lewis This program comes with ABSOLUTELY NO WARRANTY; for details use --warranty. This is free software, and you are welcome to redistribute it under certain conditions; use --conditions for details.

Episodes: Celebrity MasterChef: Series 13 - Episode 4, BBC One, b0bhrj9b INFO: 1 total programmes

ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/iptv-all/vpid/p06k046y?cb=06066 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful

ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/pc/vpid/p06k046y?cb=27253 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful

ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/apple-ipad-hls/vpid/p06k046y?cb=02808 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful

ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/iptv-all/vpid/b0bhrj7f?cb=79608 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful

ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/pc/vpid/b0bhrj7f?cb=33643 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful

ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/apple-ipad-hls/vpid/b0bhrj7f?cb=27153 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful

ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/iptv-all/vpid/b0bk51z6?cb=43226 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful

ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/pc/vpid/b0bk51z6?cb=38595 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful

ERROR: Failed to download URL (3/3): https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/apple-ipad-hls/vpid/b0bk51z6?cb=97765 ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 ERROR: Ignore this error if programme download is successful WARNING: No media streams found for requested programme versions and recording modes. WARNING: The programme may no longer be available - check the iPlayer site. WARNING: If you are outside the UK, check with the provider to find out if your VPN/VPS/Smart DNS/web proxy has been blocked. Cataclysm:~ cburgess$

dubbayoo commented 6 years ago

--stream-http also doesn't help, the same failure occurs, though I do see that all URLs attempted in the output still say https

Vangelis66 commented 6 years ago

--stream-http also doesn't help, the same failure occurs, though I do see that all URLs attempted in the output still say https

@skovatch , @dubbayoo

--stream-http only applies to stream data (DASH .mpd manifests or HLS master .m3u8 playlists) after they have been returned (generated) by the mediaselector API URIs; it has no effect on those URLs, which, in get_iplayer 3.17, always use HTTPS...

@dubbayoo Could you be so kind as to try a test for me? Fire on your whitelisted UK VPN on your Mac machine and then use one of the browsers there (e.g. Safari, Firefox Quantum, Google Chrome etc.) to try to load one of the mediaselector URLs over HTTPS, e.g.

https://open.live.bbc.co.uk/mediaselector/5/select/version/2.0/mediaset/iptv-all/vpid/p06k046y

If your browser can establish a secure connection to that host, you should get either a geolocation error (in the event your VPN doesn't kick in or has become blacklisted - not the latter case by the looks of it) or get an XML file in your browser tab, with lots of <connection authExpires=.../> blocks. In both cases, a generalised network error should be ruled out, thus cementing my hunch we have a GiA issue...

If, instead, you, too, get a 500 error in your browser trying to access open.live.bbc.co.uk over HTTPS, then it should indeed be a network configuration error (perhaps you have to explicitly open port 443 inside your VPN app?); but you said GiP 3.17 works welll inside your VM, but not on your Mac, so this is all fishy, isn't it?

My gut feeling is your reported issue is just a duplicate of #194, where numerous users are plagued with similar behaviour, producing identical logs to yours: ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443

Methinks some of the perl modules involved in HTTPS connections on some Macs seem to misbehave (while they work as intended on the majority of Macs - and on Windows!). In all non-working instances, the remedy appears to be: Downgrade to GiA 1.13.10! (but I'm simply speculating here... 😉 )

dubbayoo commented 6 years ago

Thanks for the reply.

With the VPN enabled on a whitelisted exit point, I confirmed in Safari that iPlayer was watchable before heading to the other URL, and it was. So that's good.

After pasting the URL, I wound up with an XML file as you had predicted. I'll paste the output at the end of this.

For the time being, if this is indeed a GiA issue as it would appear to be (well, not just GiA given get_iplayer 3.17 fails via the CLUI) or a Mac issue perhaps, then I shall continue using 1.13.10 for the time being.

EDIT:

If perl libraries are at fault, mayhaps my still using macOS 10.12.6 could be part of the issue, but I stick with it (for now) for legacy software that won't run under 10.13.x (eg., Logic Studio 9).

Also, the XML page/code, as one should expect, won't display because of the tags, without ` entries all over the place. Suffice it to say the output was as expected. Here's one: `

Vangelis66 commented 6 years ago

@dubbayoo Thanks for doing the test I requested and for posting its results 👍

With the VPN enabled on a whitelisted exit point, I confirmed in Safari that iPlayer was watchable

.... As has been said before, successfully watching BBC iPlayer in a desktop browser isn't a 100% reliable indication that get_iplayer BBC downloads will also succeed; you may be served MPEG-DASH streams in the browser which work, but GiP prefers HLS streams (and could fail in accessing those...)

After pasting the URL, I wound up with an XML file as you had predicted. (snip) Suffice it to say the output was as expected.

Well, to me this is sufficient confirmation that your VPN's UK exit node is indeed whitelisted (for GiP purposes) and that you are not suffering a system-wide network mis-configuration, since your browser was successfully served the UK-only version of the mediaselector URL XML response!

The root cause of the issue has to be in GiP's HTTPS protocol implementation on your system, when accessing secure sites, but I don't have a clue currently what this might be...

If perl libraries are at fault, mayhaps my still using macOS 10.12.6 could be part of the issue

Quite possible... Browsing the comments of #194, I see very few affected users indicating their OS version, however one (@BruceGoatly) on OS X 10.13.6 reports unaffected, while another one (@ManolisGledsodakis) on El Capitan (OS X 10.11.x) reports failure to download; a third user (@ian02054) tried "on a different Mac" (but failed to report OS X version) and succeeded there... So yes, the manifestation of the issue appears to be OS version dependent...

FWIW, https://github.com/get-iplayer/get_iplayer/wiki/osx#before-you-begin states that:

macOS 10.10 (Yosemite) or higher is required
Only macOS system Perl is supported. If you use perlbrew, plenv, ActivePerl, MacPorts Perl, Homebrew Perl, etc., you are responsible for configuring it correctly.

In any event, if @skovatch isn't able to pinpoint the culprit, and you are still experiencing the same broken behaviour with the standalone GiP Mac installer, perhaps you should seek help on the GiP support forums, mac subforum; be sure to first read and abide by their rules; they check VPN use/IPs/e-mail addresses you register with, and are over all very strict about overseas TV access; please, no mention of UK VPNs and inaccessible TV content; register with your normal IP and say that you can't fetch globally available radio content (which should be also true in your case) ...

skovatch commented 6 years ago

--stream-http only applies to stream data (DASH .mpd manifests or HLS master .m3u8 playlists) after they have been returned (generated) by the mediaselector API URIs; it has no effect on those URLs, which, in get_iplayer 3.17, always use HTTPS...

Right, I realized this too late after posting.

The root cause of the issue has to be in GiP's HTTPS protocol implementation on your system, when accessing secure sites, but I don't have a clue currently what this might be...

Yes, I agree this is definitely the problem. This is why I have been asking folks to install the command-line get_iplayer for comparison. There should be no difference in behavior running that and what's inside GiA.

Also, I hadn't noticed the 10.10 minimum before. I will change GiA to match, since it's currently at 10.9.

dubbayoo commented 6 years ago

HTTPS implementation sounds quite likely, since according to https://github.com/tsibley/apple-perl-versions the same version of perl (5.18) has shipped with macOS 10.11, 10.12 and 10.13 (and for that matter, 10.10, which would seem to imply get_iplayer requires 5.18 even if it doesn't explicitly state the version number as per the link above).

Huzzah, a lead! Thanks to all who've contributed, and apologies for not realizing this was a duplicate of #194.

the-saint commented 5 years ago

Possibly related:

Some BBC programmes will not download:

BBC Download (ID=b0b06k73): Downloading Heir Hunters: Series 12 - Clench/Rogerson INFO: 1 total programmes ERROR: Failed to download URL (3/3): https://vod-hls-uk-live.akamaized.net/usp/auth/vod/piff_abr_full_hd/f56515-b0bjctqt/vf_b0bjctqt_f25a08f1-e6f1-460f-b38e-bbcee58b87d5.ism.hlsv2.ism/vf_b0bjctqt_f25a08f1-e6f1-460f-b38e-bbcee58b87d5.ism.hlsv2.m3u8?__gda__=1536643043_807a04a8e96bc0cc17ba8b9226703681 ERROR: Response: 403 Forbidden ERROR: Ignore this error if programme download is successful ERROR: Failed to download URL (3/3): https://vod-dash-uk-live.akamaized.net/usp/auth/vod/piff_abr_full_hd/f56515-b0bjctqt/vf_b0bjctqt_f25a08f1-e6f1-460f-b38e-bbcee58b87d5.ism.hlsv2.ism/iptv_hd_abr_v1_dash_master.mpd?__gda__=1536643043_0aee907b3016c7695987515f9be7e75f ERROR: Response: 403 Forbidden ERROR: Ignore this error if programme download is successful ERROR: Failed to download URL (3/3): https://mm.bidi.bbc.co.uk/vod-hls-uk-live/usp/auth/vod/piff_abr_full_hd/f56515-b0bjctqt/vf_b0bjctqt_f25a08f1-e6f1-460f-b38e-bbcee58b87d5.ism.hlsv2.ism/vf_b0bjctqt_f25a08f1-e6f1-460f-b38e-bbcee58b87d5.ism.hlsv2.m3u8?at=ohymVanZc0534cc852a22047fa63ffd23c987d22d3a7fe695758c8f43a6c0 ERROR: Response: 403 Forbidden ERROR: Ignore this error if programme download is successful ERROR: Failed to download URL (3/3): https://vod-dash-uk-live.akamaized.net/usp/auth/vod/piff_abr_full_hd/f56515-b0bjctqt/vf_b0bjctqt_f25a08f1-e6f1-460f-b38e-bbcee58b87d5.ism/pc_hd_abr_v2_dash_master.mpd?__gda__=1536643053_7a78a4018f7f11dbfb5ff308d4da8786 ERROR: Response: 403 Forbidden ERROR: Ignore this error if programme download is successful INFO: No versions of this programme were selected (available versions: signed) BBC Download (ID=b0b06k73): Heir Hunters: Series 12 - Clench/Rogerson Failed

MacInWin commented 5 years ago

I am having exactly the same problem of "Can't connect to www.bbc.co.uk:443" and no downloads at all. I'm not tech-savvy and don't want to go through a bunch of hoops to get this working, so is there a layman's fix?

ManolisGledsodakis commented 5 years ago

Which version are you using? My "layman's fix" was to reinstall version 1.13.10, which still works (apparently perfectly). I don't know what's broken in later versions but I'm sticking with this one as long as it works.

feverdiva21 commented 5 years ago

I get ERROR: Response: 500 Can't connect to open.live.bbc.co.uk:443 also.

I'm not tech savvy either but really want to download some BBC asap.... I only have v1.13.14 on laptop and v1.13.15 available to download... would love to try v 1.13.10 to see if that would work for me but can't find it anywhere ... Can anyone help me with a link for it ??

Vangelis66 commented 5 years ago

Can anyone help me with a link for it ??

https://github.com/Ascoware/get-iplayer-automator/releases/tag/v1.13.10

(the .zip file is what you want...)

feverdiva21 commented 5 years ago

Can anyone help me with a link for it ??

https://github.com/Ascoware/get-iplayer-automator/releases/tag/v1.13.10

(the .zip file is what you want...)

Thanks so much - I managed to download 1 programme... now stuck again (maybe this time problem is at vpn) :)

stevecopley commented 5 years ago

Have exactly the same issue with v1.13.16: 500 Can't connect to open.live.bbc.co.uk:443 Downgrading to v1.13.10 also fixed things for me So... Something in more recent versions is making things screwy (Old iMac running OS X 10.11.6)

zugernaut commented 5 years ago

Apologies. I posted some results of my own investigation into the difference between 1.13.10 and 1.13.16 under issue #211.

zugernaut commented 5 years ago

Apologies. I posted some results of my own investigation into the difference between 1.13.10 and 1.13.16 under issue #211.

mastige commented 5 years ago

'Updated the root certificates used by Mozilla::CA. This should address the 500 errors when starting a BBC download' (release notes of 1.13.17) Tried this new release, but still no go for me with the same 500…. 443 error as before. Fixed by rolling back to 1.13.10

dubbayoo commented 5 years ago

'Updated the root certificates used by Mozilla::CA. This should address the 500 errors when starting a BBC download' (release notes of 1.13.17) Tried this new release, but still no go for me with the same 500…. 443 error as before. Fixed by rolling back to 1.13.10

Ditto. Tried 1.13.17 and the errors were still as rampant as ever. Reverting to 1.13.10 works like a charm as ever.

mastige commented 5 years ago

Version 1.14 still fails to download anything for me. It fails to connect with the same 500….443 error, so I am stuck on 1.13.10. Is there any information on what the problem for specific users might be?

skovatch commented 5 years ago

Version 1.14 still fails to download anything for me. It fails to connect with the same 500….443 error, so I am stuck on 1.13.10. Is there any information on what the problem for specific users might be?

This means your VPN or smart DNS service is no longer working or is being blocked by the BBC. You need a new service. 1.13.10 used a buggy version of the Perl HTTPS library.

skovatch commented 5 years ago

I'm now closing this bug, since it's VPN/DNS-related and not a bug in get_iplayer or GiA.

stevecopley commented 5 years ago

That doesn't make sense... All downloads work with 1.13.10. No downloads work with later versions (500 errors). So how is it the VPN service at fault if the older version works just fine with the VPN?

ManolisGledsodakis commented 5 years ago

I concur with Steve. exactly the result I get. 1.13.10 works. Later versions don't (with the same VPN).

Something else is going on here. When I get time, I'll set up my third computer with the latest GiA and see what that does but I don't expect anything different. As Einstein allegedly said: doing the same thing over and expecting different results is a sign of insanity!

dubbayoo commented 5 years ago

I initially opened this thread because of inconsistencies in operation; I couldn’t use GiA to download on the Mac side while get_iplayer worked fine inside a Windows VM. Rolling back to 1.13.10 was the fix then, and remains to be the fix for me and for others. If 1.13.10 used a buggy PERL implementation then its flaw is its saving grace, at least for some (several) people, and the issue is not VPN-related. Closure of this thread for VPN reasons isn’t proper. If it’s an issue with macOS or PERL or a mixture of the two then so be it, close it for that reason if it can’t be fixed within GiA (which, seemingly it can, albeit in a potentially undesirable manner).

I would be curious, however, to learn of why some people don’t have this problem, and why their configuration allows success with iterations of GiA beyond 1.13.10, but of course those who don’t have problems don’t often tend to look at threads or resources like this one. :)

ian02054 commented 5 years ago

I agree, and was just abut to post a similar message. 1.13.10 works fine, and nothing since has done for me. I think it must be more than a vpn issue if so many people have it working successfully with that release, but nothing beyond.

On Jan 2, 2019, at 11:31 AM, dubbayoo notifications@github.com wrote:

I initially opened this thread because of inconsistencies in operation; I couldn’t use GiA to download on the Mac side while get_iplayer worked fine inside a Windows VM. Rolling back to 1.13.10 was the fix then, and remains to be the fix for me and for others. If 1.13.10 used a buggy PERL implementation then its flaw is its saving grace, at least for some (several) people, and the issue is not VPN-related. Closure of this thread for VPN reasons isn’t proper. If it’s an issue with macOS or PERL or a mixture of the two then so be it, close it for that reason if it can’t be fixed within GiA (which, seemingly it can, albeit in a potentially undesirable manner).

I would be curious, however, to learn of why some people don’t have this problem, and why their configuration allows success with iterations of GiA beyond 1.13.10, but of course those who don’t have problems don’t often tend to look at threads or resources like this one. :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Ascoware/get-iplayer-automator/issues/200#issuecomment-450841782, or mute the thread https://github.com/notifications/unsubscribe-auth/AQcR5oE7ArWAqx42lNZtlQvaXJOg8aZoks5u_JijgaJpZM4WWd_M.

mastige commented 5 years ago

Thanks for the reply. I understand that you believe that BBC is blocking the downloads. With exactly the same settings I can watch shows in iPlayer. Is this consistent with BBC blocking? I do appreciate all your efforts, but remain puzzled by this issue.