LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   MLB.TV in Linux (https://www.linuxquestions.org/questions/linux-software-2/mlb-tv-in-linux-432479/)

lcvisser 04-15-2015 01:28 PM

Quote:

Originally Posted by bunglebungle (Post 5347434)
@lcvisser - Google Code has a button to migrate projects to GitHub, so I think that's the preferred destination, or else be merged in with mlbviewer.

I know, I did that with my projects. But I don't want to "steal" the project if it is still maintained by someone.

bunglebungle 04-15-2015 01:58 PM

Quote:

Originally Posted by lcvisser (Post 5347909)
I know, I did that with my projects. But I don't want to "steal" the project if it is still maintained by someone.

Ah, got ya.

Also, I was not crazy. Chrome on Win7 here does let me do live DVR using just Flash (and I found a forum post that confirmed it should be that way). So I don't know why I couldn't at home unless it is something like user-agent sniffing.

daftcat 04-15-2015 02:12 PM

Quote:

Originally Posted by pajamian (Post 5347518)
This wouldn't exactly be accurate since Nexdef has highdef, but also has lowdef feeds (even some that rtmp doesn't have such as 800kbps).

I'll likely split the indicators into speed and [SD] or [HD]. I view having to restart mlbviewer to change nexdef stream settings a weak point of mlbviewer for far too long.

That said, I haven't had much time or desire to code outside of work so we'll see how much I make good on proposed enhancements.

daftcat 04-15-2015 02:14 PM

Quote:

Originally Posted by lcvisser (Post 5347909)
I know, I did that with my projects. But I don't want to "steal" the project if it is still maintained by someone.

Thegryghost has moved on and is not supporting mlbhls anymore. I'm sure if you just dropped him a private message or an email (is his email in the mlbhls project pages or documentation?), he'd be happy to turn over ownership of mlbhls to whoever wants to maintain it.

daftcat 04-15-2015 02:24 PM

Quote:

Originally Posted by fang2415 (Post 5347703)
I don't know very much about other HTTP streamers, but as far as I understand, mlbhls does need to fetch an auth key of some sort periodically to keep the stream going. I've assumed that's the reason why thegryghost wrote it in the first place instead of simply passing a link to curl or something.

But as I say, I'm no http streaming expert, so there may be other good reasons too. :)

Apple HTTP Live Streaming is not just a simple HTTP link. As I understand it, there's a playlist that indicates how many segments is in that playlist and how to address them when requesting them. The streamer, in this case mlbhls, is responsible for downloading, decrypting, and putting the segments back together into a coherent stream. When the last segment in a playlist is retrieved, it issues another playlist request for the next set of segments. Included in the playlist is whether the crypto key is still valid or needs to be re-negotiated. I could be off on some of the details but this is a general idea of how HLS works.

I know VLC and mplayer have been working on an HLS implementation but I don't remember why they weren't working yet. Might be worth it to inquire with the ffmpeg team to get mlbhls support integrated into ffmpeg.

larshenric 04-16-2015 04:13 PM

Quote:

Originally Posted by daftcat (Post 5346823)
Are you basic or premium subscriber? Maybe basic subscriber trying to access a premium stream? Next time it happens, post the contents of the (un)successful-?.xml log file indicated in the message. That file is overwritten with every request so I need to see the contents directly after the error and before the next request.

Okay: I'm basic user and tonight I've tried the Brewers-Cardinals game... Here's the log-file:
04/16 23:03 | 2015-04-16 23:03:25.275758

04/16 23:03 | SUCCESSFUL MEDIA REQUEST: status-code: 1 , event-id = 14-413786-2015-04-16

04/16 23:03 | See /home/lars/.mlb/successful-1.xml for XML response.

04/16 23:03 | DEBUG (SOAPCODES!=1)>> writing unsuccessful soap response event_id = 14-413786-2015-04-16 contend-id = 66128783

And here the xml-file:
<user-verified-media-response><user-verified-event><event-id>14-413786-2015-04-16</event-id><user-verified-content><content-id>66128783</content-id><type>video</type><user-verified-media-item><media-item><type>video</type><state>MEDIA_DONE</state><cat-code>mlb_media_mlb_lg</cat-code><login-required>true</login-required><auth-required>true</auth-required><blackout-keywords><blackout-keyword>MLB_HOME_TEAM_BLACKOUT</blackout-keyword><blackout-keyword>MLB_AWAY_TEAM_BLACKOUT</blackout-keyword></blackout-keywords><playback-scenario>FMS_CLOUD</playback-scenario><has-synched-data>false</has-synched-data><preview-url>http://mediadownloads.mlb.com/mlbam/preview/milsln_1200_preview.mp4</preview-url><innings-index>http://mlb.mlb.com/mlb/mmls2015/413786.xml</innings-index><cdns/><sequence>1</sequence><duration xsi:nil="true"/></media-item><url/><auth-status><successStatus/></auth-status><blackout-status><successStatus/></blackout-status></user-verified-media-item><domain-specific-attributes><domain-attribute name="content_guid">46f1a60c-0fd6-4979-8a9b-8eeb338f7058</domain-attribute><domain-attribute name="combined_media_state">MEDIA_ARCHIVE</domain-attribute><domain-attribute name="milestones_plist">http://mlb.mlb.com/mlb/mmls2015/14-413786-2015-04-16.plist</domain-attribute><domain-attribute name="inning_index_location_xml">http://mlb.mlb.com/mlb/mmls2015/413786.xml</domain-attribute><domain-attribute name="coverage_association">138</domain-attribute><domain-attribute name="coverage_type">out-of-market</domain-attribute><domain-attribute name="game_pk">413786</domain-attribute><domain-attribute name="authflow">true</domain-attribute><domain-attribute name="inning_index_location_plist">http://mlb.mlb.com/mlb/mmls2015/413786.plist</domain-attribute><domain-attribute name="source_aspect_ratio">HD</domain-attribute><domain-attribute name="away_team_id">158</domain-attribute><domain-attribute name="default_dam_view_key">MLBTV_MP_4</domain-attribute><domain-attribute name="in_epg">mlb_mp4_epg</domain-attribute><domain-attribute name="subject">LIVE_EVENT_COVERAGE</domain-attribute><domain-attribute name="game_events_location_plist">http://gdx.mlb.com/components/game/mlb/year_2015/month_04/day_16/gid_2015_04_16_milmlb_slnmlb_1/game_events.plist</domain-attribute><domain-attribute name="subject">MLBTV</domain-attribute><domain-attribute name="call_letters">FSMW-HD</domain-attribute><domain-attribute name="run_scoring_plays_location_plist">http://gdx.mlb.com/components/game/mlb/year_2015/month_04/day_16/gid_2015_04_16_milmlb_slnmlb_1/runScoringPlays.plist</domain-attribute><domain-attribute name="game_id">2015/04/16/milmlb-slnmlb-1</domain-attribute><domain-attribute name="closed_captions_location_ttml">http://mediadownloads.mlb.com/ttml/2015/04/16/66128783.ttml</domain-attribute><domain-attribute name="calendar_event_id">14-413786-2015-04-16</domain-attribute><domain-attribute name="milestones_xml">http://mlb.mlb.com/mlb/mmls2015/14-413786-2015-04-16.xml</domain-attribute><domain-attribute name="home_team_id">138</domain-attribute><domain-attribute name="event_date">2015-04-16T13:45:00-0400</domain-attribute></domain-specific-attributes><view-keys><view-key><key>MLBTV_MP_4</key></view-key></view-keys><features/></user-verified-content><user-verified-content><content-id>66129083</content-id><type>video</type><user-verified-media-item><media-item><type>video</type><state>MEDIA_DONE</state><cat-code>mlb_media_mlb_lg</cat-code><login-required>true</login-required><auth-required>true</auth-required><blackout-keywords><blackout-keyword>MLB_HOME_TEAM_BLACKOUT</blackout-keyword><blackout-keyword>MLB_AWAY_TEAM_BLACKOUT</blackout-keyword></blackout-keywords><playback-scenario>FMS_CLOUD</playback-scenario><has-synched-data>false</has-synched-data><preview-url>http://mediadownloads.mlb.com/mlbam/preview/milsln_1200_preview.mp4</preview-url><innings-index>http://mlb.mlb.com/mlb/mmls2015/413786.xml</innings-index><cdns/><sequence>1</sequence><duration xsi:nil="true"/></media-item><url/><auth-status><successStatus/></auth-status><blackout-status><successStatus/></blackout-status></user-verified-media-item><domain-specific-attributes><domain-attribute name="content_guid">fe57b959-5406-40e3-a8c5-b46a343d5994</domain-attribute><domain-attribute name="combined_media_state">MEDIA_ARCHIVE</domain-attribute><domain-attribute name="call_letters">FSWI-HD</domain-attribute><domain-attribute name="milestones_plist">http://mlb.mlb.com/mlb/mmls2015/14-413786-2015-04-16.plist</domain-attribute><domain-attribute name="inning_index_location_xml">http://mlb.mlb.com/mlb/mmls2015/413786.xml</domain-attribute><domain-attribute name="closed_captions_location_ttml">http://mediadownloads.mlb.com/ttml/2015/04/16/66129083.ttml</domain-attribute><domain-attribute name="coverage_type">out-of-market</domain-attribute><domain-attribute name="game_pk">413786</domain-attribute><domain-attribute name="authflow">true</domain-attribute><domain-attribute name="inning_index_location_plist">http://mlb.mlb.com/mlb/mmls2015/413786.plist</domain-attribute><domain-attribute name="source_aspect_ratio">HD</domain-attribute><domain-attribute name="away_team_id">158</domain-attribute><domain-attribute name="in_epg">mlb_mp4_epg</domain-attribute><domain-attribute name="default_dam_view_key">MLBTV_MP_4</domain-attribute><domain-attribute name="subject">LIVE_EVENT_COVERAGE</domain-attribute><domain-attribute name="game_events_location_plist">http://gdx.mlb.com/components/game/mlb/year_2015/month_04/day_16/gid_2015_04_16_milmlb_slnmlb_1/game_events.plist</domain-attribute><domain-attribute name="subject">MLBTV</domain-attribute><domain-attribute name="coverage_association">158</domain-attribute><domain-attribute name="run_scoring_plays_location_plist">http://gdx.mlb.com/components/game/mlb/year_2015/month_04/day_16/gid_2015_04_16_milmlb_slnmlb_1/runScoringPlays.plist</domain-attribute><domain-attribute name="game_id">2015/04/16/milmlb-slnmlb-1</domain-attribute><domain-attribute name="calendar_event_id">14-413786-2015-04-16</domain-attribute><domain-attribute name="milestones_xml">http://mlb.mlb.com/mlb/mmls2015/14-413786-2015-04-16.xml</domain-attribute><domain-attribute name="home_team_id">138</domain-attribute><domain-attribute name="event_date">2015-04-16T13:45:00-0400</domain-attribute></domain-specific-attributes><view-keys><view-key><key>MLBTV_MP_4</key></view-key></view-keys><features/></user-verified-content><domain-specific-attributes/></user-verified-event><determined-location><postal-code>1000</postal-code><country-code>at</country-code></determined-location><session-key>d+dtTma77URmCCqQT4GfTkGZk8w=</session-key><session-info/><status-code>1</status-code><status-message>Success Status</status-message></user-verified-media-response>

Hope it helps...

daftcat 04-17-2015 01:46 AM

This time it looks like you requested a completed game that was not yet archived. The media state is MEDIA_DONE instead of MEDIA_ARCHIVE. In the listings screen, it will have "(Archived)" next to game title when it's archived and available to stream.

larshenric 04-17-2015 08:44 AM

Oh yes... this might be the case. The game might have already been over...
But the problem happened with games surely not over at the point I tried to start them, so I will have a next try the next days. We'll see what happens... ;-)

chrisVV 04-18-2015 04:19 AM

Quote:

Originally Posted by larshenric (Post 5348866)
Oh yes... this might be the case. The game might have already been over...
But the problem happened with games surely not over at the point I tried to start them, so I will have a next try the next days. We'll see what happens... ;-)

If you have a basic subscription then you need to set use_wired_web in your config file (or at least, you certainly used to have to do that). Have you changed that by mistake?

larshenric 04-18-2015 01:41 PM

I don't have that line in my config-file, but I never had. I looked in an old backed-up file and there isn't such a line either...
I just tried the todays padres-cubs game and it starts! But all other games don't...
May there be a connection with the fact that I have changed my config-file with "favorite=chc" at the begin of the season?

daftcat 04-18-2015 06:14 PM

Add the use_wired_web=1 option to your config. There are many more options available in mlbviewer than what I put in the default config. If that still doesn't help, post another log from an unsuccessful request.

Also, when it doesn't work, have you tried switching to the other stream (home vs away)?

larshenric 04-19-2015 01:17 PM

Okay... I changed the config adding that line...
But no change starting the Braves-Blue Jays game. Here's the log:
04/19 20:07 | 2015-04-19 20:07:04.379578

04/19 20:07 | SUCCESSFUL MEDIA REQUEST: status-code: 1 , event-id = 14-413821-2015-04-19

04/19 20:07 | See /home/lars/.mlb/successful-1.xml for XML response.

Here the xml:
<user-verified-media-response><user-verified-event><event-id>14-413821-2015-04-19</event-id><user-verified-content><content-id>66366983</content-id><type>video</type><user-verified-media-item><media-item><type>video</type><state>MEDIA_ON</state><cat-code>mlb_media_mlb_lg</cat-code><login-required>true</login-required><auth-required>true</auth-required><blackout-keywords><blackout-keyword>MLB_HOME_TEAM_BLACKOUT</blackout-keyword><blackout-keyword>MLB_AWAY_TEAM_BLACKOUT</blackout-keyword></blackout-keywords><playback-scenario>FMS_CLOUD</playback-scenario><has-synched-data>false</has-synched-data><preview-url>http://mediadownloads.mlb.com/mlbam/preview/atltor_1200_preview.mp4</preview-url><innings-index>http://mlb.mlb.com/mlb/mmls2015/413821.xml</innings-index><cdns><cdn-name>PRIMARY_LEVEL3</cdn-name><cdn-name>PRIMARY_AKAMAI</cdn-name></cdns><sequence>1</sequence><duration xsi:nil="true"/></media-item><url/><auth-status><notAuthorizedStatus/></auth-status><blackout-status><successStatus/></blackout-status></user-verified-media-item><domain-specific-attributes><domain-attribute name="content_guid">bc7b9812-aaf6-422b-b845-633a08487062</domain-attribute><domain-attribute name="coverage_association">144</domain-attribute><domain-attribute name="closed_captions_location_ttml">http://mediadownloads.mlb.com/ttml/2015/04/19/66366983.ttml</domain-attribute><domain-attribute name="away_team_id">144</domain-attribute><domain-attribute name="authflow">true</domain-attribute><domain-attribute name="calendar_event_id">14-413821-2015-04-19</domain-attribute><domain-attribute name="coverage_type">out-of-market</domain-attribute><domain-attribute name="event_date">2015-04-19T13:07:00-0400</domain-attribute><domain-attribute name="inning_index_location_plist">http://mlb.mlb.com/mlb/mmls2015/413821.plist</domain-attribute><domain-attribute name="inning_index_location_xml">http://mlb.mlb.com/mlb/mmls2015/413821.xml</domain-attribute><domain-attribute name="source_aspect_ratio">HD</domain-attribute><domain-attribute name="run_scoring_plays_location_plist">http://gdx.mlb.com/components/game/mlb/year_2015/month_04/day_19/gid_2015_04_19_atlmlb_tormlb_1/runScoringPlays.plist</domain-attribute><domain-attribute name="combined_media_state">MEDIA_ON</domain-attribute><domain-attribute name="game_id">2015/04/19/atlmlb-tormlb-1</domain-attribute><domain-attribute name="default_dam_view_key">MLBTV_MP_4</domain-attribute><domain-attribute name="in_epg">mlb_mp4_epg</domain-attribute><domain-attribute name="subject">LIVE_EVENT_COVERAGE</domain-attribute><domain-attribute name="subject">MLBTV</domain-attribute><domain-attribute name="call_letters">FSSO-HD</domain-attribute><domain-attribute name="game_events_location_plist">http://gdx.mlb.com/components/game/mlb/year_2015/month_04/day_19/gid_2015_04_19_atlmlb_tormlb_1/game_events.plist</domain-attribute><domain-attribute name="home_team_id">141</domain-attribute><domain-attribute name="milestones_plist">http://mlb.mlb.com/mlb/mmls2015/14-413821-2015-04-19.plist</domain-attribute><domain-attribute name="game_pk">413821</domain-attribute><domain-attribute name="milestones_xml">http://mlb.mlb.com/mlb/mmls2015/14-413821-2015-04-19.xml</domain-attribute></domain-specific-attributes><view-keys><view-key><key>MLBTV_MP_4</key></view-key></view-keys><features/></user-verified-content><user-verified-content><content-id>66366883</content-id><type>video</type><user-verified-media-item><media-item><type>video</type><state>MEDIA_ON</state><cat-code>mlb_media_mlb_lg</cat-code><login-required>true</login-required><auth-required>true</auth-required><blackout-keywords><blackout-keyword>MLB_HOME_TEAM_BLACKOUT</blackout-keyword><blackout-keyword>MLB_AWAY_TEAM_BLACKOUT</blackout-keyword></blackout-keywords><playback-scenario>FMS_CLOUD</playback-scenario><has-synched-data>false</has-synched-data><preview-url>http://mediadownloads.mlb.com/mlbam/preview/atltor_1200_preview.mp4</preview-url><innings-index>http://mlb.mlb.com/mlb/mmls2015/413821.xml</innings-index><cdns><cdn-name>PRIMARY_LEVEL3</cdn-name><cdn-name>PRIMARY_AKAMAI</cdn-name></cdns><sequence>1</sequence><duration xsi:nil="true"/></media-item><url/><auth-status><successStatus/></auth-status><blackout-status><successStatus/></blackout-status></user-verified-media-item><domain-specific-attributes><domain-attribute name="content_guid">98becebc-457e-4175-adfe-edafc92ca507</domain-attribute><domain-attribute name="coverage_association">141</domain-attribute><domain-attribute name="away_team_id">144</domain-attribute><domain-attribute name="coverage_type">out-of-market</domain-attribute><domain-attribute name="calendar_event_id">14-413821-2015-04-19</domain-attribute><domain-attribute name="authflow">true</domain-attribute><domain-attribute name="event_date">2015-04-19T13:07:00-0400</domain-attribute><domain-attribute name="inning_index_location_plist">http://mlb.mlb.com/mlb/mmls2015/413821.plist</domain-attribute><domain-attribute name="source_aspect_ratio">HD</domain-attribute><domain-attribute name="inning_index_location_xml">http://mlb.mlb.com/mlb/mmls2015/413821.xml</domain-attribute><domain-attribute name="closed_captions_location_ttml">http://mediadownloads.mlb.com/ttml/2015/04/19/66366883.ttml</domain-attribute><domain-attribute name="run_scoring_plays_location_plist">http://gdx.mlb.com/components/game/mlb/year_2015/month_04/day_19/gid_2015_04_19_atlmlb_tormlb_1/runScoringPlays.plist</domain-attribute><domain-attribute name="combined_media_state">MEDIA_ON</domain-attribute><domain-attribute name="game_id">2015/04/19/atlmlb-tormlb-1</domain-attribute><domain-attribute name="in_epg">mlb_mp4_epg</domain-attribute><domain-attribute name="default_dam_view_key">MLBTV_MP_4</domain-attribute><domain-attribute name="subject">LIVE_EVENT_COVERAGE</domain-attribute><domain-attribute name="subject">MLBTV</domain-attribute><domain-attribute name="game_events_location_plist">http://gdx.mlb.com/components/game/mlb/year_2015/month_04/day_19/gid_2015_04_19_atlmlb_tormlb_1/game_events.plist</domain-attribute><domain-attribute name="home_team_id">141</domain-attribute><domain-attribute name="call_letters">SNO-HD</domain-attribute><domain-attribute name="milestones_plist">http://mlb.mlb.com/mlb/mmls2015/14-413821-2015-04-19.plist</domain-attribute><domain-attribute name="game_pk">413821</domain-attribute><domain-attribute name="milestones_xml">http://mlb.mlb.com/mlb/mmls2015/14-413821-2015-04-19.xml</domain-attribute></domain-specific-attributes><view-keys><view-key><key>MLBTV_MP_4</key></view-key></view-keys><features/></user-verified-content><domain-specific-attributes/></user-verified-event><determined-location><postal-code>44137</postal-code><country-code>de</country-code></determined-location><session-key>trCRgcOpKP1RVgYbWFAWjumEti4=</session-key><session-info/><status-code>1</status-code><status-message>Success Status</status-message></user-verified-media-response>

The Marlins game starts, the Angels' and the Cubs' game, too. The other games don't...

larshenric 04-20-2015 12:25 PM

Today I tried the Orioles-Red Sox game: "Away" didn't work, but "Home" did... :-)
I will go on trying this...

daftcat 04-20-2015 01:54 PM

Quote:

Originally Posted by larshenric (Post 5350251)
Today I tried the Orioles-Red Sox game: "Away" didn't work, but "Home" did... :-)
I will go on trying this...

That's what I think is going on. Basic subscribers generally get access to just one of the streams. I want to say it's the home stream but I don't think that's a rule. I also don't see how this is determined from the XML files I use to generate the listings.

So the next time you get an error, try the other stream.

daftcat 04-20-2015 02:07 PM

I also don't see a problem with that successful-1.xml file you recently posted. I wonder if the error/log message is referring to the wrong file.

If I remember correctly (haven't looked at this code in awhile)...

Request 1 performs a content-id lookup given an event-id.

Request 2 performs a media url lookup given a content-id.

Successful responses (status code = 1) are written to successful-<request>.xml (e.g. successful-1.xml or successful-2.xml.)

Unsuccessful responses (status code != 1) are written to unsucessful-<request>.xml.

These files are overwritten every time they are needed for a write.

Additionally, there's a tool in test directory called mediaxml.py which will make those xml files easier to read:

Quote:

user@mlblive-debian:~/mlbviewer2014$ test/mediaxml.py ~/.mlb/successful-2.xml
#document:
user-verified-media-response:
xmlns:xsi: http://www.w3.org/2001/XMLSchema-instance
xmlns: http://services.bamnetworks.com/media/types/2.3
user-verified-event:
event-id:
#text: 14-413834-2015-04-20
user-verified-content:
content-id:
#text: 70312183
type:
#text: video
user-verified-media-item:
media-item:
type:
#text: video
state:
#text: MEDIA_ON
cat-code:
#text: mlb_media_mlb_lg
login-required:
#text: true
auth-required:
#text: true
blackout-keywords:
blackout-keyword:
#text: MLB_HOME_TEAM_BLACKOUT
blackout-keyword:
#text: MLB_AWAY_TEAM_BLACKOUT
playback-scenario:
#text: FMS_CLOUD
has-synched-data:
#text: false
preview-url:
#cdata-section: http://mediadownloads.mlb.com/mlbam/...00_preview.mp4
innings-index:
#text: http://mlb.mlb.com/mlb/mmls2015/413834.xml
cdn:
name: PRIMARY_LEVEL3
#text: LEVEL3_FLASH_STREAM_LIVE
cdns:
cdn-name:
#text: PRIMARY_LEVEL3
cdn-name:
#text: PRIMARY_AKAMAI
sequence:
#text: 1
duration: None
xsi:nil: true
url:
#cdata-section: http://mediadownloads.mlb.com/mlbam/...entId=70312183
auth-status:
successStatus: None
blackout-status:
successStatus: None
...
It goes on like this for quite a bit with the domain parameters. What we're looking for in these files are auth-status: successStatus and blackout-status: successStatus.

If it's a successful-1.xml, we're looking for a content-id.

If it's a successful-2.xml, we're looking for a url.

If it's an unsuccessful-1.xml or unsuccessful-2.xml, we're looking in those status fields to see why we didn't get a url or a content-id.


All times are GMT -5. The time now is 04:46 PM.