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.
I have had the same issue all spring. I have two computers, one with Fedora, one with Ubuntu which I had running ok last year with mlbviewer. I only have gameday audio and on both machines see the same error. I've deleted the cookies multiple times. In looking at my logging, it appears (and this is somewhat a guess) as if mlb believes I'm trying to access video and kicks me out because I don't have an user/password for this. I see what I believe is a successful login, then a message "We are sorry, but you've reached this page in error". Could MLB be using a different method to validate user/passwords this year?
I've wondered if it has something to do with the order of logging in. This changed before this year but remember you used to log in after you chose your game and feed on the website. Now you are supposed to log in first and then go to mlbtv and/or gameday audio. I think if you choose a game before you've logged in you're given a login button now instead of the login form. I'm not sure what order mlbviewer does things in but I wondered if it's something in the order since I'm not getting a session key and I get no cookies on these failures either since I don't get logged in. But your theory is intriguing since I always have problems with my gameday audio only account and so far have never had a problem with my premium account even when just accessing gameday audio with it.
Try mlbgame.py instead. I don't think I've maintained mlbgamedl.py since sometime last season. mlbgamedl.py is really only encouraged if you are having problems playing the stream at all (which hasn't been a problem since ffmpeg team fixed a couple bugs for us a couple of years ago.)
But...if the stream is connecting, playing, and then closing/timing out, there's probably very little I can do for that. Mlbviewer is about 99% connecting you to the stream but has very little to do with the stream itself. Even here in the states, I was having trouble keeping streams live this weekend. My guess is that their network or their servers are having problems (or undergoing ill-planned upgrades.)
This year has been far worse for dropouts - I am verging on cancelling my subscription.
Here is a diff which corrects the program errors to the version in svn:
Just thought I'd let everybody know what happened when I decided to upgrade my gameday audio subscription to premium tv. I already had one premium subscription which worked fine both on the web and with mlbviewer both for audio and tv. The gameday audio subscription, however, hadn't worked correctly all this season and had given me the "ftmu" error. The gameday audio subscription had worked properly on the web/mlb site. As soon as I payed for a premium subscription,, I tried using it for mlbviewer access. It immediately worked for both audio and tv access even though as a gameday audio subscription it hadn't worked even once for me this season. Of course it could mean that my previous ifnfo and settings were cleared so that it now works but I thought maybe knowing this might help with finding the problem for gameday audio users who are experiencing it.
I only have a gameday audio subscription and am also getting the ftmu error. Trying to debug this, I took a wireshark dump of logging in and launching the flash player from the mlb website. It looks like gameday audio is using different soap requests than what mlbtv.py has, probably the soap requests used by mlbtv.py only work for full subscribers.
I am looking at the function soapurl at line 1260 in mlbtv.py. I don't know the suds api that well and the suds api documentation website is down so I can't (easily) find the docs. But I am gathering this from MediaService.wsdl
soapurl() first uses soap with event-id and subject to MediaService2_0, and parses the returned soap object for ftmu.
soapurl() then uses soap again with session-key set to ftmu, parses the return soap object for the media rtmp url.
Here is what I found using wireshark
POST to /pubajaxws/services/IdentityPointService with soap body with the fprt as a cookie
response soap contains identity-point and figerprint
GET to /pubajaxws/bamrest/MediaService2_0/op-findUserVerifiedEvent/v-2.3?identityPointId=#######&fingerprint=#######&eventId=14-287361-2011-05-05&contentId=14386761&playbackScenario=AUDIO_FMS_32K&subject=LIVE_EVENT_COVERAGE&platform=WEB_MEDIAP LAYER&_=1304637443309
response from the GET is xml which contains the rmpt stream URL.
Notice the main difference. mlbtv.py is doing two soap requests to get the rtmp url, while my wireshark dump shows only one soap request (to a different service) plus a GET request which returns some xml which contains the rtmp url.
Looking closer, I guess the soap request to IdentityPointService might not be needed since it seems the workflow is picking up ipid and fprt, which are used on the GET url. So I am tentatively using the following code instead of soapurl, still need to test it out. If it works, it would be great since we wouldn't need soap at all.
The only thing I don't know about is the value for &_= in the request. In my wireshark dump it was 1304637443309, but who knows where that is coming from.
Code:
def audiourl(self):
# return of workflow is useless for here, but it still calls all the
# necessary steps to login and get cookies
if self.stream is None:
self.error_str = "No event-id to locate media streams."
raise
# (re-)initialize some variables to make retries possible
self.content_id = None
self.play_path = None
self.sub_path = None
self.app = None
# call the workhorse
self.workflow()
media_url = "http://mlb.mlb.com/pubajaxws/bamrest/MediaService2_0/op-findUserVerifiedEvent/v-2.3?"
media_url += "identityPointId=" + self.cookies['ipid'])
media_url += "&fingerprint=" + urllib.unquote(self.cookies['fprt'])
media_url += "&eventID=" + self.event_id
media_url += "&contentID=" + self.content_id
media_url += "&playbackScenario=AUDIO_FMS_32K"
media_url += "&subject=LIVE_EVENT_COVERAGE"
media_url += "&playform=WEB_MEDIAPLAYER"
#media_url += "&_=1304637443309"
referer_str = "http://mlb.mlb.com/mlb/gameday/index.jsp?"
referer_str += "gid=" + self.gameid
referer_str += "&mode=audio"
referer_str += "&feed_code=a"
txheaders = {'User-agent' : USERAGENT,
'Referer' : referer_str }
req = urllib2.Request(url=media_url,headers=txheaders,data=None)
try:
handle = urllib2.urlopen(req)
except Exception,detail:
self.error_str = 'Error occured in HTTP request for audio page:' + str(detail)
raise Exception, self.error_str
media_data = handle.read()
if self.debug:
self.log.write("DEBUG>>> writing audio page")
self.log.write(media_data)
# parse media_data for rtmp path
I only have a gameday audio subscription and am also getting the ftmu error. Trying to debug this, I took a wireshark dump of logging in and launching the flash player from the mlb website. It looks like gameday audio is using different soap requests than what mlbtv.py has, probably the soap requests used by mlbtv.py only work for full subscribers.
I am looking at the function soapurl at line 1260 in mlbtv.py. I don't know the suds api that well and the suds api documentation website is down so I can't (easily) find the docs. But I am gathering this from MediaService.wsdl
soapurl() first uses soap with event-id and subject to MediaService2_0, and parses the returned soap object for ftmu.
soapurl() then uses soap again with session-key set to ftmu, parses the return soap object for the media rtmp url.
Here is what I found using wireshark
POST to /pubajaxws/services/IdentityPointService with soap body with the fprt as a cookie
response soap contains identity-point and figerprint
GET to /pubajaxws/bamrest/MediaService2_0/op-findUserVerifiedEvent/v-2.3?identityPointId=#######&fingerprint=#######&eventId=14-287361-2011-05-05&contentId=14386761&playbackScenario=AUDIO_FMS_32K&subject=LIVE_EVENT_COVERAGE&platform=WEB_MEDIAP LAYER&_=1304637443309
response from the GET is xml which contains the rmpt stream URL.
Notice the main difference. mlbtv.py is doing two soap requests to get the rtmp url, while my wireshark dump shows only one soap request (to a different service) plus a GET request which returns some xml which contains the rtmp url.
Aha! You're using the mlbviewer trunk release which hasn't been maintained in a long time. The fix you propose has been in the nexdef2010 branch since middle of last season.
Please delete your mlbviewer directory and download the nexdef2010 branch with:
I'll be replacing mlbviewer trunk with nexdef2010 soon. I've been tinkering with a rewrite which will become nexdef2011 branch. This might not happen for a few more weeks though.
Just thought I'd let everybody know what happened when I decided to upgrade my gameday audio subscription to premium tv. I already had one premium subscription which worked fine both on the web and with mlbviewer both for audio and tv. The gameday audio subscription, however, hadn't worked correctly all this season and had given me the "ftmu" error. The gameday audio subscription had worked properly on the web/mlb site. As soon as I payed for a premium subscription,, I tried using it for mlbviewer access. It immediately worked for both audio and tv access even though as a gameday audio subscription it hadn't worked even once for me this season. Of course it could mean that my previous ifnfo and settings were cleared so that it now works but I thought maybe knowing this might help with finding the problem for gameday audio users who are experiencing it.
Please verify that you are using the nexdef2010 branch and not the mlbviewer trunk. Easy way to verify this:
Code:
$ grep soapurl mlbviewer.py
If that returns anything, you're using mlbviewer trunk. Please see the post above to convert to nexdef2010 branch.
If it says branches/nexdef2010 in the URL, you are using nexdef2010 branch. If it says mlbviewer/trunk, you are using the unsupported trunk release. Yeah, I know. That's kind of screwed up to not maintain the trunk release. I was waiting until 2011 stabilized before merging back to trunk.
Please verify that you are using the nexdef2010 branch and not the mlbviewer trunk. Easy way to verify this:
Code:
$ grep soapurl mlbviewer.py
If that returns anything, you're using mlbviewer trunk. Please see the post above to convert to nexdef2010 branch.
Another way to show which you are using:
If it says branches/nexdef2010 in the URL, you are using nexdef2010 branch. If it says mlbviewer/trunk, you are using the unsupported trunk release. Yeah, I know. That's kind of screwed up to not maintain the trunk release. I was waiting until 2011 stabilized before merging back to trunk.
aI am most definitely using the nexdef branch on all of my computers. First, I saw a post about this before I even started trying to use mlbviewer this year and so I carefully removed all traces of mlbviewer and made sure I had the nexdef branch. Just now, I both grepped and did the svn info plus again checking my systems to make sure no other mlbiewer.py was present besides the one in my home directory. The bottom line is that, for me, the mlbtv account with its separate email address was working; the gameday audio only account with its separate email address was not working and was consistently getting the ftmu error. Five minutes or less after I upgraded the gameday audio account to a full premium mlbtv account, I was immediately successful in accessing both audio and tv feeds and have continued to be successfull. I don't know if it's as simple as mlbviewer works for tv subscriptions and not for gameday only ones at this point and I don't know if all gameday audio-only mlbviewer users are having the same problem; I only know that upgrading eliminated the problem for me immediately.
Please verify that you are using the nexdef2010 branch and not the mlbviewer trunk. Easy way to verify this:
Code:
$ grep soapurl mlbviewer.py
If that returns anything, you're using mlbviewer trunk. Please see the post above to convert to nexdef2010 branch.
Another way to show which you are using:
If it says branches/nexdef2010 in the URL, you are using nexdef2010 branch. If it says mlbviewer/trunk, you are using the unsupported trunk release. Yeah, I know. That's kind of screwed up to not maintain the trunk release. I was waiting until 2011 stabilized before merging back to trunk.
In my case, it looks as if I'm using the correct branch?
Yeah, sorry. I was looking at the wrong branch. What happened is that I used the download tarball (not from SVN) and was getting the ftmu error. So I then checked out the code to see what the problem was but it was the trunk.
Looking at the nextdef branch, I see you replaced the soapurl function with a GET similar to what I found. But there are a few differences:
The nextdef branch is a GET to op-findUserVerifiedEvent/v-2.1 My dump showed a GET to op-findUserVerifiedEvent/v-2.3 Ok they have a newer version.
The nextdef branch gives parameters eventID,sessionKey,figerprint,identityPointId, and subject, with the sessionKey filled from the ftmu cookie which does not exist for me. Even looking in firefox, I see the other cookies (fprt, ipid) but not ftmu.
My dump showed different parameters without the ftmu, no session key needed. Perhaps this is a change between version 2.1 and 2.3
Gahh. I started to test the following patch to the nextdef branch but am now getting the sign on restriction error, which I assume means I tried too many times. The code is requesting properly but not extracting the url from the returned xml.
hi guys, i'm a linux newbie and i cannot install pyxml python package.
I have installed setuptools as recommended but it return this error
Code:
ant@ant-VirtualBox:~/Scaricati$ sudo easy_install pyxml
Searching for pyxml
Reading http://pypi.python.org/simple/pyxml/
Reading http://www.python.org/sigs/xml-sig/
Best match: PyXML 0.8.4
Downloading http://downloads.sourceforge.net/pyxml/PyXML-0.8.4.tar.gz?modtime=1101741917&big_mirror=0
Processing PyXML-0.8.4.tar.gz
Running PyXML-0.8.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZAUild/PyXML-0.8.4/egg-dist-tmp-4aqIcN
warning: no files found matching '*.html' under directory 'extensions/expat'
warning: no files found matching '*Makefile' under directory 'extensions/expat'
warning: no files found matching '*.dsp' under directory 'extensions/expat'
warning: no previously-included files matching '*/CVS/*' found anywhere in distribution
extensions/pyexpat.c:5:20: fatal error: Python.h: File o directory non esistente
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1
ant@ant-VirtualBox:~/Scaricati$
If i try to install package directly this is result:
I had trouble with this in debian and found I had to install python-dev. After that, I ran easy_install (setuptools) and pyxml installed with no problem. Unfortunately I can tell you what the equivalent package to python-dev is on other linux distributions.
Once again, before you update, I will remind you how to revert in case this doesn't work for you.
Code:
$ svn -r293 update
This has a new login method as proposed by another user. It follows the mini-login procedure on MLB.TV website ("Login" link at the top and the small mini-window drop-down.)
Audio-only users: If this doesn't fix things for you, I'll try the other suggested patch above (v2.3 and possibly omitting session-key.)
Gahh. I started to test the following patch to the nextdef branch but am now getting the sign on restriction error, which I assume means I tried too many times. The code is requesting properly but not extracting the url from the returned xml.
I made these edits to mlbviewer.py and also got the URL error:
File "/home/kweisen/nexdef2010/MLBviewer/mlbtv.py", line 1466, in url
raise Exception,self.error_str
Exception: Stream URL not found in reply. Stream may not be available yet.
Definitely a lot closer.
I've also upgraded to svn 275.
I'm not sure if it's relevant, because I did not try this previously, but on my Fedora linux, where I made these edits, I can see the condensed video version of previous games. On my Ubuntu, where I did not make these edits, I get a parser error.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.