tonycpsu / streamglob

A console media browser designed to facilitate live and time-shifted viewing of online content.
GNU General Public License v3.0
34 stars 10 forks source link

streamglob stopped working for all mlb games #34

Closed KenJean closed 4 years ago

KenJean commented 4 years ago

Is anyone else having this problem? This just happened two days ago.

For example, if I run: streamglob -v mlb/2019-10-11.stl

I get the following: 2019-10-12 11:06:19 [ session:105 ] [ debug] creating new session: (), {'username': 'changeme', 'password': 'CHANGEME'} 2019-10-12 11:06:19 [ __main__:645 ] [ debug] streamglob starting 2019-10-12 11:06:19 [ selector_events:53 ] [ debug] Using selector: EpollSelector 2019-10-12 11:06:19 [ bam:1865] [ debug] getting schedule: 1, None, 2019-10-11, 2019-10-11, None, None, None 2019-10-12 11:06:19 [ bam:1885] [ debug] http://statsapi.mlb.com/api/v1/schedule?sportId=1&startDate=2019-10-11&endDate=2019-10-11&gameType=&gamePk=&teamId=&hydrate=linescore,team,game(content(summary,media(epg),editorial(preview,recap),highlights(highlights(items)))) 2019-10-12 11:06:19 [ bam:1047] [ debug] geting media for game 599364 2019-10-12 11:06:19 [ bam:1865] [ debug] getting schedule: 1, None, 2019-10-11, 2019-10-11, None, 138, None 2019-10-12 11:06:19 [ bam:1885] [ debug] http://statsapi.mlb.com/api/v1/schedule?sportId=1&startDate=2019-10-11&endDate=2019-10-11&gameType=&gamePk=&teamId=138&hydrate=linescore,team,game(content(summary,media(epg),editorial(preview,recap),highlights(highlights(items)))) 2019-10-12 11:06:19 [ tasks:70 ] [ debug] task_manager starting 2019-10-12 11:06:19 [ player:215 ] [ debug] source: [MLBMediaSource(provider_id='mlb', url=None, media_type='video', game_id=599364, media_id='0b2fd683-7827-4eb2-a840-713f22379b3e', title='', description='', state='archive', call_letters='TBS-INT', language='', feed_type='HOME', free=False, playbacks=[])], player: {'media_types': {'video'}}, helper: streamlink 2019-10-12 11:06:19 [ mlb:677 ] [ debug] getting stream https://edge.svcs.mlb.com/media/0b2fd683-7827-4eb2-a840-713f22379b3e/scenarios/browser~csai 2019-10-12 11:06:19 [ mlb:682 ] [ debug] stream response: {'stream': {'complete': 'https://hlslive-akc-ewr1.media.mlb.com/hdnts=exp=1570979179~acl=/*~id=00u7n69odYkC68akt356~data=0b2fd683-7827-4eb2-a840-713f22379b3e~hmac=19c79954a55a710eacf3267d8a10d77ee15543f61f1116f3636e1dbfd560511e/cb543ada014a5681372c959815b46ad4/ls01/mlb/2019/10/12/Home_VIDEO_spa_Washington_Nationals_St_L_20191012_1570833528047/master_desktop_complete-trimmed.m3u8', 'variants': [], 'renditions': {'audio': [], 'subtitles': []}, 'attributes': {'drms': [], 'encryptionType': 'AES-128', 'audioSegmentTypes': ['PACKED_AUDIO'], 'videoSegmentTypes': ['TS'], 'videoRanges': ['SDR']}}, 'tracking': {'conviva': {'med': 'video', 'state': 'ON', 'productType': 'VOD', 'locationName': 'EWR1_AKAMAI-SECURE', 'cdnName': 'AKAMAI-SECURE', 'pbs': 'browser~csai', 'fguid': 'a3b91639-a304-4914-8a3d-e4d98770d6d9', 'prt': 'mlbtv', 'videoCodecs': 'h.264', 'conid': '0b2fd683-7827-4eb2-a840-713f22379b3e', 'userid': '00u7n69odYkC68akt356', 'encryptionType': 'AES-128', 'assetName': '0b2fd683-7827-4eb2-a840-713f22379b3e', 'plt': 'browser', 'videoSegmentTypes': 'TS', 'videoRanges': 'SDR'}, 'telemetry': {'fguid': 'a3b91639-a304-4914-8a3d-e4d98770d6d9', 'mediaId': '0b2fd683-7827-4eb2-a840-713f22379b3e'}, 'adEngine': {'cdn': 'AKAMAI-SECURE', 'corigin': 'EWR1', 'fguid': 'a3b91639-a304-4914-8a3d-e4d98770d6d9'}}} 2019-10-12 11:06:19 [ player:256 ] [ info] player: mpv: helper=streamlink, playing <StreamlinkHelper: streamlink ['--player-no-close', '--hls-audio-select', '*']> 2019-10-12 11:06:19 [ player:401 ] [ debug] cmd: streamlink --player-no-close --hls-audio-select * --player /usr/bin/mpv --profile=v3560 --no-border --osd-level=0 --no-osc --force-window=yes --force-seekable --hr-seek=yes --hr-seek-framedrop=yes --keep-open=yes --keep-open-pause=no --no-window-dragging --cache=8192 --cache-backbuffer=16384 --demuxer-seekable-cache=yes --image-display-duration=inf --http-header Authorization=eyJraWQiOiJlZmM3OGYxYS1lNDBkLTExZTctODBjMS05YTIxNGNmMDkzYWUiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwMHU3bjY5b2RZa0M2OGFrdDM1NiIsIm5iZiI6MTU3MDg5MDA5MCwicGFydG5lck5hbWUiOiJtbGJ0diIsImlzcyI6InVybjpiYW10ZWNoOnNlcnZpY2U6dG9rZW4iLCJjb250ZXh0Ijp7InZlcnNpb24iOiJWMi4wLjAiLCJpZCI6Ijk1OWUzMjcwLWVjZmItMTFlOS04OTI0LTAyNDJhYzExMDAwYiIsInBhcnRuZXIiOnsibmFtZSI6Im1sYnR2In0sInR5cGUiOiJSRUdJU1RFUkVEIiwiaXBfYWRkcmVzcyI6IjEwMC4xMi4yMjMuMjUyIiwiZGV2aWNlIjp7ImlkIjoiYjJlOTg0YjMtNTA0Yy00NjllLWFhMmQtYmVhNGJmMTE5ZWJmIiwicGxhdGZvcm0iOiJicm93c2VyIiwidHlwZSI6InVybjpkc3M6ZGV2aWNlOmV4dGVybmFsIiwiYXBwX3J1bnRpbWUiOiIiLCJmYW1pbHkiOiIiLCJwcm9maWxlIjoiIn0sImxvY2F0aW9uIjp7InR5cGUiOiJaSVBfQ09ERSIsInppcF9jb2RlIjoiMTAwMjQiLCJjb3VudHJ5X2NvZGUiOiJVUyIsImRtYSI6NTAxLjAsImNpdHlfbmFtZSI6Im5ldyB5b3JrIiwiYXNuIjo3MDEuMCwicmVnaW9uX25hbWUiOiJub3J0aGVhc3QiLCJzdGF0ZV9uYW1lIjoibmV3IHlvcmsifSwiYWNjb3VudCI6eyJ0eXBlIjoidXJuOm1sYnR2OmFjY291bnQiLCJpZCI6IjAwdTduNjlvZFlrQzY4YWt0MzU2IiwiZGF0YSI6e319LCJwcm9maWxlcyI6W10sImFjdGl2ZV9wcm9maWxlX2lkIjoiIiwiZ2VuZXJhdGVkX29uIjoiMjAxOS0xMC0xMlQxNDoyMTozMC4yNjMrMDAwMCIsInVwZGF0ZWRfb24iOiIyMDE5LTEwLTEyVDE0OjIxOjMwLjI2MyswMDAwIiwiZXhwaXJlc19vbiI6IjIwMTktMTAtMTJUMTg6MjE6MzAuMjYzKzAwMDAiLCJtZWRpYV9wZXJtaXNzaW9ucyI6eyJlbnRpdGxlbWVudHMiOlsiTUxCQUxMIl0sInJ1bGVzIjp7InBhc3NlZCI6W119LCJkYXRhIjp7fX0sImJsYWNrb3V0cyI6eyJlbnRpdGxlbWVudHMiOltdLCJydWxlcyI6eyJ2aW9sYXRlZCI6W119LCJkYXRhIjp7fX0sInN1YnNjcmlwdGlvbnMiOlt7ImVudGl0bGVtZW50cyI6WyJNTEJBTEwiXSwiZ3JhbnRDb250ZXh0U291cmNlIjoiYWNjb3VudF9ncmFudCIsImlkIjoiIiwiZXhwaXJlc19vbiI6IiIsInJlbmV3c19vbiI6IiJ9XSwic3VwcG9ydGVkIjp0cnVlfSwiZW52IjoicHJvZCIsImV4cCI6MTU3MDkwNDQ5MCwiaWF0IjoxNTcwODkwMDkwLCJqdGkiOiI2OTNjYWJiOC0zNTlkLTQ5ZDktODAwNC0wYmQxYjE3NzZjN2EifQ.2t9vBaHQqW0jN6_lMpnwEta8sedF8CDhPwhDWa15Uyk --http-cookie __cfduid=d1d1fc253feb83e75f258503fc66a2ca51554351815 --http-cookie DT=DI0m9LiN-3STvSffDcwsLaoiA --http-cookie proximity_b0b300984156eac82cc0629f16b3b118=ek9uQJdySF1hnVG9xVm/xqoKYZOFQuZxWiJbEAlHlJnTOuLohHqnGozix64LTAsH5I8lsQ6vlbNeMwtDvMmTKNNgHbXb/2hqo/2j/LVeqdXnZIuN7c5BtuJ8SRraTWjciUC1zSkLYLJ51esHBpR5LmDFAoUEUT1BI/OKtypFEpS0aPR2ZRIUKGJ9OexT5uu9 --http-cookie sid=102pjv21zb9QdWI0YDbOBfVDg https://hlslive-akc-ewr1.media.mlb.com/hdnts=exp=1570979179~acl=/*~id=00u7n69odYkC68akt356~data=0b2fd683-7827-4eb2-a840-713f22379b3e~hmac=19c79954a55a710eacf3267d8a10d77ee15543f61f1116f3636e1dbfd560511e/cb543ada014a5681372c959815b46ad4/ls01/mlb/2019/10/12/Home_VIDEO_spa_Washington_Nationals_St_L_20191012_1570833528047/master_desktop_complete-trimmed.m3u8 504p and I am dumped back to the command prompt.

Any ideas? Bad ju-ju for playoff time.

⇒ KJ

tonywagner commented 4 years ago

I can't confirm or deny this error right now -- but what happens if you try kmac's mlbv?

https://github.com/kmac/mlbv

KenJean commented 4 years ago

Funny you should bring up mlbv. I had no idea it existed, but found it right after I left my original message. To answer your question: Their most recent issue is also about this. In their case they have narrowed it down to a "forbidden URL" error.

As yet they do not have a solution.

⇒ KJ

kmac commented 4 years ago

mlbv currently has an issue with gettting 403 errors from the akamai CDN https://github.com/kmac/mlbv/issues/40. I haven't had any time this week to look at it. It seems that something changed in that area with the start of either the playoffs. I'm also seeing same thing now with nhlv as well.

edit: streamglob is working for me

KenJean commented 4 years ago

Hmmm … I was afraid of that. This means that I should be able to get streamglob to work. From my end of it, everything was still working fine when the play-offs started, it just stopped working two days ago. Also: I should mention I'm on the i3 spin of Manjaro Linux.

tonywagner commented 4 years ago

FWIW, I used mlbv successfully on Thursday (Astros-Rays game 5), Akamai CDN too (akc). Haven't tried it since.

KenJean commented 4 years ago

Just did this:

streamglob mlb/2019-10-12.nyy

and got this : ` Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/streamglob/providers/mlb.py", line 473, in refresh_access_token self.OKTA_ACCESS_TOKEN = get_okta_token() File "/usr/lib/python3.7/site-packages/streamglob/providers/mlb.py", line 469, in get_okta_token raise SGProviderLoginException streamglob.exceptions.SGProviderLoginException

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 157, in _new_conn (self._dns_host, self.port), self.timeout, **extra_kw File "/usr/lib/python3.7/site-packages/urllib3/util/connection.py", line 84, in create_connection raise err File "/usr/lib/python3.7/site-packages/urllib3/util/connection.py", line 74, in create_connection sock.connect(sa) TimeoutError: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen chunked=chunked, File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 376, in _make_request self._validate_conn(conn) File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 994, in _validate_conn conn.connect() File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 334, in connect conn = self._new_conn() File "/usr/lib/python3.7/site-packages/urllib3/connection.py", line 169, in _new_conn self, "Failed to establish a new connection: %s" % e urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x7f1767f72ed0>: Failed to establish a new connection: [Errno 110] Connection timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/requests/adapters.py", line 449, in send timeout=timeout File "/usr/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopen method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2] File "/usr/lib/python3.7/site-packages/urllib3/util/retry.py", line 436, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='web-secure.mlb.com', port=443): Max retries exceeded with url: /enterworkflow.do?flowId=registration.newsletter&c_id=mlb (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f1767f72ed0>: Failed to establish a new connection: [Errno 110] Connection timed out'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/bin/streamglob", line 11, in load_entry_point('streamglob==0.0.11.dev0', 'console_scripts', 'streamglob')() File "/usr/lib/python3.7/site-packages/streamglob/main.py", line 655, in main run_cli(action, provider, selection, opts) File "/usr/lib/python3.7/site-packages/streamglob/main.py", line 564, in run_cli stdout=sys.stdout, stderr=sys.stderr, kwargs File "/usr/lib/python3.7/site-packages/streamglob/providers/base.py", line 371, in play sources, kwargs = self.play_args(selection, kwargs) File "/usr/lib/python3.7/site-packages/streamglob/providers/bam.py", line 1982, in play_args kwargs["headers"] = self.session.headers File "/usr/lib/python3.7/site-packages/streamglob/providers/mlb.py", line 338, in headers "Authorization": self.access_token File "/usr/lib/python3.7/site-packages/streamglob/providers/mlb.py", line 428, in access_token self.refresh_access_token() File "/usr/lib/python3.7/site-packages/streamglob/providers/mlb.py", line 476, in refresh_access_token self.login() File "/usr/lib/python3.7/site-packages/streamglob/providers/mlb.py", line 305, in login if self.logged_in: File "/usr/lib/python3.7/site-packages/streamglob/providers/mlb.py", line 328, in logged_in content = self.get(logged_in_url).text File "", line 2, in request File "/usr/lib/python3.7/site-packages/pony/orm/core.py", line 528, in new_func result = func(*args, *kwargs) File "/usr/lib/python3.7/site-packages/streamglob/session.py", line 172, in request response = method(url, args, kwargs) File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 546, in get return self.request('GET', url, kwargs) File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 533, in request resp = self.send(prep, send_kwargs) File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 646, in send r = adapter.send(request, **kwargs) File "/usr/lib/python3.7/site-packages/requests/adapters.py", line 516, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='web-secure.mlb.com', port=443): Max retries exceeded with url: /enterworkflow.do?flowId=registration.newsletter&c_id=mlb (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f1767f72ed0>: Failed to establish a new connection: [Errno 110] Connection timed out')) `

tonycpsu commented 4 years ago

Not having any issues here right now. Wondering if this is a regional issue involving different CDNs. I can't watch the games in progress until the blackout window expires, so if this is an issue that only occurs during live streams, I'm not sure how I can debug it.

KenJean commented 4 years ago

Thanks everyone for your attention to this matter. No, I am not watching live streams either. These problems are all from trying to watch archived games. In fact, this applies to ANY archived game. I cannot even watch any game from, say, April.

Mind you, I now realise that the most recent problem today may stem from the fact that I installed mlbv over my streamglob installation and may have borked streamglob. Still, I have other computers where I have pristine streamglob running and I still cannot get proper results.

To amend what I posted above, when I run streamglob -t mlb/2019-10-12.nyy (to watch last night's game)

I get one line back: 2019-10-13 12:10:02 [ player:256 ] [ info] player: mpv: helper=streamlink, playing <StreamlinkHelper: streamlink ['--player-no-close', '--hls-audio-select', '*']> and then it dumps me back to the command prompt.

tonycpsu commented 4 years ago

Try running with -v and it should show more detail (make sure to remove any username/password from any output if you choose to paste it here.)

KenJean commented 4 years ago

Here we go: ` 2019-10-13 12:21:03 [ session:105 ] [ debug] creating new session: (), {'username': 'changeme', 'password': 'CHANGEME'} 2019-10-13 12:21:03 [ main:645 ] [ debug] streamglob starting 2019-10-13 12:21:03 [ selector_events:53 ] [ debug] Using selector: EpollSelector 2019-10-13 12:21:03 [ bam:1865] [ debug] getting schedule: 1, None, 2019-10-12, 2019-10-12, None, None, None 2019-10-13 12:21:03 [ bam:1885] [ debug] http://statsapi.mlb.com/api/v1/schedule?sportId=1&startDate=2019-10-12&endDate=2019-10-12&gameType=&gamePk=&teamId=&hydrate=linescore,team,game(content(summary,media(epg),editorial(preview,recap),highlights(highlights(items)))) 2019-10-13 12:21:03 [ bam:1047] [ debug] geting media for game 599357 2019-10-13 12:21:03 [ bam:1047] [ debug] geting media for game 599365 2019-10-13 12:21:03 [ bam:1865] [ debug] getting schedule: 1, None, 2019-10-12, 2019-10-12, None, 147, None 2019-10-13 12:21:03 [ bam:1885] [ debug] http://statsapi.mlb.com/api/v1/schedule?sportId=1&startDate=2019-10-12&endDate=2019-10-12&gameType=&gamePk=&teamId=147&hydrate=linescore,team,game(content(summary,media(epg),editorial(preview,recap),highlights(highlights(items)))) 2019-10-13 12:21:03 [ tasks:70 ] [ debug] task_manager starting 2019-10-13 12:21:03 [ player:215 ] [ debug] source: [MLBMediaSource(provider_id='mlb', url=None, media_type='video', game_id=599357, media_id='0caefecf-bac1-4286-9e38-c3f5e137ba9c', title='', description='', state='archive', call_letters='FOX-INT', language='', feed_type='HOME', free=False, playbacks=[])], player: {'media_types': {'video'}}, helper: streamlink 2019-10-13 12:21:03 [ mlb:677 ] [ debug] getting stream https://edge.svcs.mlb.com/media/0caefecf-bac1-4286-9e38-c3f5e137ba9c/scenarios/browser~csai 2019-10-13 12:21:04 [ mlb:682 ] [ debug] stream response: {'stream': {'complete': 'https://hlslive-akc-ewr1.media.mlb.com/hdnts=exp=1571070064~acl=/*~id=00u7n69odYkC68akt356~data=0caefecf-bac1-4286-9e38-c3f5e137ba9c~hmac=92e4e7a5d28f1f8b6d678df6ef3ed7f66a6ace72777d9e15c2e0b8ed4c7e803e/c4f3d93d7ebdf8574b258dc29b93cfac/ls01/mlb/2019/10/13/Home_VIDEO_spa_New_York_Yankees_Houston__20191013_1570915751394/master_desktop_complete-trimmed.m3u8', 'variants': [], 'renditions': {'audio': [], 'subtitles': []}, 'attributes': {'drms': [], 'encryptionType': 'AES-128', 'audioSegmentTypes': ['PACKED_AUDIO'], 'videoSegmentTypes': ['TS'], 'videoRanges': ['SDR']}}, 'tracking': {'conviva': {'med': 'video', 'state': 'ON', 'productType': 'VOD', 'locationName': 'EWR1_AKAMAI-SECURE', 'cdnName': 'AKAMAI-SECURE', 'pbs': 'browser~csai', 'fguid': 'caf4af57-b5dd-482b-a885-1e67ab1d0d79', 'prt': 'mlbtv', 'videoCodecs': 'h.264', 'conid': '0caefecf-bac1-4286-9e38-c3f5e137ba9c', 'userid': '00u69odC68a356', 'encryptionType': 'AES-128', 'assetName': '0caefecf-bac1-4286-9e38-c3f5e137ba9c', 'plt': 'browser', 'videoSegmentTypes': 'TS', 'videoRanges': 'SDR'}, 'telemetry': {'fguid': 'caf4af57-b5dd-482b-a885-1e67ab1d0d79', 'mediaId': '0caefecf-bac1-4286-9e38-c3f5e137ba9c'}, 'adEngine': {'cdn': 'AKAMAI-SECURE', 'corigin': 'EWR1', 'fguid': 'caf4af57-b5dd-482b-a885-1e67ab1d0d79'}}} 2019-10-13 12:21:04 [ player:256 ] [ info] player: mpv: helper=streamlink, playing <StreamlinkHelper: streamlink ['--player-no-close', '--hls-audio-select', '']> 2019-10-13 12:21:04 [ player:401 ] [ debug] cmd: streamlink --player-no-close --hls-audio-select --player /usr/bin/mpv --profile=v3560 --no-border --osd-level=0 --no-osc --force-window=yes --force-seekable --hr-seek=yes --hr-seek-framedrop=yes --keep-open=yes --keep-open-pause=no --no-window-dragging --cache=8192 --cache-backbuffer=16384 --demuxer-seekable-cache=yes --image-display-duration=inf --http-header Authorization=eyJraWQiOiJlZmM3OGYxYS1lNDBkLTExZTctODBjMS05YTIxNGNmMDkzYWUiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwMHU3bjY5b2RZa0M2OGFrdDM1NiIsIm5iZiI6MTU3MDk4MTM4NiwicGFydG5lck5hbWUiOiJtbGJ0diIsImlzcyI6InVybjpiYW10ZWNoOnNlcnZpY2U6dG9rZW4iLCJjb250ZXh0Ijp7InZlcnNpb24iOiJWMi4wLjAiLCJpZCI6IjI2NDJjMDAwLWVkZDAtMTFlOS04ZWU2LTAyNDJhYzExMDAwNiIsInBhcnRuZXIiOnsibmFtZSI6Im1sYnR2In0sInR5cGUiOiJSRUdJU1RFUkVEIiwiaXBfYWRkcmVzcyI6IjEwMC4xMi4yMjMuMjUyIiwiZGV2aWNlIjp7ImlkIjoiMjE4MWZmMDYtOGFhMS00YzJiLTlhN2YtNjgxMmIyYzY0YWI0IiwicGxhdGZvcm0iOiJicm93c2VyIiwidHlwZSI6InVybjpkc3M6ZGV2aWNlOmV4dGVybmFsIiwiYXBwX3J1bnRpbWUiOiIiLCJmYW1pbHkiOiIiLCJwcm9maWxlIjoiIn0sImxvY2F0aW9uIjp7InR5cGUiOiJaSVBfQ09ERSIsInppcF9jb2RlIjoiMTAwMjQiLCJjb3VudHJ5X2NvZGUiOiJVUyIsImRtYSI6NTAxLjAsImNpdHlfbmFtZSI6Im5ldyB5b3JrIiwiYXNuIjo3MDEuMCwicmVnaW9uX25hbWUiOiJub3J0aGVhc3QiLCJzdGF0ZV9uYW1lIjoibmV3IHlvcmsifSwiYWNjb3VudCI6eyJ0eXBlIjoidXJuOm1sYnR2OmFjY291bnQiLCJpZCI6IjAwdTduNjlvZFlrQzY4YWt0MzU2IiwiZGF0YSI6e319LCJwcm9maWxlcyI6W10sImFjdGl2ZV9wcm9maWxlX2lkIjoiIiwiZ2VuZXJhdGVkX29uIjoiMjAxOS0xMC0xM1QxNTo0MzowNi4yNDArMDAwMCIsInVwZGF0ZWRfb24iOiIyMDE5LTEwLTEzVDE1OjQzOjA2LjI0MCswMDAwIiwiZXhwaXJlc19vbiI6IjIwMTktMTAtMTNUMTk6NDM6MDYuMjQwKzAwMDAiLCJtZWRpYV9wZXJtaXNzaW9ucyI6eyJlbnRpdGxlbWVudHMiOlsiTUxCQUxMIl0sInJ1bGVzIjp7InBhc3NlZCI6W119LCJkYXRhIjp7fX0sImJsYWNrb3V0cyI6eyJlbnRpdGxlbWVudHMiOltdLCJydWxlcyI6eyJ2aW9sYXRlZCI6W119LCJkYXRhIjp7fX0sInN1YnNjcmlwdGlvbnMiOlt7ImVudGl0bGVtZW50cyI6WyJNTEJBTEwiXSwiZ3JhbnRDb250ZXh0U291cmNlIjoiYWNjb3VudF9ncmFudCIsImlkIjoiIiwiZXhwaXJlc19vbiI6IiIsInJlbmV3c19vbiI6IiJ9XSwic3VwcG9ydGVkIjp0cnVlfSwiZW52IjoicHJvZCIsImV4cCI6MTU3MDk5NTc4NiwiaWF0IjoxNTcwOTgxMzg2LCJqdGkiOiJhZGNlNGQ5Zi0xYzRlLTQyMzktOTRjNi1lNGI3NmFlOGI0OGUifQ.2KTJeyX7XvyzoXtZZBn9Mpo_E_N9v7U3hY-Jyyphfxg --http-cookie __cfduid=dfdfd522e25517cef553b449c6581e1da1554354349 --http-cookie DT=DI0BQKW3oKzQcuKo12kc6heMQ --http-cookie proximity_b0b300984156eac82cc0629f16b3b118=ek9uQJdySF1hnVG9xVm/xqoKYZOFQuZxWiJbEAlHlJnTOuLohHqnGozix64LTAsHReRfWWsN8H1Rqrce6vhh3WLJ1eusFI6BGoi8KTQWOrgYPHA8vWWtOrjREDNcOBd5G4dwOL8n2ub/l1ZMzAOH08Du2OPfR2PXXyO7J1gwLXvZhCz36QKjMfTPIym7Z6Mm --http-cookie sid=102i0b6gRbwSvabVff0UFrBJA https://hlslive-akc-ewr1.media.mlb.com/hdnts=exp=1571070064~acl=/*~id=00u7n69odYkC68akt356~data=0caefecf-bac1-4286-9e38-c3f5e137ba9c~hmac=92e4e7a5d28f1f8b6d678df6ef3ed7f66a6ace72777d9e15c2e0b8ed4c7e803e/c4f3d93d7ebdf8574b258dc29b93cfac/ls01/mlb/2019/10/13/Home_VIDEO_spa_New_York_Yankees_Houston__20191013_1570915751394/master_desktop_complete-trimmed.m3u8 504p

`

eithrial commented 4 years ago

mlbv and streamglob neither work for me because of this 403 client error. The problem is particular for streamlink. You can still watch game if you run for example "mpv link-to-m3u8 --http-header-fields="Cookie:Authorization=(....)". You can also download games using ffmpeg, youtube-dl etc provided you pass relevant auth code.

KenJean commented 4 years ago

eithrial: You are a Gentleman, a Scholar … and a Saint !!! I just followed your advice from above and am happily watching last night's Yankees-Astro game.

I owe you.

⇒ KJ

tonycpsu commented 4 years ago

Unable to reproduce here, so let me know if this is still an issue, or if it still requires the workaround of copying headers.

KenJean commented 4 years ago

Ah ha, thanks for your response.

Just for the record, they might've done something at the MLB.tv end after the season was over - my guess is that something got changed in the log-in sequence - and everything went back to working again.

Full disclosure: I have since switched to mlbv and it works very well in my present set-up, so I cannot attest to whether this problem has recurred in streamglob.

Many thanks for writing this programme. You're the greatest !!!

⇒ KJ