ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
132.26k stars 10.03k forks source link

Error 1025 on abc.com full shows. NOT a duplicate of #25207 or fixed by #25216 #26058

Closed DarF234 closed 3 years ago

DarF234 commented 4 years ago

Checklist

Verbose log

PASTE VERBOSE LOG HERE

[debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--geo-bypass', '--verbose', '-o', 'testprogram.mp4', 'https://abc.com/shows/good-morning-america/episode-guide/2020-07/11-saturday-jul-11-2020'] [debug] Encodings: locale cp1252, fs mbcs, out cp1252, pref cp1252 [debug] youtube-dl version 2020.06.16.1 [debug] Python version 3.4.4 (CPython) - Windows-7-6.1.7601-SP1 [debug] exe versions: ffmpeg N-95085-g525de95679, ffprobe N-95085-g525de95679, rtmpdump 2.4 [debug] Proxy map: {} [Go] 11-saturday-jul-11-2020: Downloading webpage [Go] VDKA4974899: Downloading JSON metadata [debug] Using fake IP 6.85.205.84 (US) as X-Forwarded-For. [Go] VDKA4974899: Downloading JSON metadata ERROR: Go said: 1025:Unable to retrieve required files for playback. Please try again in a few minutes. Traceback (most recent call last): File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\YoutubeDL.py", line 797, in extract_info File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\extractor\common.py", line 530, in extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\extractor\go.py", line 205, in _real_extract youtube_dl.utils.ExtractorError: Go said: 1025:Unable to retrieve required files for playback. Please try again in a few minutes.

Description

WRITE DESCRIPTION HERE The error 1025 appears now instead of the Adobe Pass error. My bad, I didn't keep up with the logs. But that's another story. It exists in the latest release (2020.06.16.1) as well as the source dated 7/14/2020 4:01:14 AM, which was downloaded 7/18/2020 4:04 AM EDT.

I received the same error on the following URLs: (All unlocked.) https://abc.com/shows/good-morning-america/episode-guide/2020-07/11-saturday-jul-11-2020 https://abc.com/shows/what-would-you-do/episode-guide/2020-07/07-wwyd-070720-confronting-man-wearing-confederate-flag-jacket https://abc.com/shows/shark-tank/episode-guide/season-11/24-episode-24 https://abc.com/shows/dont/episode-guide/season-01/01-dont-be-a-wiseguy

The fix under #25207 is unusable because the line number is wrong and no line similar to it exists. Under _TESTS the URL for The Rookie no longer exists. There are five (apparently unlocked) episodes and it's not one of them. I mention it because the same URL is in a comment on line 140, which is followed by... The new code for line 141 under issue #25216 is identical to the source I downloaded, but the error occurs using it. I assume the shows are laid out the same and it was tested then placed on line 141. Well, I'm far enough into guesswork now. I hope the info helps. I do not have proxy or VPN services to offer to any developer to aid them. Sorry, I've never had the need.

DarF234 commented 4 years ago

One addition: it produces the same results with or without the --geo-bypass switch. So it is not a geographical issue for me. I added that switch a long time ago and it fixed the problem that ABC was telling me I wasn't in my own country. Here's the log without. I think that's wiser than opening another issue over this.

[debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--verbose', '-o', 'testprogram.mp4', 'https://abc.com/shows/shark-tank/episode-guide/season-11/24-episode-24'] [debug] Encodings: locale cp1252, fs mbcs, out cp1252, pref cp1252 [debug] youtube-dl version 2020.06.16.1 [debug] Python version 3.4.4 (CPython) - Windows-7-6.1.7601-SP1 [debug] exe versions: ffmpeg N-95085-g525de95679, ffprobe N-95085-g525de95679, rtmpdump 2.4 [debug] Proxy map: {} [Go] 24-episode-24: Downloading webpage [Go] VDKA4974899: Downloading JSON metadata [debug] Using fake IP 6.5.147.219 (US) as X-Forwarded-For. [Go] VDKA4974899: Downloading JSON metadata ERROR: Go said: 1025:Unable to retrieve required files for playback. Please try again in a few minutes. Traceback (most recent call last): File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\YoutubeDL.py", line 797, in extract_info File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\extractor\common.py", line 530, in extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpspbsbtmq\build\youtube_dl\extractor\go.py", line 205, in _real_extract youtube_dl.utils.ExtractorError: Go said: 1025:Unable to retrieve required files for playback. Please try again in a few minutes.

magnum32 commented 4 years ago

Why havent they implemented a fix for ABC.com yet? its been almost 2 months! its the same message that I get everytime i try to download an ABC program: ERROR: Go said: 1025:Unable to retrieve required files for playback. Please try again in a few minutes.

DarF234 commented 4 years ago

Let me restate what I said earlier. I am running the code with the patch at line 141 and I am still getting error 1025. This issue has not been solved by https://github.com/ytdl-org/youtube-dl/issues/25207! I will download the latest source, but if there have been no other changes related to this issue, I expect the same results.

I am conducting these tests under MX Linux so I am not dealing with any special software as I might if testing under Windows. I've looked over everything but this project would require I learn Python and Regular Expressions. By that time someone will have solved it.

Let me ask a question: Is there any place to see an overview of youtube-dl's operation? A general listing of the steps it takes to download a common video format? There is a rough guide to writing an extractor after the Command documentation, but it assumes one knows the basics of what youtube-dl does.

DarF234 commented 4 years ago

New version, 2020.07.28, same problem.

I assume the error message is generated by youtube-dl. "Unable to retrieve required files for playback." leaves a lot of room for interpretation. Not a lot of help there. And not a lot in go.py that I can tell the pertains to free ABC network content. I hope you can get someone on this soon!

tony-izzo commented 4 years ago

I don't know if this will be helpful or not, but I downloaded source from around when #25207 was reported and applied the patch from this comment and it seemed to solve the problem for me. I just used it now and was able to download a TV show from ABC.

I'm not a big GitHub user, but it looks to me like #25207 was supposed to be resolved by pull request #25216. #25207 is closed but #25216 is still open.

DarF234 commented 4 years ago

@tony-izzo, do you know if they have a (can't think of the word) place to download older source code? The copies I have already have that patch and they don't work. So I'd like to replicate what you did. If you have any info that would tell be the version of the source you have, that would be most helpful as well. TIA, DSF

tony-izzo commented 4 years ago

I forked the master branch from commit 52c50a10af5de16165621f8929b64dc726774276. You should be able to just check out that commit from an up to date copy of the repository (git checkout 52c50a10af5de16165621f8929b64dc7267742761) and have my starting point. My local copy differs from that commit as follows:

diff --git a/youtube_dl/extractor/go.py b/youtube_dl/extractor/go.py
index 03cfba9..7fd0664 100644
--- a/youtube_dl/extractor/go.py
+++ b/youtube_dl/extractor/go.py
@@ -138,7 +138,8 @@ class GoIE(AdobePassIE):
                     # from http://freeform.go.com/shows/shadowhunters/episodes/season-2/1-this-guilty-blood
                     r'data-video-id=["\']*(VDKA\w+)',
                     # https://abc.com/shows/the-rookie/episode-guide/season-02/03-the-bet
-                    r'\b(?:video)?id["\']\s*:\s*["\'](VDKA\w+)'
+                    r'\bvideoIdCode["\']\s*:\s*["\'](vdka\w+)'
+                    # r'\b(?:video)?id["\']\s*:\s*["\'](VDKA\w+)'
                 ), webpage, 'video id', default=video_id)
             if not site_info:
                 brand = self._search_regex(

I should mention that I haven't tested extensively, I actually just downloaded one episode of one show from abc.com, so it's possible that this is only a partial fix. Anyway good luck.

bb010g commented 4 years ago

@tony-izzo Just tried your patch off of 52c50a10af5de16165621f8929b64dc726774276 & a4ed50bb84658b7e77cbb37597c36fa62a9acd4b and no luck, still

ERROR: Go said: 1025:Unable to retrieve required files for playback. Please try again in a few minutes.

and exit code 1 on both.

DarF234 commented 4 years ago

@tony-izzo. I applied your patch and, as far as my testing goes, it works! It doesn't seem to refuse anything unlocked and it still works on the clips as it always has. I will do more in depth checking between the (youtube-dl) batch file, what's been downloaded, and the ABC site before I can report in some detail.

It worked in MX Linux by just "running" the modified source. I didn't take it any farther because I'd have to convert my (Windows) batch files and copy everything to Linux in the virtual machine. Soooo...

For the Windows users here: I found a way to bring the whole project into Windows. Using the method found here: https://github.com/ytdl-org/youtube-dl/issues/10014#issuecomment-472695214 I'm using Windows 7 Ultimate SP1 and Python 3.8.3. I followed the instructions in the post and now with one command I can go from source to .EXE.

Thank you, Tony!!! Good work!!!

DarF234 commented 4 years ago

@tony-izzo Now we need one of the team to integrate your solution into the code just in case it doesn't handle all of the conditions of the original. I can say that it hasn't omitted anything or downloaded the wrong program in the week I've been using it. (I've been testing, so that's 200+ programs.) I mention the team as a solution because you said you're not a big GitHub user. No offense intended. Or have you done a pull request yourself?

tony-izzo commented 4 years ago

It's not actually my fix, it was generated by @tmthywynn8. There is already a pull request, #25216, but it hasn't been merged. I'm not sure why, mainly because I'm not familiar with how this project is managed.

DarF234 commented 4 years ago

@tony-izzo The code you posted above has no line numbers and they are cut short in the preview mode. So I am only showing the start of each line.

The pull request at #25216 is not the one that fixed the problem. The request is for this line from the code above that starts with: r'\b(?:video) This has been in the source for some time now, and did not fix the problem for me.

The code you posted above shows that the line from 25216: r'\b(?:video) was replaced with a remarked out copy: "# r'\b(?:video)" (I added the quotes. Without them the "#" caused problems with viewing.) and the line from your post above starting with: r'\bvideoIdCode replaces it. This is the code that works for me!

So whomever wrote the line: r'\bvideoIdCode Is the one that needs to bring attention to it.

I have been using a version I compiled using the modified line for at least two weeks and I have had no problems downloading from the main ABC site. I've been testing, so that's 200+ downloads. But it is possible that the change affects things I have not tried. Disney sites are in go.py and I have no way to test them. That's why I think whomever wrote the replacement line should compare it against the original line. Maybe a combination of the two is needed.

tmthywynn8 commented 4 years ago

I am getting conflicting messages here, as you said that the changes worked in this comment, which I previously made a pull request for (see #25216), i.e., the videoIdCode bit, but you also said that it doesn't work. Note that your verbose log doesn't seem to be using the modified go.py from commit 783d296, as you're getting a redirect to VDKA4974899 instead of the intended video ID. Also, when you get error "1025:Unable to retrieve required files for playback. Please try again in a few minutes", that's generated from the JSON metadata and not an internal error from Youtube-dl.

Just to make sure we're on the same page, go ahead and download go.py from this link and let me know if it does indeed fix this issue.

DarF234 commented 4 years ago

@tmthywynn8 I will do that, if you want. Please read the following and then let me know if I need to.

But to clarify, when I said the changes worked, I was addressing the @tony-izzo post here:https://github.com/ytdl-org/youtube-dl/issues/26058#issuecomment-667206546.

Your revision is not at #25216, but rather at https://github.com/ytdl-org/youtube-dl/commit/783d2968aed5643262bff88ead239c062339adf8, listed in your message below the change that didn't work. It's the change on the issue #25216 page (pink code on line 141) that I was saying didn't work. I see now that under it is an apology from Tony. And a message from you. I made the mistake of attributing it to Tony because he posted it here. I didn't know you had addressed the issue.

Apologies to both of you for my misunderstandings. I hope I've cleared things up.

Summarized: The actual solution posted on page #25216 did not work for me. Using the changes in the difference file Tony posted to this thread did work. That work should be attributed to you. Good grief! June 6? Your answer has been out there a long time! I know nothing of how GitHub operates, but I did notice "This commit does not belong to any branch on this repository." on your page containing the answer to a lot of people's problems.

If anything is unclear, feel free to reply and ask me to clarify. It's 4:00 AM here and I'm running on empty.

P.S. My latest verbose log is from version 2020.06.16.1. It was posted 29 days ago according to the above. I didn't even have the source until after Tony's post 18 days ago. If you'd like a verbose log from the current working version I've compiled and I'm running, I'll be glad to post it.

tmthywynn8 commented 4 years ago

Actually, the solution was posted on the 9th of May according to commit 5a3e2a4. As the old patterns were to be left untouched, I then committed 783d296 on the 6th of June to address that issue—the proposed solution had not changed in the intervening time. The reason why "[t]his commit does not belong to any branch on this repository" is because that commit belongs to the Fix-issue-#25207 branch—as I do not have write access, making a pull request across repositories is how you're supposed to do things (see this help article). Incidentally, this was also my first time using GitHub's UI to edit a file and commit its changes—I'm used to working with git on the command line but didn't want to waste local space for just a single file in such a huge repository.

This is why #25216 was created—proposing that the changes in the Fix-issue-#25207 branch would be merged into ytdl-org:master, i.e., commits 5a3e2a4 and 783d296. As for the "pink code", I've no idea where you're seeing that—my screen reader says that the changed code is in blue with a green background (specifically dark aqua-blue grey on green-aqua white). @tony-izzo, as you have working ocular inputs and seem to know how to navigate through GitHub's interface, can you point out where the confusion lies?

tony-izzo commented 4 years ago

I have an observation to record. I'll want this information when I'm at home to do some testing on a theory.

In this comment you indicated that the root cause of the problem was that the mainline version of the extractor was finding the wrong video ID (not no video ID). Changing the pattern used to extract the video ID from the web page (which you did in 5a3e2a4), fixed the problem. To this day (or at least last week) I'm using my own patched version with this change (as is @DarF234) with success.

In response to a request from @dstftw, you added the original pattern back to the list, restoring the "bad" pattern while also retaining the "good" one. This seems to have re-broken the code (several people are claiming that ABC no longer works with the current version of the PR, though I have not tried it myself).

_search_regex() appears to try the web page content against each of the passed-in patterns and returns the first one that matches. Based on the comment I cited above I believe you were saying that the original pattern matched something, but what it returned did not contain a valid video ID. Thus if _search_regex() is processing that pattern before your corrected pattern you would expect it to behave just as if the correct pattern wasn't there.

The problem is that by inspection of the code I don't see why this should happen. The list of patterns is being passed in a tuple, and tuple's are ordered. I'll have to look to see what kind of guarantees if any are provided by in with respect to iteration order, but I'd be surprised if you didn't get the expected behavior.

Anyway, all of this is beside the point. The code as it stands is capable of handling variants of the web page where one of the provided patterns matches and the rest don't. It is not capable of handling cases where multiple patterns match but one is wrong.

As I see it the most correct fix would be to modify _search_regex() to return all matches instead of just the first one, and for the invoking code to be able to validate each of the returned matches to identify one that is valid. But this would be a much larger change since all callers of _search_regex() would need to be updated. One alternative would be to write a new function _search_multiple_regex() which does this, change _search_regex() to call search_multiple_regex() and return element [0], and change just this extractor to use _search_multiple_regex() to get all matches and try each one for validity. There are other ways to architect it, but this would leave most callers of _search_regex() unchanged.

tony-izzo commented 4 years ago

As for the "pink code", I've no idea where you're seeing that—my screen reader says that the changed code is in blue with a green background (specifically dark aqua-blue grey on green-aqua white). @tony-izzo, as you have working ocular inputs and seem to know how to navigate through GitHub's interface, can you point out where the confusion lies?

GitHub renders deleted lines in diffs as red text on pink background. @DarF234 is referring to a diff I posted that corresponds to 5a3e2a4fb1f7ad7e0db7df927bb20464260ad271 and shows the original pattern being deleted (pink) and the corrected pattern being added (green) its place.

DarF234 commented 4 years ago

@tmthywynn8 @tony-izzo About the pink. In my own defense, I did also say line 141. I was referring to the change proposed by @dstftw at #25216 . I don't know if that line is in the release, but it is in the source. It's the line Tony replaced with the same line with a remark before it in the code further up this page. It is also the line you are discussing above. It sounds like people are having problems with both lines in place. I'll test it here. I removed the remark that I had on the line following "Deprecated fallback pattern". This is the result:

[debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--geo-bypass', '--verbose', '--retries', '100', '--fragment-retries', '3', '--socket-timeout', '240', '--ignore-errors', '--no-overwrites', '--console-title', '--write-all-thumbnails', '--write-description', '--write-info-json', '--write-annotations', '--write-sub', '--sub-format', 'srt/best', '--all-subs', '-o', "F:\NetworkShows\200819txts\%(series)s\TLM [S%(season_number)02d E%(episode_number)02d] ''%(title)s'' d%(upload_date)s [%(resolution)s].%(ext)s", 'https://abc.com/shows/to-tell-the-truth/episode-guide/season-05/08-ashanti-gary-cole-michael-ealy-sherri-shepherd'] [debug] Encodings: locale cp1252, fs utf-8, out cp1252, pref cp1252 [debug] youtube-dl version 2020.07.28 [debug] Python version 3.8.3 (CPython) - Windows-7-6.1.7601-SP1 [debug] exe versions: ffmpeg N-95085-g525de95679, ffprobe N-95085-g525de95679, rtmpdump 2.4 [debug] Proxy map: {} ERROR: Unable to extract show id; 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. Traceback (most recent call last): File "youtube_dl\YoutubeDL.py", line 797, in extract_info File "youtube_dl\extractor\common.py", line 530, in extract File "youtube_dl\extractor\go.py", line 155, in _real_extract File "youtube_dl\extractor\common.py", line 1005, in _search_regex youtube_dl.utils.RegexNotFoundError: Unable to extract show id; 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.

Returned 1 . With the remark restored, it worked as usual. (No log posted because it's friggin' huge and provides no new information.) So with the code at https://github.com/ytdl-org/youtube-dl/commit/783d2968aed5643262bff88ead239c062339adf8 I received a third error relating to an ID, unless "Unable to extract..." is the equivalent of "no video ID" and "show ID" and "video ID" are synonymous.

Unrelated. The address: "# from http://**freeform.go.com**/shows/shadowhunters/episodes/season-2/1-this-guilty-blood" Would be now: "# from http://**freeform.com**/shows/shadowhunters/episodes/season-2/1-this-guilty-blood" I thought I'd post this here because I have a feeling you two would have a chance of getting it corrected faster than I. Just yesterday I tried that site and got UnsupportedError: Unsupported URL:. I was going to request it be added, so the remarked line caught my eye. It's another case of ABC's "go" being gone! :)

blackjack4494 commented 4 years ago

let me know the outcome of this. I cannot test your code since I am EU based.

tony-izzo commented 4 years ago

25216 worked for me when I tried it earlier tonight. The only thing different between #25216 and "my" code that you said worked for you is that the old pattern (the one that #25216 was written to replace) was retained as a fallback in #25216, while it was commented out in my patch which removed it altogether. I surmised based on your findings that putting this pattern back might somehow have broken something, but my own testing shows otherwise.

Can you describe exactly how you went about testing #25216? It may not be quite as straightforward as you think if you're not familiar with git. I'm just confused because I don't see how my patch could work and #25216 not.

tony-izzo commented 4 years ago

The change from freeform.go.com to freeform.com is, as you said, unrelated. I would recommend you write a new issue for it.

tony-izzo commented 4 years ago

File "youtube_dl\YoutubeDL.py", line 797, in extract_info File "youtube_dl\extractor\common.py", line 530, in extract File "youtube_dl\extractor\go.py", line 155, in _real_extract File "youtube_dl\extractor\common.py", line 1005, in _search_regex youtube_dl.utils.RegexNotFoundError: Unable to extract show id; 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.

This looks like a different problem to me.

25216 fixes a problem in which the page contains both an invalid video_id matching the original pattern (r'\b(?:video)?id["\']\s*:\s*["\'](VDKA\w+)') and a valid video_id matching the new pattern (r'\bvideoIdCode["\']\s*:\s*["\'](vdka\w+)'). The "Error 1025" is reported by abc.com when ytdl tries to retrieve the video using the invalid video_id.

The extractor only tries to find the show id if there are no matches for any of the video_id patterns.

According to the comments in this code, this is only supposed to be reached for Disney, Disney Junior, and Disney XD. ABC and Freeform are supposed to match the video ID. So this may warrant yet another new issue.

Edit:

It is also possible this was just a transient error, because the URL returned something other than the page. If I look at the page source for the link you tested with (https://abc.com/shows/to-tell-the-truth/episode-guide/season-05/08-ashanti-gary-cole-michael-ealy-sherri-shepherd), it does contain the following text, which would have matched the videoIdCode pattern:

"videoIdCode":"vdka19124580"

Edit2:

It also contains text matching the old pattern, which even in the original code would have matched a video_id. It would have been wrong, and resulted in the 1025 error, but it would not have proceeded to try to extract the show id.

DarF234 commented 4 years ago

@tony-izzo Re Message starting with "#25216 worked for me when I tried it earlier tonight" I'll try to make this as clear as possible. I found the insert code symbol, so maybe this will help clear things up. This is the code for issue #25216 that does not work. The incorrect line is number 4.

Perhaps I should mention that I know nothing of how GitHub operates. I have been compiling this just for myself.

And I just noticed that lines 4 and 6 in both lists here are truncated even with "insert code" used. But there should be enough of them to identify them against the complete lines and you should have no problem seeing which is which,

`1-- # from http://freeform.go.com/shows/shadowhunters/episodes/season-2/1-this-guilty-blood

2-- r'data-video-id=["\']*(VDKA\w+)',

3-- # https://abc.com/shows/the-rookie/episode-guide/season-02/03-the-bet

4-- r'\b(?:video)?id["\']\s:\s"\''`


On a link from that page to issue #https://github.com/ytdl-org/youtube-dl/commit/783d2968aed5643262bff88ead239c062339adf8 is the code that almost works. It is what I add every time I get a new source. It follows.

`1-- # from http://freeform.go.com/shows/shadowhunters/episodes/season-2/1-this-guilty-blood

2-- r'data-video-id=["\']*(VDKA\w+)',

3-- # https://abc.com/shows/the-rookie/episode-guide/season-02/03-the-bet

4-- r'\bvideoIdCode["\']\s:\s"\'',

5-- # Deprecated fallback pattern

6-- r'\b(?:video)?id["\']\s:\s"\'`

The problem here is the Depreciated fallback pattern. (Line 6.) Which is the line from the code window on #25216 shown above. As this code stands, it will fail on my system with "Unable to extract show id" (Maybe. Further testing needed. See below.) as I demonstrated in #26058. Line 6 must be removed for it to operate without producing an error. With only line 4 handling this it works okay with ABC as far as I can see. There may be unseen repercussions in removing line 6 that I have not encountered. Since @dstftw is the person that added line 6, I suggest @tmthywynn8 get in contact with him. Maybe together they can figure it out.

To be certain I am being clear, the code above does not work with line 6 active but works fine, to the best of my knowledge, with line 6 remarked out. It definitely does not work for me even if line 6 is there only as a fallback pattern. It must be gone.



As to filing a report for freeform.go.com to freeform.com, according to a search I did, freeform was fixed when abc was fixed. I know abc worked after that. I ran across freeform rather recently and it doesn't seem to have any requirements and I was able to play it in my browser. So I have no idea why it's exhibiting a problem that was fixed months ago. I even tried it with the release EXE in case I had a bad compile here. I got the same error. So I really have no options here. They say it's fixed and I know nothing about the site. All I can say is that it still plays in the browser at this very minute, but youtube-dl returns an Unsupported URL for https://www.freeform.com/ etc.



Regarding "#25216 This looks like a different problem to me...." It is. perhaps I was careless because it was only a day or so later and I forgot to test the validity of the URL. Because I tested it just now and got the same error. The error is because it is no longer a valid address at abc. As soon as I pressed enter on it, the URL changed to abc.com, the home address. I usually double check things like that, I can't remember this time. So I'm considering that a "my bad" and we can take that error off of the table.

Crap! I just read your "Edit:" from your message from 3 days ago and you say the address was valid. It's too late tonight to test it with a newer URL because I'll have to recompile with line 6 intact and see what I get on a show that I know is valid. Proof that it's too late: I did the test I just wrote about without putting line 6 back in and recompiling. I'll try to do this test tomorrow with line 6 intact and see what I get on a valid URL.

tony-izzo commented 4 years ago

This just serves to highlight a problem with the nature of what ytdl is trying to do. When, as seems to be the case now, providers are changing things behind the scenes faster than we can fix them, it gets very difficult to figure out which problems are fixed, which are still broken, and which were never fixed but are no longer broken (or are broken in a different way) because something else has changed in the interim.

The maintainers indicated in another issue that they have little time for ytdl right now but will have more time in the near future to get some PRs integrated. I think the best thing we can do in support is to keep PRs updated with accurate current data on the validity of the proposed changes.

DarF234 commented 4 years ago

@tony-izzo. This time of the year, change is the norm for the American broadcast networks. It's the start of the new season they want their sites to look fresh and new. So quite a bit of code rolls out. So, for them at least, I expect some changes in the way things are done.

How do you guys post code so it shows up in a formatted window? Almost half the time spent writing yesterday's message was fighting the built-in formatting to get the code to display properly. And that was with using the "insert code" button above. And it still didn't display properly.

So for now, I'll keep downloading the source when there's a new version, patch it, and use it. BTW, line 6 from the last code I posted above is in the source. To keep it simple since it's only for me, I paste in line 4 and rem or delete line 6.

One positive thing has come out of this for me. Since I'm using Windows, I followed the advice here #10014. I've been using Pyinstaller, and with it youtube-dl.exe produces log files with CRLF terminated lines. Meaning I can use Notepad for a quick look.

liamengland1 commented 4 years ago

@DarF234 wrap the code in three backticks

like
this
gdog111 commented 4 years ago

@tony-izzo Having some issues with https://abc.com/shows/to-tell-the-truth/episode-guide/season-05/12-joe-mantegna-bobby-bones-tom-lennon-natasha-leggero. I've done all the fixes, but now I'm getting ERROR: This video is only available for users of participating TV providers. Use --ap-mso to specify Adobe Pass Multiple-system operator Identifier and --ap-username and --ap-password or --netrc to provide account credentials.

tony-izzo commented 4 years ago

@gdog111 This is expected behavior for the episode you mentioned. If you look at the page for the series (https://abc.com/shows/to-tell-the-truth), you will see that the most recent two episodes (including the E12 which you linked above) have little padlock icons on them. This means that ABC only makes these episodes available to paying subscribers through a cable company or supported streaming service. If you click on one of those episodes in the browser you are prompted to select your provider, and then are brought to that provider's website to log in.

If you have a subscription with a provider that grants you access to these episodes, and if that provider is also supported by ytdl, you should be able to download them with ytdl if you use the Adobe Pass options from the README.

If you don't have a subscription, you can probably just wait a little while. At least for ABC it seems that only the newest episodes are restricted. For example E11 seems to be freely available without a subscription, so you should be able to download that one right now. In a week I suspect E12 will become available without a login as well.

DarF234 commented 4 years ago

@llacb47, What is a "backtick?" I'm not familiar with the term and only the text shows up in your example.

tony-izzo commented 4 years ago

Backtick is like a single quote that slants to the left (or "back"). If you click on the three dots on the top left of the comment and select Edit, you can see what was typed in to get the formatting you see.

Also try googling the word markdown. That is the language used to write comments with formatting on this site.

DarF234 commented 4 years ago

@llacb47, The non-shifted tilde character in the upper left of the keyboard. Of course, I can only edit my own posts, but I can try it on a draft. I wonder why (formatting bar above right) Insert code uses <>? Well, there's many languages here and they all have their own syntax. I don't think it's possible to cover everything with one solution.

Thanks for the info!

Update: I tried it and I noticed the same thing happens as with Insert code. All the lines are run together in preview mode. If I add another Enter after each line, then they are double-spaced. But, in preview none of the lines are cropped if they have a single quote. Insert code now adds two backticks: ` # from http://freeform.go.com/shows/shadowhunters/episodes/season-2/1-this-guilty-blood r'data-video-id=["\']*(VDKA\w+)',

https://abc.com/shows/the-rookie/episode-guide/season-02/03-the-bet

                r'\bvideoIdCode["\']\s*:\s*["\'](vdka\w+)'
                r'\bvideoIdCode["\']\s*:\s*["\'](vdka\w+)',
                # Deprecated  fallback pattern
                r'\b(?:video)?id["\']\s*:\s*["\'](VDKA\w+)'
            ), webpage, 'video id', default=video_id)

`

After added Enters: `

               # from http://freeform.go.com/shows/shadowhunters/episodes/season-2/1-this-guilty-blood

                r'data-video-id=["\']*(VDKA\w+)',

                # https://abc.com/shows/the-rookie/episode-guide/season-02/03-the-bet

                r'\bvideoIdCode["\']\s*:\s*["\'](vdka\w+)'

                r'\bvideoIdCode["\']\s*:\s*["\'](vdka\w+)',

                # Deprecated  fallback pattern

                r'\b(?:video)?id["\']\s*:\s*["\'](VDKA\w+)'

            ), webpage, 'video id', default=video_id)

` It may be a LF vs CRLF issue. I'll look at the source to this page and see what it looks like. Yes. The first code has no line ends at all and the second has CRLF after each line. But the code is not mangled now! Interesting that the first line is outside the gray-shaded area no matter what I do. Scratch that. 2 enters after the first backtick puts everything in gray.

jajajaime commented 4 years ago

I forked the master branch from commit 52c50a1. You should be able to just check out that commit from an up to date copy of the repository (git checkout 52c50a10af5de16165621f8929b64dc7267742761) and have my starting point. My local copy differs from that commit as follows:

diff --git a/youtube_dl/extractor/go.py b/youtube_dl/extractor/go.py
index 03cfba9..7fd0664 100644
--- a/youtube_dl/extractor/go.py
+++ b/youtube_dl/extractor/go.py
@@ -138,7 +138,8 @@ class GoIE(AdobePassIE):
                     # from http://freeform.go.com/shows/shadowhunters/episodes/season-2/1-this-guilty-blood
                     r'data-video-id=["\']*(VDKA\w+)',
                     # https://abc.com/shows/the-rookie/episode-guide/season-02/03-the-bet
-                    r'\b(?:video)?id["\']\s*:\s*["\'](VDKA\w+)'
+                    r'\bvideoIdCode["\']\s*:\s*["\'](vdka\w+)'
+                    # r'\b(?:video)?id["\']\s*:\s*["\'](VDKA\w+)'
                 ), webpage, 'video id', default=video_id)
             if not site_info:
                 brand = self._search_regex(

I should mention that I haven't tested extensively, I actually just downloaded one episode of one show from abc.com, so it's possible that this is only a partial fix. Anyway good luck.

This is still an issue with the current release 2020.09.20. I tried this fix with the source code and I was able to download an episode with it no problem

TheQuiz03 commented 3 years ago

This still seems to be an issue in 2020.12.02

[debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['https://abc.com/shows/the-disney-holiday-singalong/episode-guide/season-01/01-the-disney-holiday-singalong', '--verbose'] [debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252 [debug] youtube-dl version 2020.12.02 [debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041 [debug] exe versions: ffmpeg N-89409-g4678339e74, ffprobe N-89409-g4678339e74 [debug] Proxy map: {} [Go] 01-the-disney-holiday-singalong: Downloading webpage [Go] VDKA4974899: Downloading JSON metadata [debug] Using fake IP 6.114.109.177 (US) as X-Forwarded-For. [Go] VDKA4974899: Downloading JSON metadata ERROR: Go said: 1025:Unable to retrieve required files for playback. Please try again in a few minutes. Traceback (most recent call last): File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkw2f2_ip\build\youtube_dl\YoutubeDL.py", line 803, in wrapper File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkw2f2_ip\build\youtube_dl\YoutubeDL.py", line 824, in __extract_info File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkw2f2_ip\build\youtube_dl\extractor\common.py", line 532, in extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpkw2f2_ip\build\youtube_dl\extractor\go.py", line 205, in _real_extract youtube_dl.utils.ExtractorError: Go said: 1025:Unable to retrieve required files for playback. Please try again in a few minutes.

cyberbrix commented 3 years ago

Same issue here. I succeeded with YTDLC. Apparently there is a pull request which fixes this, but hasn't been done here.

mlb-fan commented 3 years ago

I forked the master branch from commit 52c50a1. You should be able to just check out that commit from an up to date copy of the repository (git checkout 52c50a10af5de16165621f8929b64dc7267742761) and have my starting point. My local copy differs from that commit as follows:

diff --git a/youtube_dl/extractor/go.py b/youtube_dl/extractor/go.py
index 03cfba9..7fd0664 100644
--- a/youtube_dl/extractor/go.py
+++ b/youtube_dl/extractor/go.py
@@ -138,7 +138,8 @@ class GoIE(AdobePassIE):
                     # from http://freeform.go.com/shows/shadowhunters/episodes/season-2/1-this-guilty-blood
                     r'data-video-id=["\']*(VDKA\w+)',
                     # https://abc.com/shows/the-rookie/episode-guide/season-02/03-the-bet
-                    r'\b(?:video)?id["\']\s*:\s*["\'](VDKA\w+)'
+                    r'\bvideoIdCode["\']\s*:\s*["\'](vdka\w+)'
+                    # r'\b(?:video)?id["\']\s*:\s*["\'](VDKA\w+)'
                 ), webpage, 'video id', default=video_id)
             if not site_info:
                 brand = self._search_regex(

@tony-izzo Sorry but could you share the actual commands you used to accomplish this? I don't know much about using github from command line, I tried to do what you said but it's failing at the checkout part I must not be doing something right.

mlb-fan commented 3 years ago

Just to make sure we're on the same page, go ahead and download go.py from this link and let me know if it does indeed fix this issue.

@tmthywynn8 the link is down, could you rehost your working go.py file somewhere?

I really need to get this fix applied to my local files somehow; ABC downloads are specifically why I have this program.