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.
Thanks for the quick work. "Standard" live games appear to work fine so far. Nexdef games are working for a short time but then failing...the autoban.jar process is emitting errors when I try to watch a live nexdef game. I was playing the start of the Pirates/Cardinals archive from yesterday with nexdef, and it seemed fine (although it was just the rain delay screen since the game was delayed 2.5 or so hours), but playing other archived streams that start with game video also have the same errors.
The error coming from autobahn (this is version 109 coming from our "official" link) is of the form
Code:
Exception in thread "AdaptiveMediaProcessor-921745400" com.swarmcast.rtmp.application.RtmpStreamException: publishTag call to unpublished stream 0|1|base64:{long alphanumeric string}
at com.swarmcast.rtmp.application.BaseRtmpStream.publishTag(BaseRtmpStream.java:265)
at com.mlbam.nexdef.livestreamer.rtmp.RTMPMediaProcessor$3$2.consume(RTMPMediaProcessor.java:332)
at com.mlbam.nexdef.mpeg.pes.PacketizedElementaryStream.consume(PacketizedElementaryStream.java:19)
at com.mlbam.nexdef.mpeg.ts.TransportStream.run(TransportStream.java:99)
at com.mlbam.nexdef.livestreamer.rtmp.RTMPMediaProcessor.run(RTMPMediaProcessor.java:431)
at java.lang.Thread.run(Thread.java:636)
It happens each time you start a live game, and the stream plays for maybe five seconds. Also sometimes rtmpdump says "ERROR: rtmp_connect1 handshake failed" before anything starts. The archived game streams lasts a little bit longer, maybe twenty seconds. I think what is happening is that some of the stream gets downloaded, then something happens that autobahn.jar doesn't like, and it stops downloading, but the player gets the rest of whatever has been downloaded. The archived games presumably can download faster since the whole game is available, so the stream lasts a little longer than live. I don't know, that's just what I think might be happening.
I've updated the documentation and removed the suds requirement and the MediaService.* files and renamed the latest nexdef2010 revision to 0.2alpha01. This is the sourceforge release for 2010. I haven't yet merged the nexdef2010 branch back onto the trunk though. This will be a project for another morning.
If you haven't yet switched to the nexdef2010 branch, please do so.
Code:
$ cd $HOME
$ svn co https://mlbviewer.svn.sourceforge.net/svnroot/mlbviewer/branches/nexdef2010 nexdef2010
$ cd nexdef2010
$ python mlbviewer.py
Once you've checked out the nexdef2010 branch, you can choose to remove your old mlbviewer directory and rename the nexdef2010 directory to mlbviewer if you wish.
From here, any further revisions I make, you can download using the "svn up" command.
I've done a lot of work to strip out a lot of legacy code from prior seasons and remove unnecessary dependencies. This is the easiest to install version of mlbviewer since the project first started. The only python dependencies now are pyxml. The documentation has been updated with the current location for rtmpdump.
Nexdef is flakey. Oh well. I've done my best.
With this latest revision and updating the sourceforge release, I am taking a code break from mlbviewer. I will continue to monitor this forum for bugs and provide fixes as necessary but I'm no longer writing any new features for awhile. It's time to sit back and enjoy the final stretch of the season.
Well, I tried it both ways and get the same result.
Okay, this is better. I can see now that you are using the new code. I think this error is from one of today's "National Blackout" games. Try an archived game from yesterday or wait until the 7:05 ET games.
No joy as yet with the nexdef2010 mlbviewer.py. Game listings are produced. Selecting a game from yesterday’s archive then pressing enter gives this error:
"An error occurred in locating the game stream:
Could not connect to NexDef. Is autobahn.jar running?"
Here is some debugging:
Traceback (most recent call last):
File "/home/elbournb/bin/nexdef2010/mlbviewer.py", line 1499, in <module>
curses.wrapper(mainloop, mycfg.data)
File "/usr/lib/python2.6/curses/wrapper.py", line 44, in wrapper
return func(stdscr, *args, **kwds)
File "/home/elbournb/bin/nexdef2010/mlbviewer.py", line 1193, in mainloop
u = g.url()
File "/home/elbournb/config/hp6715/bin/nexdef2010/MLBviewer/mlbtv.py", line 1330, in url
return self.nexdef_flash_url(self.nexdef_url(game_url))
File "/home/elbournb/config/hp6715/bin/nexdef2010/MLBviewer/mlbtv.py", line 1352, in nexdef_url
raise Exception,self.error_str
Exception: Could not connect to NexDef. Is autobahn.jar running?
No joy as yet with the nexdef2010 mlbviewer.py. Game listings are produced. Selecting a game from yesterday’s archive then pressing enter gives this error:
"An error occurred in locating the game stream:
Could not connect to NexDef. Is autobahn.jar running?"
I bet that autobahn.jar isn't loaded into memory by the time you're running mlbviewer, since it takes a few. I always run autobahn.jar in a separate terminal window without &, then just CTRL+c when I'm done with it.
Also, someone else wanted to know how to use standard def with nexdef mlbviewer, and although it's not in the help, here's the trick: press n in the listings screen to toggle from nexdef to standard, then p to switch data rates. s switches between home and away feeds as well.
I bet that autobahn.jar isn't loaded into memory by the time you're running mlbviewer, since it takes a few. I always run autobahn.jar in a separate terminal window without &, then just CTRL+c when I'm done with it.
Also, someone else wanted to know how to use standard def with nexdef mlbviewer, and although it's not in the help, here's the trick: press n in the listings screen to toggle from nexdef to standard, then p to switch data rates. s switches between home and away feeds as well.
autobahn.jar just exits after 30 seconds which is about the time I need to find a from last weeks listings ... I tried toggling off the nexdef using the n key in the listings and playing works!!! I only have standard subscription so I'll happily go with nexdef=0 in my ./mlb/config
If you're not a premium user, then nexdef wouldn't do anything for you anyway. In fact, you'd probably get a entitlement error which I'm just misinterpreting in the code as a nexdef error.
Besides, this year's nexdef really isn't working too well with rtmpdump. If that mplayer/ffmpeg developer who responded to this thread about a dozen pages back is reading this, I'd like to know how to specify rtmpdump command-line options on the mplayer command line to see if I can use mplayer's libRTMP directly for any better results. Otherwise, I'll just go searching through this thread.
Besides, this year's nexdef really isn't working too well with rtmpdump. If that mplayer/ffmpeg developer who responded to this thread about a dozen pages back is reading this, I'd like to know how to specify rtmpdump command-line options on the mplayer command line to see if I can use mplayer's libRTMP directly for any better results. Otherwise, I'll just go searching through this thread.
It was working just fine until this last change a week ago by MLBAM. When did nexdef start using RTMP...wasn't it just an HTTP stream before?
Besides, this year's nexdef really isn't working too well with rtmpdump. If that mplayer/ffmpeg developer who responded to this thread about a dozen pages back is reading this, I'd like to know how to specify rtmpdump command-line options on the mplayer command line to see if I can use mplayer's libRTMP directly for any better results. Otherwise, I'll just go searching through this thread.
daftcat:
Not sure if this is what your looking for, but there are some command line options here:
It was working just fine until this last change a week ago by MLBAM. When did nexdef start using RTMP...wasn't it just an HTTP stream before?
It was actually always an RTMP stream before, it's just the autobahn.jar used to handle all the RTMP streaming bits and buffering and then proxy an HTTP stream for the client. Now it's cut out the RTMP to HTTP conversion but there's something, either rtmpdump or mplayer, that's seg faulting. It was version 108 of autobahn.jar that did away with the http interface.
Nah, I know how to do the rtmpdump options. That's what we're doing now. Actually, we're streaming rtmpdump to stdout and piping that to mplayer's stdin. One of them is crashing and I can't figure out which.
Mplayer has integrated the rtmpdump code into mplayer source calling it libRTMP. But I can't figure out what flags to give mplayer to pass those same options to libRTMP. I think if I could reduce the command-line to just mplayer, we could probably have a better chance of having the mplayer or libRTMP folks look into who is crashing and why.
It was actually always an RTMP stream before, it's just the autobahn.jar used to handle all the RTMP streaming bits and buffering and then proxy an HTTP stream for the client. Now it's cut out the RTMP to HTTP conversion but there's something, either rtmpdump or mplayer, that's seg faulting. It was version 108 of autobahn.jar that did away with the http interface.
It's rtmpdump. I've been playing around with rtmpdump's verbose output and at some point it keeps getting some information from autobahn that it isn't liking, and after that it can't right itself. Autobahn keeps downloading data (and presumably serving it), but rtmpdump stops consuming it.
I'm seeing messages like this from rtmpdump when it stops consuming:
Code:
DEBUG: RTMP_ReadPacket, m_nChannel: cae6
DEBUG: RTMP_ClientPacket, received: invoke 115 bytes
WARNING: HandleInvoke, Sanity failed. no string method in invoke packet
and also some stuff like
Code:
DEBUG: RTMP_ClientPacket, unknown packet type received: 0x00
on some runs. I wish I knew more about RTMP or could figure out a way to see more specifically what stuff autobahn is sending that rtmpdump doesn't like.
I don't know what option needs to be set in the Linux kernel or in rtmpdump or libgcc, but it would really help if we could get a core dump when rtmpdump seg faults. That way the developers could see what was in memory right before the crash and possibly fix it.
Problem with RTMP is that even with the specification that Adobe released, there is so much crap they can do in ActionScript that the spec wasn't as useful as I thought it would be. As protocols go, it's not a great one.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.