LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This 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


Reply
  Search this Thread
Old 05-13-2009, 02:29 PM   #1786
eveostay
LQ Newbie
 
Registered: Apr 2008
Posts: 12

Rep: Reputation: 0

Quote:
Originally Posted by daftcat View Post
I told you in the REQUIREMENTS file that you would need to rebuild mplayer. We received a fix only a couple of weeks ago. Plus most distributions bundle a very old mplayer which doesn't even support the h264 or aac even without the fix we received. I should probably add to that section in the REQUIREMENTS that it takes more time to figure out your mplayer is too old than it does to rebuild it.
Hmm, I thought you had told me that for audio, I wouldn't need to. But whatever, I'm happy to have something besides the flash player to try.

Quote:
Originally Posted by daftcat View Post
I know, it can be scary to rebuild mplayer but it's actually a lot less painful than I would have thought (and my target machine for mlbviewer is a 750 MHz laptop with 256 MB RAM.) I actually keep mine up-to-date with svn and rebuild it two or three times a week hoping that one of these weeks they'll fix one issue or another we still have with mplayer and the MLB streams (difficulty seeking, "Consumed only x bytes" errors, non-NexDef live streams aren't playable, and probably others.)
Considering how long it takes to compile, and the vast number of warnings it spit out, I was slightly shocked that it worked. Heh. Yeah, video for non-premium would be nice.

I did notice that the flash video player is completely crashing a lot less frequently now -- it still freezes pretty often, but it mostly can detect that it's frozen and restart itself without my having to stop washing the dishes, dry off my hands and fiddle with my netbook.

(Maybe next year I will spring for the MLB Extra Innings on TV
 
Old 05-13-2009, 03:23 PM   #1787
bosox
Member
 
Registered: May 2009
Posts: 53

Rep: Reputation: 15
thanks for getting back to me. this is a learning process for me, so i appreciate the patience!
edit: please read by next post before replying, as i made some progress!

Quote:
Originally Posted by daftcat View Post
Never heard of this limitation. I suspect that you initially ran it as root and now the config file/directory is owned by root? I'm not sure. Make sure your user has ownership and read/write access to ~/.mlb.
i probably did run it as root initially, but i checked and the .mlb directory and all the files in it are owned by the user i am logged in with, not root. i was also root when i installed all the python libraries (and for pretty much the entire install of what was needed to make this work), if that makes a difference. i just don't know what else i need to look for with the wrong permissions, as everything i am seeing is owned by my user.

oddly, i can't run the command with sudo either. i must su to root.

on a side note, should i have to type "python" before each command? i seem to need to...

Quote:
Originally Posted by daftcat View Post
Auth errors happen more than I'd like and I'm re-working that code. Check the ~/.mlb/log for what the login result page looks like. It appears sometimes I get the "Welcome to your MLB.com page" I was getting last year and other times I get the "My MLB.com" profile page which is actually a successful login but I'm not matching on that...yet. My only suggestion, once you've verified your email and pass are correct is to keep trying until you don't get an auth error.
i tried over and over again and i get the same result. i can't seem to log in. here is what it says in the log:
Quote:
WARNING:root:Could not connect to LIRC, retrying: (2, 'No such file or directory')
WARNING:root:Could not connect to LIRC, retrying: (2, 'No such file or directory')
WARNING:root:Could not connect to LIRC, retrying: (2, 'No such file or directory')
WARNING:root:Could not connect to LIRC, retrying: (2, 'No such file or directory')
LIRC not initialized
i am in root now remember, but perhaps this is again related to the problem above. my email/pass are definitely entered correctly, and working on the mlb "official" player.


Quote:
Originally Posted by daftcat View Post
By any chance do you still have autobahn installed from the official MLB.com Mac OS X NexDef installer? If you do, you don't need to run autobahn.jar separately as it is already running as part of the NexDef plugin.
indeed i do. good point there. so for now, i have stopped trying to run that command. since i can't get a game started, it is hard to tell exactly what is going on though.


Quote:
Originally Posted by daftcat View Post
You'll actually get a different error when NexDef isn't working but I think it's actually already running on your system if you installed NexDef through the Flash player this year.

Another option you can try is to use the tools in the test directory. They produce a whole lot of debug output that might help you figure out if things are really as bad as they seem. I would start with nexdef.py.

Run it as:

Code:
$ cd test
$ nexdef.py 14-244678-2009-05-12
did this, and got a huge amount of information. honestly, this part is a bit over my head. i can post it for you if you like, but it is many many lines. what should the result have been from running that command? perhaps what i am seeing is normal.

Quote:
Originally Posted by daftcat View Post
The only problem with nexdef.py is that it defaults to mplayer -dumpstream whereas you probably want the second DEFAULT_PLAYER line in the file to see that your mplayer actually works.
sorry, did you want me to change something here?


Quote:
Originally Posted by daftcat View Post
This Traceback is weird. Which version of mlbviewer are you using? Is it the latest svn revision or the sourceforge release?

You can probably fix this in your configuration file with:

Code:
coverage=home
i believe i started with mlbviewer-0.1alpha10.tar.gz from sourceforge. do i need to update this?

i put coverage=home in my config file, and it still doesn't run. was this supposed to solve the root issue? here is the error:
Quote:
Traceback (most recent call last):
File "mlbviewer.py", line 1250, in <module>
curses.wrapper(mainloop, mycfg.data)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/curses/wrapper.py", line 44, in wrapper
return func(stdscr, *args, **kwds)
File "mlbviewer.py", line 382, in mainloop
+ len(coveragetoggle.get(cfg['coverage'])) + 2
TypeError: object of type 'NoneType' has no len()
Quote:
Originally Posted by daftcat View Post
Can you post your configuration file here? You can remove the email/pass. I don't need to see those.
sure thing! the only thing i changed was the user/pass and the speeds as described in the readme.

Quote:
# See README for explanation of these settings.
# user and pass are required except for Top Plays
user=xxx@xxx
pass=xxx

show_player_command=0

audio_player=xterm -e mplayer -cache 64 -really-quiet

video_follow=

time_offset=

audio_follow=

top_plays_player=

favorite=bos

max_bps=3000000

video_player=xterm -e mplayer -cache 2048 -really-quiet

use_color=0

bg_color=xterm

use_nexdef=1

coverage=home

debug=0

favorite_color=cyan

live_from_start=0

speed=3000

flash_browser=firefox %s

x_display=

blackout=

coverage=home
typing this post i just realized that now "coverage=home" is in their twice. oops. so it was already there, and i think it is the same error.

Last edited by bosox; 05-13-2009 at 04:06 PM.
 
Old 05-13-2009, 03:28 PM   #1788
bosox
Member
 
Registered: May 2009
Posts: 53

Rep: Reputation: 15
Quote:
Originally Posted by TheDevilWearsPravda View Post
I haven't a clue about why it wants you to run as root, but the authorization problem when running as root sounds like a missing config file. If you run as root, I think it would look for the config file in root's home directory rather than yours.
good point. you are probably correct. i guess i could move my .mlb directory to root's home directory, but i would obviously rather run this as a standard user.

edit:
so just to see i configured the /var/root/.mlb directory. i now can get it to open mplayer and play!!! although it looks much more choppy than mlbs own player.

i also had to switch the speed in the config back to 800 from 3000. this got rid of the error i was having when opening up the game. any idea why?

how is the config supposed to be set to get the 3mpbs stream? or maybe there isn't one (you can go read my posts in the mlb forum on that topic). on that topic for a second, is there a way to see the streams being offered and select the one to play? i did notice it said 2200 at the bottom when i just tested this out. i just tried another game and i saw 3000 as the speed, so i guess that is the "hd" feed. however, what is the purpose of the little "hd" in the right hand corner that appears for some games and not others? some of the games that say "--" instead of "hd" still display 3000kbps. am i misunderstanding the meaning of the "hd" badge? if you look at 4/8/2009, the redsox game (without the hd badge) plays at 3000, while the dodgers games (which says "hd") plays at 2200.

so i can play with this a bit more now. i would love to figure out how to run this as user, as well as find a way to get the video looking better. but this was a good start for sure!

Last edited by bosox; 05-13-2009 at 04:11 PM.
 
Old 05-13-2009, 04:11 PM   #1789
daftcat
mlbviewer Maintainer
 
Registered: Apr 2008
Posts: 1,883

Rep: Reputation: 86
Quote:
Originally Posted by bosox View Post
thanks for getting back to me. this is a learning process for me, so i appreciate the patience!


i probably did run it as root initially, but i checked and the .mlb directory and all the files in it are owned by the user i am logged in with, not root. i was also root when i installed all the python libraries (and for pretty much the entire install of what was needed to make this work), if that makes a difference. i just don't know what else i need to look for with the wrong permissions, as everything i am seeing is owned by my user.

oddly, i can't run the command with sudo either. i must su to root.

on a side note, should i have to type "python" before each command? i seem to need to...


i tried over and over again and i get the same result. i can't seem to log in. here is what it says in the log:

i am in root now remember, but perhaps this is again related to the problem above. my email/pass are definitely entered correctly, and working on the mlb "official" player.



indeed i do. good point there. so for now, i have stopped trying to run that command. since i can't get a game started, it is hard to tell exactly what is going on though.



did this, and got a huge amount of information. honestly, this part is a bit over my head. i can post it for you if you like, but it is many many lines. what should the result have been from running that command? perhaps what i am seeing is normal.


sorry, did you want me to change something here?



i believe i started with mlbviewer-0.1alpha10.tar.gz from sourceforge. do i need to update this?

i put coverage=home in my config file, and it still doesn't run. was this supposed to solve the root issue? here is the error:




sure thing! the only thing i changed was the user/pass and the speeds as described in the readme.


typing this post i just realized that now "coverage=home" is in their twice. oops. so it was already there, and i think it is the same error.
Okay, I see a few errors in the config file.

Change speed to 800. This is a holdover from last year a non-nexdef thing. NexDef users will use max_bps=3000000 (3 million) to tell NexDef their speed preference. Then once you actually get far enough to get a stream going, you'll have another screen where you can lock in your preference.

Also, remove the "xterm -e" from the audio_player and video_player commands. If you ever use Gameday audio or non-NexDef video, these won't work with an external xterm.

You can copy and paste the entire nexdef.py output to pastebin.com and send me the url.

Try this:

Code:
$ nexdef.py 14-244678-2009-05-12 | tee nexdef.log
Then copy and paste the contents of nexdef.log to pastebin.com. This should show me at least what's going on with the authentication error.

You can set the executable bit on mlbviewer.py and run it without typing "python" first.

Code:
$ chmod +x mlbviewer.py
$ ./mlbviewer.py
Finally, you can try updating to the latest SVN revision to see if your experience is any better. There is a section in the README appropriately titled "SVN" that will give you instructions on how to do this. What I would recommend first is to rename the mlbviewer directory so you don't mix the two. In fact, svn would fail if you try to overwrite the release directory.

Code:
$ mv mlbviewer mlbviewer-0.1alpha10
$ svn co https://mlbviewer.svn.sourceforge.net/svnroot/mlbviewer/trunk mlbviewer-svn
You'll now have a directory called mlbviewer-svn which contains the latest checked in code. If you ran the setup.py with the release, you'll need to run the setup.py with the svn revision too.
 
Old 05-13-2009, 04:27 PM   #1790
daftcat
mlbviewer Maintainer
 
Registered: Apr 2008
Posts: 1,883

Rep: Reputation: 86
Quote:
Originally Posted by bosox View Post
good point. you are probably correct. i guess i could move my .mlb directory to root's home directory, but i would obviously rather run this as a standard user.

edit:
so just to see i configured the /var/root/.mlb directory. i now can get it to open mplayer and play!!! although it looks much more choppy than mlbs own player.

i also had to switch the speed in the config back to 800 from 3000. this got rid of the error i was having when opening up the game. any idea why?

how is the config supposed to be set to get the 3mpbs stream? or maybe there isn't one (you can go read my posts in the mlb forum on that topic). on that topic for a second, is there a way to see the streams being offered and select the one to play? i did notice it said 2200 at the bottom when i just tested this out. i just tried another game and i saw 3000 as the speed, so i guess that is the "hd" feed. however, what is the purpose of the little "hd" in the right hand corner that appears for some games and not others? some of the games that say "--" instead of "hd" still display 3000kbps. am i misunderstanding the meaning of the "hd" badge? if you look at 4/8/2009, the redsox game (without the hd badge) plays at 3000, while the dodgers games (which says "hd") plays at 2200.

so i can play with this a bit more now. i would love to figure out how to run this as user, as well as find a way to get the video looking better. but this was a good start for sure!
The speed setting is actually a carryover from last season where you could only select 400 or 800 and we hadn't figured out how to use NexDef. It is still kind of used in the current code for non-NexDef mode but it's mostly there now for backwards compatibility.

The NexDef way of setting the speed is twofold. First, in the config file you specify a max_bps setting in bits per second. Specifying a max_bps of 3000000 or 3 million says you'd like access to all streams up to 3000K. This alone is just a preference setting to the NexDef plugin. NexDef itself will start you out with what it thinks you can handle based on system and network performance. Once you have a stream playing, you can use the stream selection menu to lock in a stream (which is like turning auto-adjust off and selecting a quality bar in the Flash player.) It might still down-speed depending on network conditions but I find it is usually very stable.

The [HD] indicator is kind of a rough estimate of whether a stream is available in HD. Basically, I do a regular expression on the call letters of the coverage and if it contains HD, I say the stream is available in HD. If it doesn't, well, I have no other way of knowing whether it is HD or not. For example, a Boston stream may be carried by NESN or it may be carried by NESN-HD. If it's carried by NESN-HD, the HD indicator "lights up". If it's just NESN, I show a "--". Some people really really want to see only HD no matter who is in the broadcast booth so this is a convenience for them.

For my low-end machine, 800K stream is about all it can take. Sometimes I can get the 1200K stream but it will "burp" occasionally. On this machine, I set the max_bps to 800000. At work, I don't want to be streaming 3000K when I'm not even really supposed to have a baseball game on at work. For my work machine, I might set the max_bps down to 600K and then use the stream selection to bring it down to 164K, listen to the audio, and bring it back up to 400 or 600 to watch a replay. On my medium-end laptop at home, 3000K isn't smooth. 2200K looks brilliant and I really can't tell the difference. On this machine, I set the max_bps to 2500000 (sometimes there is a 2500K stream available.)

As for the video quality, make sure you are using the xv video driver and have the Xvideo extension set up in your X server. Although how this translates to Mac OS X, I'm not entirely sure.

Let's start with this. Post the output of the following:

Code:
$ mplayer -vo help
 
Old 05-13-2009, 04:47 PM   #1791
daftcat
mlbviewer Maintainer
 
Registered: Apr 2008
Posts: 1,883

Rep: Reputation: 86
Changing the speed=3000 to speed=800 should get your non-root user issue solved.

Hopefully one of our other Mac OS X users here will chime in on what the -vo setting for mplayer should be on a Mac.

Mac and vo aside, I've found that 3000K is overrated and just not smooth. I probably don't have enough horsepower / video acceleration to run this properly. You might have to experiment with the stream selection menu to find which stream plays best for your hardware.
 
Old 05-13-2009, 04:49 PM   #1792
daftcat
mlbviewer Maintainer
 
Registered: Apr 2008
Posts: 1,883

Rep: Reputation: 86
Quote:
Originally Posted by eveostay View Post
Hmm, I thought you had told me that for audio, I wouldn't need to. But whatever, I'm happy to have something besides the flash player to try.
I did and I was wrong. It had been so long since I first started with the new streams that I forgot the default Ubuntu 8.10 mplayer was hopelessly out of date and wasn't even recognizing the audio codec.
 
Old 05-13-2009, 05:07 PM   #1793
bosox
Member
 
Registered: May 2009
Posts: 53

Rep: Reputation: 15
Quote:
Originally Posted by daftcat View Post
Okay, I see a few errors in the config file.

Change speed to 800. This is a holdover from last year a non-nexdef thing. NexDef users will use max_bps=3000000 (3 million) to tell NexDef their speed preference. Then once you actually get far enough to get a stream going, you'll have another screen where you can lock in your preference.
done. i don't see where i can choose the stream though once i have it playing. from the readme i though you change the stream with "p", but all that does for me is pause. i am curious to see the list of speeds available for a given game, as i am convinced that only 2200 has been available for quite some time despite what mlb support is saying in the forums. but with the 3000000 in config i do start some of the older games with 3000, so that is working.

Quote:
Originally Posted by daftcat View Post
Also, remove the "xterm -e" from the audio_player and video_player commands. If you ever use Gameday audio or non-NexDef video, these won't work with an external xterm.
so make it "audio_player=mplayer -cache 64 -really-quiet", right?

Quote:
Originally Posted by daftcat View Post
You can copy and paste the entire nexdef.py output to pastebin.com and send me the url.

Try this:

Code:
$ nexdef.py 14-244678-2009-05-12 | tee nexdef.log
Then copy and paste the contents of nexdef.log to pastebin.com. This should show me at least what's going on with the authentication error.
i assume you want me to do this as user not root right? since it is running as root i guess that would make more sense. here it is for user:
http://pastebin.com/f2d5e57af

i had to ctrl-c to get it to stop, as i just appears to hang after "stream not seekable." here is the traceback after the ctrl-c:
Quote:
MPlayer interrupted by signal 2 in module: dumpstream
Traceback (most recent call last):
File "nexdef.py", line 455, in <module>
playprocess.wait()
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 1110, in wait
pid, sts = os.waitpid(self.pid, 0)
KeyboardInterrupt
close failed: [Errno 0] Unknown error: 0

Quote:
Originally Posted by daftcat View Post
You can set the executable bit on mlbviewer.py and run it without typing "python" first.

Code:
$ chmod +x mlbviewer.py
$ ./mlbviewer.py
done! that was easy!

Quote:
Originally Posted by daftcat View Post
Finally, you can try updating to the latest SVN revision to see if your experience is any better. There is a section in the README appropriately titled "SVN" that will give you instructions on how to do this. What I would recommend first is to rename the mlbviewer directory so you don't mix the two. In fact, svn would fail if you try to overwrite the release directory.

Code:
$ mv mlbviewer mlbviewer-0.1alpha10
$ svn co https://mlbviewer.svn.sourceforge.net/svnroot/mlbviewer/trunk mlbviewer-svn
You'll now have a directory called mlbviewer-svn which contains the latest checked in code. If you ran the setup.py with the release, you'll need to run the setup.py with the svn revision too.
i will try this next and report back. should i also do the same for mplayer? i saw you said you do that regularly. although i just built it yesterday, so that is probably not an issue.
 
Old 05-13-2009, 05:14 PM   #1794
bosox
Member
 
Registered: May 2009
Posts: 53

Rep: Reputation: 15
Quote:
Originally Posted by daftcat View Post
The speed setting is actually a carryover from last season where you could only select 400 or 800 and we hadn't figured out how to use NexDef. It is still kind of used in the current code for non-NexDef mode but it's mostly there now for backwards compatibility.

The NexDef way of setting the speed is twofold. First, in the config file you specify a max_bps setting in bits per second. Specifying a max_bps of 3000000 or 3 million says you'd like access to all streams up to 3000K. This alone is just a preference setting to the NexDef plugin. NexDef itself will start you out with what it thinks you can handle based on system and network performance. Once you have a stream playing, you can use the stream selection menu to lock in a stream (which is like turning auto-adjust off and selecting a quality bar in the Flash player.) It might still down-speed depending on network conditions but I find it is usually very stable.
i start some games with 3000 and some with 2200. how do i access this "stream selection menu" to see what is available?

Quote:
Originally Posted by daftcat View Post
The [HD] indicator is kind of a rough estimate of whether a stream is available in HD. Basically, I do a regular expression on the call letters of the coverage and if it contains HD, I say the stream is available in HD. If it doesn't, well, I have no other way of knowing whether it is HD or not. For example, a Boston stream may be carried by NESN or it may be carried by NESN-HD. If it's carried by NESN-HD, the HD indicator "lights up". If it's just NESN, I show a "--". Some people really really want to see only HD no matter who is in the broadcast booth so this is a convenience for them.
ahh, i understand. i thought the hd indicator had something to do with what feeds were available. makes sense now.

Quote:
Originally Posted by daftcat View Post
For my low-end machine, 800K stream is about all it can take. Sometimes I can get the 1200K stream but it will "burp" occasionally. On this machine, I set the max_bps to 800000. At work, I don't want to be streaming 3000K when I'm not even really supposed to have a baseball game on at work. For my work machine, I might set the max_bps down to 600K and then use the stream selection to bring it down to 164K, listen to the audio, and bring it back up to 400 or 600 to watch a replay. On my medium-end laptop at home, 3000K isn't smooth. 2200K looks brilliant and I really can't tell the difference. On this machine, I set the max_bps to 2500000 (sometimes there is a 2500K stream available.)
i am running this on an external display, so i definitely notice the difference between the 3000k and 2200k streams. that is how i found my way over here actually. i noticed what a bit drop in quality and became convinced that mlb had stopped delivering the 3000k stream for may games.

Quote:
Originally Posted by daftcat View Post
As for the video quality, make sure you are using the xv video driver and have the Xvideo extension set up in your X server. Although how this translates to Mac OS X, I'm not entirely sure.

Let's start with this. Post the output of the following:

Code:
$ mplayer -vo help
here ya go:
Quote:
MPlayer SVN-r29304-4.0.1 (C) 2000-2009 MPlayer Team
Available video output drivers:
quartz Mac OSX (Quartz)
xv X11/Xv
x11 X11 ( XImage/Shm )
xover General X11 driver for overlay capable video output drivers
null Null video output
mpegpes MPEG-PES file
yuv4mpeg yuv4mpeg output for mjpegtools
tga Targa output
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame
i did install the codecs that were mentioned in the requirements file. does that output look right?
 
Old 05-13-2009, 05:20 PM   #1795
bosox
Member
 
Registered: May 2009
Posts: 53

Rep: Reputation: 15
Quote:
Originally Posted by daftcat View Post
Changing the speed=3000 to speed=800 should get your non-root user issue solved.

Hopefully one of our other Mac OS X users here will chime in on what the -vo setting for mplayer should be on a Mac.

Mac and vo aside, I've found that 3000K is overrated and just not smooth. I probably don't have enough horsepower / video acceleration to run this properly. You might have to experiment with the stream selection menu to find which stream plays best for your hardware.
yes it solved the problem with root!
however, i did notice a bit different behavior. when i run it as root, an xterm pops up in addition to mplayer. this does not happen when i run as user, but i assume that is ok. or maybe that is because of the change i made in config actually.

my first impression is that this plays much better than using the official player. however, there doesn't seem to be a good way to forward and reverse though the game. i tried using the left and right arrow, but it only moves a little bit, and stalls as well.

also, one of my main complaints with the official player is the inability to use a second display in fullscreen and still use the computer. flash stops fullscreen as soon as the window loses focus. i tried to use mplayer on a second display (i dragged the window to the external display), and when i put it it fullscreen (with "f") it puts the fullscreen on the main display. anyway to fix this?

Last edited by bosox; 05-13-2009 at 06:13 PM.
 
Old 05-13-2009, 05:23 PM   #1796
Wolfvorkian
Member
 
Registered: Sep 2007
Distribution: Arch
Posts: 108

Rep: Reputation: 15
Quote:
Originally Posted by daftcat View Post
Add the following into AMFObject.h:

Code:
#include <stdint.h>
Stick it with the other #include's after the GPL comment block.
Okay, I did what you said above. Now I get this. Close to being long enough for paste bin but I'll chance the tolerance of the group. I used the 'make clean' command before 'make' too.


Code:
[mike@arch rtmpdump]$ make
g++ -Wall   -c -o bytes.o bytes.cpp
g++ -Wall   -c -o log.o log.cpp
g++ -Wall   -c -o rtmp.o rtmp.cpp
g++ -Wall   -c -o AMFObject.o AMFObject.cpp
g++ -Wall   -c -o rtmppacket.o rtmppacket.cpp
In file included from rtmppacket.cpp:25:
rtmppacket.h:60: error: ‘int32_t’ does not name a type
rtmppacket.h:61: error: ‘int32_t’ does not name a type
rtmppacket.h:62: error: ‘uint32_t’ does not name a type
rtmppacket.h:63: error: ‘uint32_t’ does not name a type
rtmppacket.h:64: error: ‘uint32_t’ does not name a type
rtmppacket.h: In member function ‘bool RTMP_LIB::RTMPPacket::IsReady()’:
rtmppacket.h:54: error: ‘m_nBytesRead’ was not declared in this scope
rtmppacket.h:54: error: ‘m_nBodySize’ was not declared in this scope
rtmppacket.cpp: In member function ‘void RTMP_LIB::RTMPPacket::Reset()’:
rtmppacket.cpp:45: error: ‘m_nInfoField1’ was not declared in this scope
rtmppacket.cpp:46: error: ‘m_nInfoField2’ was not declared in this scope
rtmppacket.cpp:47: error: ‘m_nBodySize’ was not declared in this scope
rtmppacket.cpp:48: error: ‘m_nBytesRead’ was not declared in this scope
rtmppacket.cpp:49: error: ‘m_nInternalTimestamp’ was not declared in this scope
rtmppacket.cpp: In member function ‘bool RTMP_LIB::RTMPPacket::AllocPacket(int)’:
rtmppacket.cpp:59: error: ‘m_nBytesRead’ was not declared in this scope
rtmppacket.cpp: In member function ‘void RTMP_LIB::RTMPPacket::Dump()’:
rtmppacket.cpp:79: error: ‘m_nInfoField1’ was not declared in this scope
rtmppacket.cpp:79: error: ‘m_nInfoField2’ was not declared in this scope
rtmppacket.cpp:79: error: ‘m_nBodySize’ was not declared in this scope
make: *** [rtmppacket.o] Error 1
[mike@arch rtmpdump]$
 
Old 05-13-2009, 06:51 PM   #1797
daftcat
mlbviewer Maintainer
 
Registered: Apr 2008
Posts: 1,883

Rep: Reputation: 86
Put the same #include <stdint.h> in rtmppacket.h as well. If you run into the "does not name a type" in yet another file, google the type, and put its #include in the .h file that first flagged the error. All the "not declared in this scope" errors are based on that type not being recognized in the .h. Thus the declaration in the .h fails and its use in the .cpp also fails.

Quote:
Originally Posted by Wolfvorkian View Post
Okay, I did what you said above. Now I get this. Close to being long enough for paste bin but I'll chance the tolerance of the group. I used the 'make clean' command before 'make' too.


Code:
[mike@arch rtmpdump]$ make
g++ -Wall   -c -o bytes.o bytes.cpp
g++ -Wall   -c -o log.o log.cpp
g++ -Wall   -c -o rtmp.o rtmp.cpp
g++ -Wall   -c -o AMFObject.o AMFObject.cpp
g++ -Wall   -c -o rtmppacket.o rtmppacket.cpp
In file included from rtmppacket.cpp:25:
rtmppacket.h:60: error: ‘int32_t’ does not name a type
rtmppacket.h:61: error: ‘int32_t’ does not name a type
rtmppacket.h:62: error: ‘uint32_t’ does not name a type
rtmppacket.h:63: error: ‘uint32_t’ does not name a type
rtmppacket.h:64: error: ‘uint32_t’ does not name a type
rtmppacket.h: In member function ‘bool RTMP_LIB::RTMPPacket::IsReady()’:
rtmppacket.h:54: error: ‘m_nBytesRead’ was not declared in this scope
rtmppacket.h:54: error: ‘m_nBodySize’ was not declared in this scope
rtmppacket.cpp: In member function ‘void RTMP_LIB::RTMPPacket::Reset()’:
rtmppacket.cpp:45: error: ‘m_nInfoField1’ was not declared in this scope
rtmppacket.cpp:46: error: ‘m_nInfoField2’ was not declared in this scope
rtmppacket.cpp:47: error: ‘m_nBodySize’ was not declared in this scope
rtmppacket.cpp:48: error: ‘m_nBytesRead’ was not declared in this scope
rtmppacket.cpp:49: error: ‘m_nInternalTimestamp’ was not declared in this scope
rtmppacket.cpp: In member function ‘bool RTMP_LIB::RTMPPacket::AllocPacket(int)’:
rtmppacket.cpp:59: error: ‘m_nBytesRead’ was not declared in this scope
rtmppacket.cpp: In member function ‘void RTMP_LIB::RTMPPacket::Dump()’:
rtmppacket.cpp:79: error: ‘m_nInfoField1’ was not declared in this scope
rtmppacket.cpp:79: error: ‘m_nInfoField2’ was not declared in this scope
rtmppacket.cpp:79: error: ‘m_nBodySize’ was not declared in this scope
make: *** [rtmppacket.o] Error 1
[mike@arch rtmpdump]$
 
Old 05-13-2009, 07:37 PM   #1798
daftcat
mlbviewer Maintainer
 
Registered: Apr 2008
Posts: 1,883

Rep: Reputation: 86
Quote:
Originally Posted by bosox View Post
yes it solved the problem with root!
however, i did notice a bit different behavior. when i run it as root, an xterm pops up in addition to mplayer. this does not happen when i run as user, but i assume that is ok. or maybe that is because of the change i made in config actually.

my first impression is that this plays much better than using the official player. however, there doesn't seem to be a good way to forward and reverse though the game. i tried using the left and right arrow, but it only moves a little bit, and stalls as well.

also, one of my main complaints with the official player is the inability to use a second display in fullscreen and still use the computer. flash stops fullscreen as soon as the window loses focus. i tried to use mplayer on a second display (i dragged the window to the external display), and when i put it it fullscreen (with "f") it puts the fullscreen on the main display. anyway to fix this?
For NexDef mode video, the "xterm -e" component of the video_player command is probably harmless, and may actually be somewhat useful for sending mplayer hot-keys. For gameday audio and non-NexDef video, this simply won't work.

The stream selection screen appears 10 - 20 seconds after the stream starts in your mlbviewer window (e.g. the xterm that is running mlbviewer.) So if mplayer goes to full-screen, you may have to use the 'f' key to bring the mlbviewer window back into view. I believe I wait 10 seconds before I poll the NexDef plugin and it may take at least another poll interval before I actually get a response from it. So after about 10 - 20 seconds, you should see the stream selection menu which will tell you what stream you are currently using and which ones are available.

For an external display, I'm not really sure how this works. Are you using Xinerama? You might look into mplayer documentation to see if how this is done. Since you are also using an external display, I'm not sure if "xv" is the right video output driver. Again, you should probably consult mplayer documentation to see what the correct video driver should be for multiple or external displays.

Of course, if you want to try this out, you can try this for your video_player command:

Code:
video_player=mplayer -vo xv -cache 4096 -really-quiet
If your external display is addressable through the DISPLAY environment variable, you can also set x_display option in the config file. For my target system (the low end), I have a laptop connected to a wall mount LCD and my stereo that runs in "headless" mode. I ssh into it from my couch laptop, run mlbviewer, and let it display back to the local display. I have to run "xhost +" once on the "headless" system (can't really call the laptop headless but I almost never it directly, so maybe it's a nearly headless system ) and set the x_display to x_display=:0.0 which says to launch mplayer on the local e.g. nearly headless e.g. wall mount LCD rather than open the mplayer window on the couch laptop display. So if your external display is addressable with the DISPLAY variable like :0.1 (or whatever it would be), you could try setting that in your config with the x_display variable. In this case, you would want to add "-fs" to your video_player for full-screen and you would have nearly no control over it unless you could somehow drag that window back to the primary display. I don't have access to multiple displays so I don't know how this works. This would be more of an X server / mplayer issue than mlbviewer. There might be someone here though that has experience with this.

Okay, what else....

That nexdef.py by default dumps to a file. You should have a file in your test directory called something like 14-23345-2009-05-13.mp4 from the last time you ran nexdef.py that contains the video it recorded up until you hit Ctrl-C. This might be useful to you for playing with mplayer and external display without having to bother with mlbviewer every time. Or it might just be useless and taking up disk space. It's better you know it's there (and safe to remove.)

Finally, let's see what mplayer is saying in normal mode (e.g. not dumpstream.)

In the nexdef.py file, open it in an editor and jump down to these lines:

Code:
DEFAULT_PLAYER = 'mplayer -dumpstream %s -dumpfile %f'
#DEFAULT_PLAYER = 'mplayer -fs -really-quiet -autosync 30 %s'
#DEFAULT_PLAYER = 'mplayer -autosync 30 %s'
(Line 18 in the release and probably the same line number in the svn version.)

Move the '#' comment character from the second DEFAULT_PLAYER to the first (comment the first one and uncomment the second one) so it looks like:

Code:
#DEFAULT_PLAYER = 'mplayer -dumpstream %s -dumpfile %f'
DEFAULT_PLAYER = 'mplayer -fs -really-quiet -autosync 30 %s'
#DEFAULT_PLAYER = 'mplayer -autosync 30 %s'
And run the nexdef.py | tee nexdef.log command and post it to pastebin. This will start playback rather than record. I only really need to see the first several lines of the mplayer output but you might as well post the whole thing again so I don't miss anything. This will tell me what video output (vo) driver mplayer is using by default.

Okay, that wasn't really a finally. I guess I have a few more comments/questions to address.

Seeking isn't well supported with mplayer and the MLB streams. In fact, the streams are more tolerated than they are supported which is why we recommend the -really-quiet option to mplayer to hide all the errors it has reading the stream. In the latest svn revision, I've implemented "Jump To Innings" interface as a compromise.

Since you are on Mac OS X, you can try using QuickTime (untested) instead of mplayer or really any FLV player for Mac. VLC has also been confirmed to work but you'll likely have to build that from latest source (dig around Google for instructions on how to do this.) Play around with the video_player command and different FLV players until you find one you like if mplayer gives you too much trouble (or if you already know one that works with your external display setup.)

But....let's see first what mplayer is doing now (nexdef.py with the comments swapped) and what it can do with -vo xv (if it's not already using xv.)

Did I answer all your questions?
 
Old 05-13-2009, 08:04 PM   #1799
bosox
Member
 
Registered: May 2009
Posts: 53

Rep: Reputation: 15
wow, that's a comprehensive response. i have to admit, i was nervous to post here after reading some of these 120 pages, but i must say i am quite impressed with the level of support (and patience!) that you are providing. so thanks for that!

i will play around with this all later tonight or tomorrow and respond after that. but i have one question in the meantime:

EDIT: NEVERMIND -- THIS GOT SOLVED WHEN I CHECKED OUT THE NEW VERSION WITH SVN! can i jump to innings now?

Quote:
Originally Posted by daftcat View Post
The stream selection screen appears 10 - 20 seconds after the stream starts in your mlbviewer window (e.g. the xterm that is running mlbviewer.) So if mplayer goes to full-screen, you may have to use the 'f' key to bring the mlbviewer window back into view. I believe I wait 10 seconds before I poll the NexDef plugin and it may take at least another poll interval before I actually get a response from it. So after about 10 - 20 seconds, you should see the stream selection menu which will tell you what stream you are currently using and which ones are available.
i am not seeing this. i run mlbviewer in an xterm. once the feed is going, that window is blank, except for something like this at the bottom:
Quote:
STREAM: MLB_GAME_VIDEO_BOSANA_VISIT_20090512_MLB_FLASH_2200K_STREAM
BPS : 2200
MS : 82292953
i don't see any menu. odd right? any typing in this xterm just makes the "ms" value increase. here is what it looks like:
http://img11.imageshack.us/img11/9242/picture15w.png

i assume this is telling me what stream i am watching however. what is "ms" by the way? it seems to increase, so is it a measure of total transfer?


so, i have my homework for tomorrow! thanks again...

Last edited by bosox; 05-13-2009 at 08:43 PM.
 
Old 05-13-2009, 08:28 PM   #1800
Wolfvorkian
Member
 
Registered: Sep 2007
Distribution: Arch
Posts: 108

Rep: Reputation: 15
daftcat said:

Quote:
Put the same #include <stdint.h> in rtmppacket.h as well. If you run into the "does not name a type" in yet another file, google the type, and put its #include in the .h file that first flagged the error. All the "not declared in this scope" errors are based on that type not being recognized in the .h. Thus the declaration in the .h fails and its use in the .cpp also fails.
Thanks, editing rtmppacket.h did it. Now I can get the audio easier.
The "i" jump to innings is neat. I like it.
 
  


Reply

Tags
help, install, installation, instructions, seek, vlc, windows



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
mlb.com gameday audio stream statmobile Linux - Newbie 6 05-06-2008 10:16 PM
link dies intermittently-seemingly at random- between win<->linux not linux<->linux?? takahaya Linux - Networking 10 03-09-2007 10:37 PM
triple boot linux/linux/linux No Windows involved toastermaker Linux - Newbie 12 03-02-2006 10:40 PM
Redhat (rhel v2.1) bootup problem with linux (linux vs linux-up) namgor Linux - Software 2 06-24-2004 02:49 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 03:30 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration