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'm not sure what you mean by stitching the finished mp4 together. Are you saying that you have run the test tool (or the script I provided) and it created "dead spots" in the file where the playback gets interrupted where the stream resumes occur? If this is the case, you'll need Theophile's media expertise to help you debug and fix this.
Thanks for your reply.
I'm not stitching it together by myself!
Here is how it works for me:
I'm not using the script you posted. I just changed the VIDEO_PLAYER property to mplayer -dumpstream etc. and am starting the download of the archived game within mlbviewer.
After pressing [Return] on the archived game I want to download, flvstreamer/mplayer start downloading. After a while (in about the range you wrote about) the data will stop coming. After a couple of minutes a message is printed out:
Anyway, right after this message the download will continue into the original file. So, after all that a couple of times (again at 60.3% and 90.5%), the whole game is in one MP4 file.
But you are right - looking at the output it definitely looks as if these "breaks" are server induced at specific positions of the stream.
When playing the file (I do that on my Windows PC), playback will stop at the spots where the download "paused" and restarted. But you can skip past these spots and continue watching, as long as the player is not trying to play these exact spots.
As soon as MLB.TV starts working again (everybody is blacked out from all archived games), I'll try fixing the resulting file with mencoder -forceidx or DivFix++. But I don't know if that'll work. And there aren't really any repair utilities for H.264 (which is the codec used by MLB, right?).
NEVER MIND: I just dumped the Yankees @ Sox season opener and even though the streaming stopped as above, the file played just fine. So maybe that was for spring training only or the problem was something else? I'll keep an eye on it! Thanks anyway for reading, I hope I won't have to revisist that. Anyhow, it doesn't seem to be a problem you could do anything about. Except there was a way to keep the streaming from stopping.
As I've been saying, if you don't use -dumpstream, you should be able to watch a game entirely through without having to restart. The cache management of mplayer (without -dumpstream) in pipeline with rtmpdump seems to pace rtmpdump/flvstreamer such that it doesn't appear to be a bad boy downloader on the server side. I know it's not always convenient or possible to sit down to three hours of baseball in one sitting, though. When the nexdef is working in the archives, the jump to innings support is one of the first features I'd like to get working again so that you can, say, watch the first few innings, come back and watch a few more innings picking up right at the last half-inning you remember watching.
The script I posted is a convenient way of accepting that you'll have to download a game in three or more attempts. So why not let the script handle the retries? I've actually had something very similar to that script "in the works" for awhile now: something a little more usable than the raw test/ scripts but a little more automatic than mlbviewer gui. When archives are working again, I recommend giving it a try. When archives are more reliable, I'll fix up that script and make it a little more flexible.
I have a rewrite of the libraries planned for this season so that making tools like that script will be a lot easier and a bit less hackish.
Your script seems to do the same thing that's working anyway: Downloading the game in three or more attempts. The download continues automatically after it has stopped, so I don't understand what your script would do differently.
SVN revision 231: fixed condensed games and top plays (highlights)
Turns out these were both related to the changes in the playback scenario names made since last year. I'm almost dumbstruck at how simple the fixes were.
Test them both and tell me if they are working now. Might be a small consolation since none of the archives are working yet.
Theophile, can you do me a favor? For nexdef, can you comment the sys.exit() line at the bottom of test/nexdef.py and look at a stream or two (using mlblistings.py to get the event-id's)?
I tried this earlier this morning and it kind of worked except the stream was coming as 1280x1024 resolution and my laptops don't support that resolution. Is there a way to force a different resolution in mplayer? I will Firebug nexdef later tonight and see if there are ways to request specific streams from the start. Maybe a lower bitrate will force a more conservative resolution. I think the video_player line is coming from the top of the script rather than your config file so you may want to change that to dumpstream and have a look at what the video really is. We've had trouble before of what the attributes are purported to be aren't really what's in the file.
No dice. Though I may be doing something wrong; it's been a while since I've needed to use any of the test tools!
Code:
theophile@graven:~/Desktop/Downloads/mlbviewer/test$ ./nexdef.py 14-263810-2010-04-05
These are the cookies we have received so far :
0 : <Cookie SESSION_1=flowId%3D%3D%3Dregistration.wizard%7Ewf_c_id%3D%3D%3Dmlb%7Ewf_flowId%3D%3D%3Dregistration.wizard%7Estage%3D%3D%3D3 for .mlb.com/>
1 : <Cookie appacc=mlb for .mlb.com/>
2 : <Cookie ipid=8820296 for .mlb.com/>
Here are the headers of the page :
Server: Sun-ONE-Web-Server/6.1
Date: Tue, 06 Apr 2010 14:53:23 GMT
Content-type: text/html;charset=ISO-8859-1
Set-cookie: SESSION_1=;Domain=.mlb.com;Path=/
Set-cookie: mlbunifieddata=8820296%7Cd97d0ca06725bbd47a17344dfe4ff3a7%7C1270565603922%7Cttemp;Domain=.mlb.com;Path=/
Set-cookie: ipid=8820296;Domain=.mlb.com;Expires=Wed, 06-Apr-2011 14:53:23 GMT;Path=/
Set-cookie: fprt=KQ5t%2BZsCpoctixgPNMJXGGU%2Fuvc%3D;Domain=.mlb.com;Path=/
Set-cookie: appacc=mlb;Domain=.mlb.com;Expires=Wed, 06-Apr-2011 14:53:23 GMT;Path=/
Transfer-encoding: chunked
These are the cookies we have received so far :
0 : <Cookie SESSION_1= for .mlb.com/>
1 : <Cookie appacc=mlb for .mlb.com/>
2 : <Cookie fprt=KQ5t%2BZsCpoctixgPNMJXGGU%2Fuvc%3D for .mlb.com/>
3 : <Cookie ipid=8820296 for .mlb.com/>
4 : <Cookie mlbunifieddata=8820296%7Cd97d0ca06725bbd47a17344dfe4ff3a7%7C1270565603922%7Cttemp for .mlb.com/>
Logged in successfully!
[('SESSION_1', '', {'path': '/', 'domain': '.mlb.com', 'version': '0'}, {}), ('mlbunifieddata', '8820296%7Cd97d0ca06725bbd47a17344dfe4ff3a7%7C1270565603922%7Cttemp', {'path': '/', 'domain': '.mlb.com', 'version': '0'}, {}), ('ipid', '8820296', {'path': '/', 'domain': '.mlb.com', 'expires': 1302101603, 'version': '0'}, {}), ('fprt', 'KQ5t%2BZsCpoctixgPNMJXGGU%2Fuvc%3D', {'path': '/', 'domain': '.mlb.com', 'version': '0'}, {}), ('appacc', 'mlb', {'path': '/', 'domain': '.mlb.com', 'expires': 1302101603, 'version': '0'}, {})]
ipid = 8820296 fingerprint = KQ5t%2BZsCpoctixgPNMJXGGU%2Fuvc%3D
No session key, so logged out.
DEBUG:suds.client:sending to (http://www.mlb.com/pubajaxws/services/MediaService2_0)
message:
<SOAP-ENV:Envelope xmlns:ns0="http://services.bamnetworks.com/media/types/2.0" xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns1:Body>
<ns0:user-verified-media-request>
<ns0:event-id>14-263810-2010-04-05</ns0:event-id>
<ns0:subject>LIVE_EVENT_COVERAGE</ns0:subject>
</ns0:user-verified-media-request>
</ns1:Body>
</SOAP-ENV:Envelope>
DEBUG:suds.client:headers = {'SOAPAction': u'"find"', 'Content-Type': 'text/xml'}
Traceback (most recent call last):
File "./nexdef.py", line 225, in <module>
reply = client.service.find(**pd)
File "/usr/local/lib/python2.6/dist-packages/suds-0.3.9-py2.6.egg/suds/client.py", line 539, in __call__
return client.invoke(args, kwargs)
File "/usr/local/lib/python2.6/dist-packages/suds-0.3.9-py2.6.egg/suds/client.py", line 598, in invoke
result = self.send(msg)
File "/usr/local/lib/python2.6/dist-packages/suds-0.3.9-py2.6.egg/suds/client.py", line 623, in send
reply = transport.send(request)
File "/usr/local/lib/python2.6/dist-packages/suds-0.3.9-py2.6.egg/suds/transport/https.py", line 64, in send
return HttpTransport.send(self, request)
File "/usr/local/lib/python2.6/dist-packages/suds-0.3.9-py2.6.egg/suds/transport/http.py", line 77, in send
fp = self.u2open(u2request)
File "/usr/local/lib/python2.6/dist-packages/suds-0.3.9-py2.6.egg/suds/transport/http.py", line 118, in u2open
return url.open(u2request, timeout=tm)
File "/usr/lib/python2.6/urllib2.py", line 391, in open
response = self._open(req, data)
File "/usr/lib/python2.6/urllib2.py", line 409, in _open
'_open', req)
File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/usr/lib/python2.6/urllib2.py", line 1161, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.6/urllib2.py", line 1136, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 104] Connection reset by peer>
I sent the compiled version to the trash, but I'm having the same issue with the distro version. Could this have something to do with my video card or video driver?
For audio caching problem, I can try live game tomorrow. Can you do a 'ps -ef | grep mplayer' on it while it is taking forever to verify the audio_player command is as you expect it to be.
Yes, it was.
Quote:
Originally Posted by daftcat
For the stdout.py tool, can you tee it to a file and post it to pastebin.com? e.g.
Code:
$ test/stdout.py <event-id> | tee /tmp/logfile.txt
<event-id> is the number that follows E: in mlblistings.py output.
Let me see what I can do over the next few days to get the other speeds available.
That would be cool! I am totally comfortable editing the config file to my preferences, if that is the easiest for you.
The GOOD NEWS is that I put in a service call to my DSL provider, and they fixed a loose connection or something down the line. I haven't been able to watch a live game yet today (obviously) but I am watching an archived game at 800k no problem, and I am cautiously optimistic I can get 1200 working if I set the cache just right. Tonight's Sox/Yankees will be the true test!!
Thanks for the help! Funny thing is this problem is only occurring with mlbviewer. I have videos on my system that work fine.
Quote:
rob@rob-desktop:~$ cat /var/log/Xorg.0.log | grep NVIDIA
(II) Module glx: vendor="NVIDIA Corporation"
(II) NVIDIA GLX Module 185.18.36 Fri Aug 14 17:50:12 PDT 2009
(II) Module nvidia: vendor="NVIDIA Corporation"
(II) NVIDIA dlloader X Driver 185.18.36 Fri Aug 14 17:24:40 PDT 2009
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) NVIDIA(0): Creating default Display subsection in Screen section
(**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(**) NVIDIA(0): Option "NoLogo" "True"
(**) NVIDIA(0): Enabling RENDER acceleration
(II) NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
(II) NVIDIA(0): enabled.
(II) NVIDIA(0): NVIDIA GPU GeForce 9500 GT (G96) at PCI:2:0:0 (GPU-0)
(--) NVIDIA(0): Memory: 1048576 kBytes
(--) NVIDIA(0): VideoBIOS: 62.94.28.00.00
(II) NVIDIA(0): Detected PCI Express Link width: 16X
(--) NVIDIA(0): Interlaced video modes are supported on this GPU
(--) NVIDIA(0): Connected display device(s) on GeForce 9500 GT at PCI:2:0:0:
(--) NVIDIA(0): VIZ VO47LFHDTV20A (DFP-1)
(--) NVIDIA(0): VIZ VO47LFHDTV20A (DFP-1): 330.0 MHz maximum pixel clock
(--) NVIDIA(0): VIZ VO47LFHDTV20A (DFP-1): Internal Dual Link TMDS
(WW) NVIDIA(0): The EDID for VIZ VO47LFHDTV20A (DFP-1) contradicts itself:
(WW) NVIDIA(0): mode "1920x1080" is specified in the EDID; however, the
(WW) NVIDIA(0): EDID's valid HorizSync range (31.000-70.000 kHz) would
(WW) NVIDIA(0): exclude this mode's HorizSync (28.1 kHz); ignoring
(WW) NVIDIA(0): HorizSync check for mode "1920x1080".
(WW) NVIDIA(0): The EDID for VIZ VO47LFHDTV20A (DFP-1) contradicts itself:
(WW) NVIDIA(0): mode "720x576" is specified in the EDID; however, the
(WW) NVIDIA(0): EDID's valid HorizSync range (31.000-70.000 kHz) would
(WW) NVIDIA(0): exclude this mode's HorizSync (15.6 kHz); ignoring
(WW) NVIDIA(0): HorizSync check for mode "720x576".
(WW) NVIDIA(0): The EDID for VIZ VO47LFHDTV20A (DFP-1) contradicts itself:
(WW) NVIDIA(0): mode "1920x1080" is specified in the EDID; however, the
(WW) NVIDIA(0): EDID's valid HorizSync range (31.000-70.000 kHz) would
(WW) NVIDIA(0): exclude this mode's HorizSync (28.1 kHz); ignoring
(WW) NVIDIA(0): HorizSync check for mode "1920x1080".
(WW) NVIDIA(0): The EDID for VIZ VO47LFHDTV20A (DFP-1) contradicts itself:
(WW) NVIDIA(0): mode "1920x1080" is specified in the EDID; however, the
(WW) NVIDIA(0): EDID's valid HorizSync range (31.000-70.000 kHz) would
(WW) NVIDIA(0): exclude this mode's HorizSync (28.1 kHz); ignoring
(WW) NVIDIA(0): HorizSync check for mode "1920x1080".
(WW) NVIDIA(0): The EDID for VIZ VO47LFHDTV20A (DFP-1) contradicts itself:
(WW) NVIDIA(0): mode "720x576" is specified in the EDID; however, the
(WW) NVIDIA(0): EDID's valid HorizSync range (31.000-70.000 kHz) would
(WW) NVIDIA(0): exclude this mode's HorizSync (15.6 kHz); ignoring
(WW) NVIDIA(0): HorizSync check for mode "720x576".
(WW) NVIDIA(0): The EDID for VIZ VO47LFHDTV20A (DFP-1) contradicts itself:
(WW) NVIDIA(0): mode "1920x1080" is specified in the EDID; however, the
(WW) NVIDIA(0): EDID's valid HorizSync range (31.000-70.000 kHz) would
(WW) NVIDIA(0): exclude this mode's HorizSync (28.1 kHz); ignoring
(WW) NVIDIA(0): HorizSync check for mode "1920x1080".
(II) NVIDIA(0): Assigned Display Device: DFP-1
(==) NVIDIA(0):
(==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
(==) NVIDIA(0): will be used as the requested mode.
(==) NVIDIA(0):
(II) NVIDIA(0): Validated modes:
(II) NVIDIA(0): "nvidia-auto-select"
(II) NVIDIA(0): Virtual screen size determined to be 1920 x 1080
(--) NVIDIA(0): DPI set to (42, 42); computed from "UseEdidDpi" X config
(--) NVIDIA(0): option
(==) NVIDIA(0): Enabling 32-bit ARGB GLX visuals.
(II) NVIDIA(0): Initialized GPU GART.
(II) NVIDIA(0): Setting mode "nvidia-auto-select"
(II) NVIDIA(0): NVIDIA 3D Acceleration Architecture Initialized
(==) NVIDIA(0): Disabling shared memory pixmaps
(II) NVIDIA(0): Using the NVIDIA 2D acceleration architecture
(==) NVIDIA(0): Backing store disabled
(==) NVIDIA(0): Silken mouse enabled
(II) NVIDIA(0): DPMS enabled
(II) NVIDIA(0): Setting mode "nvidia-auto-select"
rob@rob-desktop:~$
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.