chrippa / livestreamer

Command-line utility that extracts streams from various services and pipes them into a video player of choice. No longer maintained, use streamlink or youtube-dl instead.
http://livestreamer.io/
BSD 2-Clause "Simplified" License
3.88k stars 580 forks source link

Crunchyroll Unable to validate API response: Unable to validate key 'stream'data' #1492

Open Dainina opened 8 years ago

Dainina commented 8 years ago

I've been using livestreamer in conjunction with MPC-HC while watching videos from crunchyroll without any problems but recently found two videos that does not work (everything else seems fine, though i have not done any extensive testing). Episode 9 and 10 (all other episodes including the latest one open fine) of Mob Psycho 100 gave me this error message when i tried opening them:

C:\Users\Dainina>livestreamer http://www.crunchyroll.com/mob-psycho-100/episode- 10-the-heinous-aura-mastermind-716003 best [cli][info] Found matching plugin crunchyroll for URL http://www.crunchyroll.com /mob-psycho-100/episode-10-the-heinous-aura-mastermind-716003 error: Unable to validate API response: Unable to validate key 'stream_data': {u 'hardsub_lang': u'enUS', u'format': u'hls', u'streams': [{u'url': u'http://serve .cxcdn.net/s/v/bln23srrxjo7pup/m/75534ae1a17f300a519974e8fc8bf761/master.m3u8?v= ad81eb1463e91db2a45e4c84915bf1ab&k=cEdSV29CMFVENER6T1JYamFpcHQ5Q3RyU1hRPV97ImEiO iI5MSwsamFKUCxlblVTLjEiLCJjIjoxNDczNzExNDk2LCJkIjoiY3JhbmltZSIsImciOiJaWiIsImgiO iJibG4yM3NycnhqbzdwdXAiLCJsIjo3MjAwLCJwIjoiMSIsInIiOiJjMzBkODIiLCJzIjozNjQ3MTQsI nQiOjE0NzQ3MTQxODYsInYiOjN9', u'expires': u'2016-09-24T14:54:42+00:00', u'qualit y': u'adaptive'}, {u'url': u'http://serve.cxcdn.net/s/v/bln23srrxjo7pup/m/5f035a f57221e328667ff7530d824417/jaJP.m3u8?v=3c2c8b1db58adf8cef935e2d640057b8&k=OGlCb1 lZVVF6V3ByR0FlaTVKNTdORUpFRHU0PV97ImEiOiI5MSwyLGphSlAsZW5VUy4xIiwiYyI6MTQ3MzcwNj E4OCwiZCI6ImNyYW5pbWUiLCJnIjoiWloiLCJoIjoiYmxuMjNzcnJ4am83cHVwIiwibCI6NzIwMCwicC I6IjEiLCJyIjoiYzMwZDgyIiwicyI6MjQ0NDM5LCJ0IjoxNDc0NzE0MTg2LCJ2IjozfQ', u'width': u'640', u'expires': u'2016-09-24T14:54:42+00:00', u'quality': u'low', u'height' : u'360'}, {u'url': u'http://serve.cxcdn.net/s/v/bln23srrxjo7pup/m/eb868a551a979 72c537d0a7ad9dbe29f/jaJP.m3u8?v=add4861babb8f926c3ecc54813f6a894&k=VUkyMW1EZE9CW HdnVzNpUnkzbnBmTVh2bW9ZPV97ImEiOiI5MSwxLGphSlAsZW5VUy4xIiwiYyI6MTQ3MzcwNzI2MCwiZ CI6ImNyYW5pbWUiLCJnIjoiWloiLCJoIjoiYmxuMjNzcnJ4am83cHVwIiwibCI6NzIwMCwicCI6IjEiL CJyIjoiYzMwZDgyIiwicyI6MzIzODYxLCJ0IjoxNDc0NzE0MTg3LCJ2IjozfQ', u'width': u'432' , u'expires': u'2016-09-24T14:54:42+00:00', u'quality': None, u'height': u'240'} , {u'url': u'http://serve.cxcdn.net/s/v/bln23srrxjo7pup/m/0509c47917ee95320fc56b 8d098d030b/jaJP.m3u8?v=0f8b1b55bb3afe2c791febab07b4cb67&k=TTV3R2pXOUxLU2JXRlhibn Z6d3ZudTZWKzFjPV97ImEiOiI5MSwzLGphSlAsZW5VUy4xIiwiYyI6MTQ3MzcwODI5MSwiZCI6ImNyYW 5pbWUiLCJnIjoiWloiLCJoIjoiYmxuMjNzcnJ4am83cHVwIiwibCI6NzIwMCwicCI6IjEiLCJyIjoiYz MwZDgyIiwicyI6NzU4MTAxLCJ0IjoxNDc0NzE0MTg3LCJ2IjozfQ', u'width': u'848', u'expir es': u'2016-09-24T14:54:42+00:00', u'quality': u'mid', u'height': u'480'}, {u'ur l': u'http://serve.cxcdn.net/s/v/bln23srrxjo7pup/m/de4d4e8b100b6a2e4d22259f4b847 72e/jaJP.m3u8?v=5eb85ec389bbf93f2d10c2624bf6da51&k=bU1SNEgzR1h5cWdJREpQM01XUGZBb VlLd3U4PV97ImEiOiI5MSw1LGphSlAsZW5VUy4xIiwiYyI6MTQ3MzcwOTc5OSwiZCI6ImNyYW5pbWUiL CJnIjoiWloiLCJoIjoiYmxuMjNzcnJ4am83cHVwIiwibCI6NzIwMCwicCI6IjEiLCJyIjoiYzMwZDgyI iwicyI6ODgxNTE3LCJ0IjoxNDc0NzE0MTg3LCJ2IjozfQ', u'width': u'1280', u'expires': u '2016-09-24T14:54:42+00:00', u'quality': u'high', u'height': u'720'}, {u'url': u 'http://serve.cxcdn.net/s/v/bln23srrxjo7pup/m/1102ddc25712dac98d5200a6d34bac9c/j aJP.m3u8?v=ad81eb1463e91db2a45e4c84915bf1ab&k=a0tNZGU0U1RPeFpjWVp4Z1FiNUNKSXl1Ul pRPV97ImEiOiI5MSw2LGphSlAsZW5VUy4xIiwiYyI6MTQ3MzcxMTQ5NiwiZCI6ImNyYW5pbWUiLCJnIj oiWloiLCJoIjoiYmxuMjNzcnJ4am83cHVwIiwibCI6NzIwMCwicCI6IjEiLCJyIjoiYzMwZDgyIiwicy I6MjI5NDQxLCJ0IjoxNDc0NzE0MTg3LCJ2IjozfQ', u'width': u'1920', u'expires': u'2016 -09-24T14:54:42+00:00', u'quality': u'ultra', u'height': u'1080'}], u'audio_lang ': u'jaJP'} does not equal None or Unable to validate key 'streams': Unable to v alidate key 'quality': Type of None should be 'basestring' but is 'NoneType'

I'm sorry if this is a common issue or i've missed something very simple. But i thought i'd put it up here either way.

StarWolf3000 commented 8 years ago

I've also ran into this problem, but with all streams on CR. Its definitely the check on the key 'quality' for being text content (and it is text content, according to the API response, except for 240p, where it is actually None), but I have no idea how to solve this.

crunchyroll.py on line 61 is this: "quality": validate.text,

Also it seems that CR switched to hlsvariant://

mjevans commented 8 years ago

This might be related to http://www.crunchyroll.com/forumtopic-965101/crunchyroll-and-funimation-partnership-announcement hopefully I will still be able to use my crunchyroll account with the same freedom of playback choices that I previously enjoyed.

intact commented 8 years ago

Maybe we can always use "adaptive" HLS variant playlist (something like in #1494).

StarWolf3000 commented 8 years ago

Maybe we can always use "adaptive" HLS variant playlist (something like in #1494).

I've tested this, however it outputs interesting quality levels.

For some I get "Available streams: 1080p (best), 240p (worst), 360p, 480p, 720p" and for others "Available streams: 120k (worst), 328k, 864k (best)". 864k translates to 480p, 328k to 360p and 120k to 240p.

mlindner commented 8 years ago

This is an important issue. This prevents playing of many/all newer files on Crunchyroll and effectively disables functionality.

beardypig commented 8 years ago

Hi all, this has been fixed over in the streamlink fork (https://github.com/streamlink/streamlink) where active development continues.