LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   MLB.TV in Linux (https://www.linuxquestions.org/questions/linux-software-2/mlb-tv-in-linux-432479/)

Theophile 04-08-2008 02:22 PM

What's the benefit to recording games if you can watch them archived?

daftcat 04-08-2008 02:30 PM

Quote:

Originally Posted by daftcat (Post 3114906)
I'm thinking more about this, and recording a game is really only useful if I can schedule the task. Otherwise, I'd have to be right there when the game starts. Does python have an ability to schedule tasks?

I know all too well about feature creep so don't interpret my questions about recording as feature requests. I'll do the hack and provide a patch if others request it.

That said, can you tell me if the schedule you retrieve has all the day's games including the ones that aren't available yet? It looks like you do some trimming on the schedule. I can probably figure out task scheduling even if it's a dirty sleep hack. But to make this useful, I'd like to see all games in the current day so I can tell it to schedule live games in the future for recording. Can you tell me which lines in trimTvList are removing future games that aren't available yet?

Thanks!
Matthew

PS I did a quick test and it looks like I was able to connect to a live game but I'm doing this from work so I can't actually verify anything other than the A/V number
crunching status line. But hey, if it gets that
far, it's not your problem, right? (I really should be working.)

jkr 04-08-2008 02:42 PM

The trimTVList() method actually has all the games. The part that only shows available games is in getListings: the part that limits by 'status' code.

(Edit: to be more clear, just take out the conditional part at the end of the list comprehension in getListings().)

Note that this particular line is something I'm changing a bit in the next version (to allow for a manual blackout list on the user's part). So if you hack here, you might have to do it in a slightly different way the next go 'round.

daftcat 04-08-2008 02:43 PM

Quote:

Originally Posted by Theophile (Post 3114920)
What's the benefit to recording games if you can watch them archived?

Part of it is just to see if I can do it, but it would also be nice to eliminate any network delays as well as being able to pause for bathroom breaks or fast forward past the inning breaks. Of course, it doesn't have to stop there. I wouldn't mind loading a game to my pda or my laptop for travel. Last weekend, I stayed at a hotel that had really poor wifi in the rooms (only worked in magic spots at magic times and was much too slow to watch anything.) It was good for getting me out of the room but sometimes putting a game on helps me relax and go to sleep. Especially if I've been dancing til 5 in the morning like I was this weekend. Airports would be another great place to have a recorded game instead of paying $10 in access fees. I could also record the audio to either my pda or my ipod to run through the car stereo for long road trips (as I have one of those coming up later this year.)

But in general, the archive feature is superb. I rarely get to watch a game live so it's the huge reason I subscribe in the first place.

By the way, jkr, I love that you don't report the scores or highlights on archived games like the mlb website does. It's like telling me how a book ends before I've even opened it. Great work.

Theophile 04-08-2008 02:43 PM

I've got an idea...

My grandfather hates TV announcers. He always mutes the TV and turns on the radio and watches the game while listening to the radio feed.

mplayer has an option to watch a video and specify another source for the audio. Assuming the audio and video feeds from mlb.com have the same size buffer, it should conceivably be possible to get mplayer to use one of the radio feeds for audio to go with the video. That would be a sweet feature.

Especially when your team is on the road and the video feed is the home team's feed. When the Sox play at Yankee Stadium, I'd much rather listen to WEEI than Michael Kay.

daftcat 04-08-2008 02:48 PM

Quote:

Originally Posted by jkr (Post 3114948)
The trimTVList() method actually has all the games. The part that only shows available games is in getListings: the part that limits by 'status' code.

(Edit: to be more clear, just take out the conditional part at the end of the list comprehension in getListings().)

Note that this particular line is something I'm changing a bit in the next version (to allow for a manual blackout list on the user's part). So if you hack here, you might have to do it in a slightly different way the next go 'round.

I've heard of users using proxy servers to get around local blackouts. Since my favorite teams aren't local, I only have to worry about those a few times a year. But if I figure that out, I'll let you know if mlbviewer needs to be modified in any way to support proxies.

I'm actually enjoying hacking up your script because I'm learning python on the fly.

dmandell 04-08-2008 03:40 PM

Quote:

Originally Posted by daftcat (Post 3114906)
I'm thinking more about this, and recording a game is really only useful if I can schedule the task. Otherwise, I'd have to be right there when the game starts. Does python have an ability to schedule tasks?

Cron would work well for you, wouldn't it?

daftcat 04-08-2008 04:02 PM

Quote:

Originally Posted by dmandell (Post 3115004)
Cron would work well for you, wouldn't it?

Short answer: no.

Cron is a pain in the butt and mlbviewer already has the schedule. Cron doesn't. I'd have to get the schedule from mlb.com or mlbviewer and then set up the cron job and hope I didn't make a mistake. Cron syntax isn't very friendly.

I'm thinking the easiest way to do it is get the difference in seconds between the current time and the game time and then sleep for that number of seconds before executing the code that gets the url and sends it to the player app. I could probably have that working later tonight. I've already taken out the code that trims off future games so a few lines is probably all I'll need to convert a <Enter> from play/record now to record in the future.

daftcat 04-08-2008 05:52 PM

Quote:

Originally Posted by jkr (Post 3114948)
The trimTVList() method actually has all the games. The part that only shows available games is in getListings: the part that limits by 'status' code.

(Edit: to be more clear, just take out the conditional part at the end of the list comprehension in getListings().)

Note that this particular line is something I'm changing a bit in the next version (to allow for a manual blackout list on the user's part). So if you hack here, you might have to do it in a slightly different way the next go 'round.

What are the available status letters and what do they mean?

Probably the first go round, I'll just record whatever is selected and sleep the difference if the game is in the future. But it would be nice to leave off the "soon" status games between the finish of a live and when it becomes available for archive.

Thanks!

jkr 04-08-2008 06:10 PM

It's all empirical thus far, but it seems like "I" and "W" both refer to live streaming games. I guessed I is "in progress" and W is "waiting" or something, but it could be completely different. "F" seems to be "finished", and therefore archived. "GO", which are the ones it sounds like you want to avoid, are "game over," but not yet archived. I think those are the ones with the "soon" mark.

Be aware though, these are all educated guesses that seem to work. I'm sure you could get to the bottom with more certainty if you just download a few JSP schedules (the formula for getting the url is in the code, or in a previous post of my mine) at various points throughout the evening, and see what codes they give to the games in the different time zones.

My various testings seemed to have started some streams downloading simultaneously, so now they seem to think that I'm trading my password and have shut off my access to live games. I'm trying to get them to reset my password or whatever it is they do, but they're impossible to get through to. So watch out for that. In the next version which uses the select module for input, there will be better controls against that. (Also, this probably means that the clever idea of downloading a different audio stream is a non-starter. Too bad.)

Wolfvorkian 04-08-2008 07:17 PM

Quote:

Originally Posted by jkr (Post 3115137)
It's all empirical thus far, but it seems like "I" and
My various testings seemed to have started some streams downloading simultaneously, so now they seem to think that I'm trading my password and have shut off my access to live games. I'm trying to get them to reset my password or whatever it is they do, but they're impossible to get through to. So watch out for that. In the next version which uses the select module for input, there will be better controls against that. (Also, this probably means that the clever idea of downloading a different audio stream is a non-starter. Too bad.)

I think it was last year I had this problem and they claimed there was no way to over ride the computer setting and you were simply out-of-luck for 3 hours. 3 hours turned into the next day but the hassle of getting through made it not worth calling back and complaining.

Your work is really appreciated but the script doesn't work for me. I wonder if somehow it has something to do with my login being a radio only? I can still watch archived TV games with the Firebug hack but I can't get the archived games using the browserless program you created. This browserless approach should get you nominated for an award of some sort. This having to run the gauntlet of Madison Ave goons on that gaudy web page is irritating.

daftcat 04-08-2008 08:03 PM

Quote:

Originally Posted by Wolfvorkian (Post 3115182)
I think it was last year I had this problem and they claimed there was no way to over ride the computer setting and you were simply out-of-luck for 3 hours. 3 hours turned into the next day but the hassle of getting through made it not worth calling back and complaining.

Your work is really appreciated but the script doesn't work for me. I wonder if somehow it has something to do with my login being a radio only? I can still watch archived TV games with the Firebug hack but I can't get the archived games using the browserless program you created. This browserless approach should get you nominated for an award of some sort. This having to run the gauntlet of Madison Ave goons on that gaudy web page is irritating.

Seeing as the script is still quite alpha, it would surprise me if it worked for everyone every time. But a lot of us have gone through various problems to get it working. If you'd like to get it working for you, can you tell us how it is not working? What error messages are you getting?

Wolfvorkian 04-08-2008 08:03 PM

Quote:

Originally Posted by daftcat (Post 3114859)
According to this thread, http://www.musicpd.org/forum/index.p...c=1348.msg5819

<snip>
As I'd rather blow my bandwidth on the audio and video even if I'm not always watching the video, I'd rather figure out now to download the games and watch them locally. I'm sure mplayer has some kind of filesystem output plugin. I just haven't tried really hard to find out about it. If it's not too difficult, I might trade the curses for a web interface so I can select games to "record" from work so they'll be ready for me when I get home.

Of course, this is probably mlb.com's worst fear of supporting Linux. ;-) At least I'm not a torrent user.

I was able to capture them to the hard drive using VLC this spring. The technique I was taught was to use the 'wizard'. If you are able to use VLC and can't figure it out, give me a shout and I'll be glad to help.

It is a hassle due to the disconnects, etc. Why MLB would care is beyond me.Doing this will cost them nothing; those that might have a reason to have their own private game copy wouldn't bother if they had to buy them.

Wolfvorkian 04-08-2008 08:11 PM

Quote:

Originally Posted by daftcat (Post 3115215)
Seeing as the script is still quite alpha, it would surprise me if it worked for everyone every time. But a lot of us have gone through various problems to get it working. If you'd like to get it working for you, can you tell us how it is not working? What error messages are you getting?

Thank you. Very nice of you offer. Below are the error messages I get after I select a game and hit enter and a bunch of lines have flown by. Everything then comes to an abrupt halt and it goes back to the prompt again. I appreciate the help.


File "/usr/lib/python2.5/site-packages/ClientForm.py", line 698, in do_input
raise ParseError("start of INPUT before start of FORM")
ClientForm.ParseError: start of INPUT before start of FORM

ilikerobots 04-08-2008 09:10 PM

Quote:

Originally Posted by jkr (Post 3114889)
Is anyone else having a problem with a concurrent connection error on live games? I can't tell if it's their fault, the script's fault, or if they just don't like me all of a sudden.

Just got this myself, and I think it may be the cause of that AttributeError: 'NoneType' object has no attribute 'groups'" error.

After quitting mlbviewer.py after successfully seeing video, I started to get that above message. Logging into the lb web site and trying to listen, I'mm now given the message "Records show that your account is currently logged in on multiple computers. Customers are not permitted concurrent use of a single subscription."


All times are GMT -5. The time now is 02:05 AM.