YoutubeExplode: Could not find signature decipherer definition body again today

This afternoon, we get the issue again, our version is 5.1.2 the exception is: Exception download https://www.youtube.com/watch?v=5bAgZLUIgZ8 at Monday, July 27, 2020 7:45:48 PM YoutubeExplode.Exceptions.TransientFailureException: Could not find signature decipherer definition body. In most cases, this error indicates that YouTube most likely changed something, which broke the library. If this issue persists, please report it on the project’s GitHub page. at YoutubeExplode.ReverseEngineering.Responses.PlayerSource.<GetCipherOperations>d__3.MoveNext() at System.Linq.Buffer1..ctor(IEnumerable1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) at YoutubeExplode.Videos.Streams.StreamsClient.<GetStreamContextFromWatchPageAsync>d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at YoutubeExplode.Videos.Streams.StreamsClient.<GetManifestAsync>d__6.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 14
  • Comments: 25 (6 by maintainers)

Most upvoted comments

           string? TryGetDeciphererFuncBody()
            {
                var funcName = Regex.Match(_root, @"(\w+)=function\(\w+\){(\w+)=\2\.split\(\x22{2}\);.*?return\s+\2\.join\(\x22{2}\)}")
                    .Groups[0]
                    .Value;

                return funcName;

                var escapedFuncName = Regex.Escape(funcName);

                return Regex.Match(_root, $@"(?!h\.){escapedFuncName}=function\(\w+\)\{{(.*?)\}}", RegexOptions.Singleline)
                    .Groups[1]
                    .Value
                    .NullIfWhiteSpace();
            }

instead of https://github.com/Tyrrrz/YoutubeExplode/blob/7a1ce6a8e50e7df513a2dc226e66d691421ef1ca/YoutubeExplode/ReverseEngineering/Responses/PlayerSource.cs#L24 Can anyone try this ?

           string? TryGetDeciphererFuncBody()
            {
                var funcName = Regex.Match(_root, @"(\w+)=function\(\w+\){(\w+)=\2\.split\(\x22{2}\);.*?return\s+\2\.join\(\x22{2}\)}")
                    .Groups[0]
                    .Value;

                return funcName;

                var escapedFuncName = Regex.Escape(funcName);

                return Regex.Match(_root, $@"(?!h\.){escapedFuncName}=function\(\w+\)\{{(.*?)\}}", RegexOptions.Singleline)
                    .Groups[1]
                    .Value
                    .NullIfWhiteSpace();
            }

instead of https://github.com/Tyrrrz/YoutubeExplode/blob/7a1ce6a8e50e7df513a2dc226e66d691421ef1ca/YoutubeExplode/ReverseEngineering/Responses/PlayerSource.cs#L24

Can anyone try this ?

This is working 😃 👍

Definetely working. Thanks 👍👍

broken for me too, doh…

Youtube changed something. The NewPipe Team fixed it some hours ago. The youtube kodi adddon seems not to affected by this change.

same issue for me also. mark !

Another example getting same error: https://www.youtube.com/watch?v=P0lII5xeaWs

youtube-dl has just fixed this issue.

yes same issue for me also.

Same thing is happening here