tarkah / lazystream

Easily get LazyMan stream links, output directly or to m3u / xmltv formats. Streams can also be recorded or casted.
106 stars 17 forks source link

MLB is not working #71

Closed samseborn closed 2 years ago

samseborn commented 3 years ago

Hello

First of all, I am sorry that my English is not good. All links to MLB are not working at this time. The situation today (March 18) is as shown below.

1

Also, the situation yesterday (March 17) is as shown below. 2

I have added the host file as previously described. So in case of NHL, files for today and yesterday can be recorded.

However, in the case of MLB, nothing is working, so I politely ask you a question.

What else should I do?

Regards.

tarkah commented 3 years ago

Sorry for the late response. This is an upstream issue, nothing specific to this program. I'm not exactly sure what the state of hosting MLB games is, but links haven't appeared to been posted since ~3/16. And then links before then appear to be expired. This can be confirmed as also not working in the LazyMan program.

You may want to post to /r/LazyMan to get an update on the status of MLB.

shaksiwnl commented 3 years ago

Looks like there was an update pushed to fix MLB games on LM. mlb streams not working for me still on lazy stream. Does it need to be updated as well?

tarkah commented 3 years ago

Sorry I've been out on vacation. I'll look into this today.

xcaliber93 commented 3 years ago

I believe it would have something to do with the host files. I remember LM had 3 different host entries that needed to be updated.

rmcfadzean commented 3 years ago

Unsure if this one is on you, @tarkah.

LS just wasn't given out m3u streams for MLB yesterday afternoon. As there was no fix pushed to the repo either (except the one just pushed, of course) I'm guessing it was on LM's server side.

Cool app though, thanks! Working on something similar :)

tarkah commented 3 years ago

Yeah I just tested and MLB streams seem to be working today with lazystream.

I am noticing a weird issue however... when using lazystream play select --sport mlb, I am getting the following error where streamlink doesn't open the game:

Passing game to player...

============================

[cli][info] Found matching plugin hls for URL hlsvariant://https://[redacted].m3u8 name_key=bitrate
[cli][info] Waiting for streams, retrying every 1.0 second(s)

However, if I pass it with the --quality 720p60 flag, it opens right up. This issue doesn't occur when using the record subcommand....

tarkah commented 3 years ago

Ok, I think I know the problem but not exactly sure what the right fix it. I'm using the following streamlink argument when play is used:

--hls-audio-select *

In the m3u8 master file, it has the following audio tracks:

#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",LANGUAGE="en",NAME="English",AUTOSELECT=YES,DEFAULT=YES
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",NAME="English Radio",LANGUAGE="en",AUTOSELECT=NO,URI="eng_48K/48_complete.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",NAME="Radio Española",LANGUAGE="es",AUTOSELECT=YES,URI="spa_48K/48_complete.m3u8"

And adding trace debugging shows the following:

[14:09:04.649868][cli][debug] OS:         Linux-5.10.2-164.current-x86_64-with-glibc2.2.5
[14:09:04.650003][cli][debug] Python:     3.7.9
[14:09:04.650042][cli][debug] Streamlink: 2.0.0
[14:09:04.650090][cli][debug] Requests(2.22.0), Socks(1.7.1), Websocket(0.56.0)
[14:09:04.650203][cli][info] Found matching plugin hls for URL hlsvariant://https://hlslive-akc-ewr1.media.mlb.com/hdnts=exp=1617742231~acl=/*~id=00u7pus1h59oxl64k356~data=d3ee5e8c-2108-4ed4-bede-16d228d6008a~hmac=4bc861d6473fe999aeb6621b0e4c70e9b88b1c5613d617f0c484881730988ec5/a379c668f0ef1bb2cff6c629662ad507/ls01/mlb/2021/04/05/Home_VIDEO_spa_Toronto_Blue_Jays_Texas_R_20210405_1617647759024/master_desktop_complete.m3u8 name_key=bitrate
[14:09:04.650633][plugins.hls][debug] URL=https://hlslive-akc-ewr1.media.mlb.com/hdnts=exp=1617742231~acl=/*~id=00u7pus1h59oxl64k356~data=d3ee5e8c-2108-4ed4-bede-16d228d6008a~hmac=4bc861d6473fe999aeb6621b0e4c70e9b88b1c5613d617f0c484881730988ec5/a379c668f0ef1bb2cff6c629662ad507/ls01/mlb/2021/04/05/Home_VIDEO_spa_Toronto_Blue_Jays_Texas_R_20210405_1617647759024/master_desktop_complete.m3u8; params={'name_key': 'bitrate'}
[14:09:04.683533][utils.l10n][debug] Language code: en_US
[14:09:04.921985][stream.hls][debug] Using external audio tracks for stream 2120k (language=en, name=English Radio), (language=es, name=Radio Española)
[14:09:04.922172][stream.hls][debug] Using external audio tracks for stream 153k (language=en, name=English Radio), (language=es, name=Radio Española)
[14:09:04.922307][stream.hls][debug] Using external audio tracks for stream 620k (language=en, name=English Radio), (language=es, name=Radio Española)
[14:09:04.922427][stream.hls][debug] Using external audio tracks for stream 960k (language=en, name=English Radio), (language=es, name=Radio Española)
[14:09:04.922543][stream.hls][debug] Using external audio tracks for stream 1400k (language=en, name=English Radio), (language=es, name=Radio Española)
[14:09:04.922731][stream.hls][debug] Using external audio tracks for stream 2950k (language=en, name=English Radio), (language=es, name=Radio Española)
[14:09:04.922900][stream.hls][debug] Using external audio tracks for stream 4160k (language=en, name=English Radio), (language=es, name=Radio Española)
[14:09:04.923020][stream.hls][debug] Using external audio tracks for stream 6600k (language=en, name=English Radio), (language=es, name=Radio Española)
[14:09:04.923128][cli][info] Waiting for streams, retrying every 1.0 second(s)

So its trying to also download the English Radio and Radio Española files? I think Streamlink is getting hung up on that, and since I use the --retry-streams 1 option, it just gets hung on a loop.

If I remove the --hls-audio-select * option, everything works fine, but then I'm afraid it won't make all languages available within the player (I know w/ MPV you can change the audio track).

tarkah commented 3 years ago

Relevant issue where I added the --hls-audio-select * flag:

https://github.com/tarkah/lazystream/issues/32

tarkah commented 3 years ago

Although I haven't found a permanent fix for this yet, there is a workaround.

For MLB games, always pass the --quality flag and it'll work. Such as --quality 720p60