Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
$ python /home/onip/mlbviewer/mlbviewer.py
Traceback (most recent call last):
File "/home/onip/mlbviewer/mlbviewer.py", line 1081, in <module>
curses.wrapper(mainloop, mycfg.data)
File "/usr/lib/python2.5/curses/wrapper.py", line 44, in wrapper
return func(stdscr, *args, **kwds)
File "/home/onip/mlbviewer/mlbviewer.py", line 910, in mainloop
u = g.soapurl()
File "/home/onip/mlbviewer/MLBviewer/mlbtv.py", line 1023, in soapurl
return self.nexdef_url(game_url)
File "/home/onip/mlbviewer/MLBviewer/mlbtv.py", line 1050, in nexdef_url
raise Exception,self.error_str
Exception: Could not parse NexDef stream list. Try alternate coverage.
$ python /home/onip/mlbviewer/mlbviewer.py
Traceback (most recent call last):
File "/home/onip/mlbviewer/mlbviewer.py", line 1081, in <module>
curses.wrapper(mainloop, mycfg.data)
File "/usr/lib/python2.5/curses/wrapper.py", line 44, in wrapper
return func(stdscr, *args, **kwds)
File "/home/onip/mlbviewer/mlbviewer.py", line 910, in mainloop
u = g.soapurl()
File "/home/onip/mlbviewer/MLBviewer/mlbtv.py", line 1023, in soapurl
return self.nexdef_url(game_url)
File "/home/onip/mlbviewer/MLBviewer/mlbtv.py", line 1050, in nexdef_url
raise Exception,self.error_str
Exception: Could not parse NexDef stream list. Try alternate coverage.
Did you update mlbviewer like I asked you to? I added some additional code to this error message which I don't see here. Can you please update to the latest revision and try again with debug enabled?
Is MLBviewer supposed to be working "out of the box" yet? Pardon my ignorance, I just want to see what the latest state of play is. I installed the lastest svn last night, then did all the requirements stuff (although both suds and rtmpdump were a bit "on the fly" as I'm still a linux newbie). I managed to get the listings screen up but when I selected an archive game (I know live games still don't work) I got a "URL not found" error. Is this currently expected behaviour? I know MLB.TV are having huge problems with their archive games. I am running Yellow Dog Linux 6.0.
Thanks for all the work on this. You have no idea how much it is appreciated (although you should do ).
Did you update mlbviewer like I asked you to? I added some additional code to this error message which I don't see here. Can you please update to the latest revision and try again with debug enabled?
Is MLBviewer supposed to be working "out of the box" yet? Pardon my ignorance, I just want to see what the latest state of play is. I installed the lastest svn last night, then did all the requirements stuff (although both suds and rtmpdump were a bit "on the fly" as I'm still a linux newbie). I managed to get the listings screen up but when I selected an archive game (I know live games still don't work) I got a "URL not found" error. Is this currently expected behaviour? I know MLB.TV are having huge problems with their archive games. I am running Yellow Dog Linux 6.0.
Actually, live games do work out of the box now. You will need a couple things, though. First, you need a bleeding-edge copy of mplayer. Some instructions on how to do this on Ubuntu can be found here. You'll probably have to adapt them for YDL.
Next, you need autobahn.jar. Download it and run it like this: 'java -jar autobahn.jar'
SVN revision 166: MANDATORY fix to MediaService.xsd
Mlb.com added "duration" to the media-item element of the soap response but they didn't add it to their own schema description. This is why we are using our own copy of their schema description.
Neither mlbviewer/mlbdvr nor the test tools (soapevent/gamedayaudio/nexdef) will work without following these instructions:
Code:
1. Update to revision 166.
2. Copy the MediaService.xsd to $HOME/.mlb/
3. Remove the suds cache directory : rm -r /tmp/suds
As a special bonus, revision 166 has early test code for Highlights. These should work the same as last year. 't' key for "Top Plays" and if there is a top_plays_player in your configuration, it will use that. Otherwise, it will use your video_player (with the small caveat that I'm not supporting %f expansion for highlights yet.)
Someone was nice enough to lend me a non-premium account to do some snooping around and the results aren't good. The non-premium users are not allowed to access the swarmcast network at all so mlbviewer is pretty useless right now.
But on the whole, nexdef is nothing more than a proxy server. Sure it does some fancy stuff to smooth out playback and such but in the end, mplayer is getting an FLV via HTTP.
This is where you come in Theophile (if you want to give it a try).
Have you tried using soapevent.py to dump a game to a web server directory and then point mplayer at an HTTP url where that file is?
If this works, I'd be happy to code up a nexdef dummy that handles rtmpdump and returns a web stream to mlbviewer for mlb.tv basic and gameday audio subscribers. This way I don't have to maintain two separate but nearly identical programs or one giant if / else mess for premium and basic subscribers.
I hope this works! I won't be able to test it myself until much later tonight but you seem to be on here during my daytime.
(I find autosync does help a little in getting the video and audio synced up.)
I'm wondering if mplayer will perform the necessary flow control to keep itself from choking on more stream then it absolutely needs.
The thought here is that if this works, then I can write a dummy web-server that performs the rtmpdump code on the back-end and serves up the media file to mplayer on a web stream. It's a bit klugey but it would be a reasonable mimic of what nexdef does so that a lot fewer lines of mlbviewer would have to change to support mlb.tv basic and gameday audio subscribers.
I swear Sidney Ponson is our Brett Tomko this year. I'm glad to see Banny is back and Hor Ram is out of the rotation. Now we need to bring Hochevar back and send Ponson packing to anywhere but here.
DEBUG>> home coverage = phi away coverage = mil
DEBUG>> checking for audio_follow = ['']
DEBUG>> checking for video_follow = []
2009-04-21 20:30:25.444499
Logged in successfully!
ERROR:suds.bindings.unmarshaller:Schema:0x1f397e8
(raw)
<xs:schema elementFormDefault="qualified" targetNamespace="http://services.bamnetworks.com/media/2.0" attributeFormDefault="unqualified">
<xs:import schemaLocation="MediaService.xsd" namespace="http://services.bamnetworks.com/media/types/2.0"/>
</xs:schema>
(model)
Is this all there was in the log?
First, if you haven't already, upgrade to SVN revision 166, install the new MediaService.xsd, and remove the suds cache. This step is mandatory for everyone because mlb.com changed their schema definition (They also haven't fixed their errors in their schema definition so we're using a modified copy of their definition.)
Code:
$ cp MediaService.xsd ~/.mlb
$ rm -r /tmp/suds
If you've already done this, then I need the full output of the suds error. You can get that with
Code:
$ test/gamedayaudio.py 14-244395-2009-04-21 | tee suds-error.log
Now, gamedayaudio.py doesn't do stream selection and audio follow like mlbdvr.py does. If you're hooked on a particular broadcast team, I suggest using mlbdvr.py once you've got the suds errors worked out.
Gameday audio doesn't use nexdef so mlbviewer is useless for 2009 audio at the moment. I'm looking into different ways to bridge the gap. It's getting really annoying that I can't have all the pieces working in a single solution like last year.
geesh i logged in 2 or 3 times and got the "sign-on restriction error"
Can ANYBODY actually TELL ME what the exact rules are for signing on? or does mlb just decide on a whim if you've been logging in too much? If I knew the exact limit I would know what not to do. It's one thing to get banned when there's no games on, but when there's live games going on... grrr
also, I set the max_bps to 3000000, yet i wasn't getting the top-tier stream like i was before. anyone else notice that?
Thanks for the quick reply daftcat. After following your directions I now get this error when I select a game using mlbdvr.py:
An error occured locating the game stream.
Sign-on Restriction Error.
Here's the very last bit of the output of
$ test/gamedayaudio.py 14-244395-2009-04-21 | tee suds-error.log
no session-key found in reply
Event-id = 14-244395-2009-04-21 and content-id = 4225005
(reply){
entitlements[] =
"",
status-code = "-3500"
}
File "test/gamedayaudio.py", line 262, in <module>
game_url = reply[0][0]['user-verified-content'][0]['user-verified-media-item'][0]['url']
TypeError: string indices must be integers
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.