Tuesday, March 14, 2006

Circumventing Flash Video on Linux

It is quite irritating when trying to view a piece of video, only to find that if you run Linux it is not supported. Read on for how get around this problem.

I am a Saturday Night Live fan and someone sent me a link to the Natalie Portman Raps skit at NBC (http://www.nbc.com/Video/videos/snl_1439_natalieraps.shtml). So after clicking on the link, the site tells me that it requires me to get a newer version of the Macromedia Flash player in order to play the video. Hmmm, this makes me wonder because I have recently upgraded to the latest version (7.0.61).

After digging through the Javascript on the page I find that if the browser is IE it simply plays the video without further delay. However, if your browser is not IE, it checks for the version of Flash player you have installed. If the version is less than 8.0 you cannot play the video. This is odd because I cannot find a version higher than 7.0.61.

After further examination we find the following code:

var pathToASX='/nbc/Video/asx/';
var isIE = (navigator.appName.indexOf('Microsoft')+1);
var content='Saturday_Night_Live/snl_1439_natalieraps';
var trafficPlay=true;
function init()
{
if(isIE)
{
playClip(content);
} else {
MM_CheckFlashVersion('8,0,0,0','Content on this page requires a newer version of Macromedia Flash Player. Do you want to download it now?');
}
}
function playClip(clip)
{
document.contentObj.URL=pathToASX+clip+'.asx';
}


In order to get around the problem we have to first get a URL to the real video. Here's how we do it. Following the above code, if your browser is Internet Explorer (heaven forbid) the code simply calls playClip() passing the 'content' variable which is:

'Saturday_Night_Live/snl_1439_natalieraps'.


Jump down to the playClip() function to see that the 'content' variable (now called 'clip') gets appended to the 'pathToASX' variable:

'/nbc/Video/asx/'


... which works out to:

'/nbc/Video/asx/Saturday_Night_Live/snl_1439_natalieraps'


Lastly the 'asx' suffix is added to form the complete path to the asx file:

'/nbc/Video/asx/Saturday_Night_Live/snl_1439_natalieraps.asx'


Right, now we prepend 'http://www.nbc.com/' and get that file:

wget http://www.nbc.com/nbc/Video/asx/Saturday_Night_Live/snl_1439_natalieraps.asx


...which looks like this:

<ASX version="3.0">
<ENTRY>
<REF href="http://g.msn.com/0VD0/02/26?m=snl_1439_natalieraps.wmv&csid=3&sd=mbr"/>
<REF href="http://g.msn.com/0VD0/02/26?m=snl_1439_natalieraps.wmv&csid=3&sd=mbr"/>
<REF href="http://g.msn.com/0VD0/02/26?m=snl_1439_natalieraps.wmv&csid=3&sd=mbr"/>
<TITLE>SNL - Natalie Raps</TITLE>
<ABSTRACT>A day in the life of Natalie Portman.</ABSTRACT>
<COPYRIGHT>Copyright (c)2005, NBC Universal</COPYRIGHT>
</ENTRY>
</ASX>


Ok, this file is simply more indirection so we get the embedded URL as follows:

wget 'http://g.msn.com/0VD0/02/26?m=snl_1439_natalieraps.wmv&csid=3&sd=mbr'


... which gives us another file containing the actual link to the mms stream. It looks like this:

<asx version="3.0"><entry><ref href="mms://od-msn.msn.com/3/MBR/snl_1439_natalieraps.wmv" /></entry></asx>


So now we have the mms URL:

mms://od-msn.msn.com/3/MBR/snl_1439_natalieraps.wmv


To get this onto our box we need the mmsclient program. I won't go into how to download and compile this but it is very straightforward for a Linux user.

Use the mmsclient program as follows:

mmsclient mms://od-msn.msn.com/3/MBR/snl_1439_natalieraps.wmv


... and that is it. After that completes you will have your very own copy of Natalie Raps. I must say that it wasn't really worth the extra work to download it but I figured someone may benefit by learning how to do it.

Questions can be sent to me via email on the link to the right.

Someone who has the time should write a script or something to automate this process. I just don't have the time right now.


Technorati Tags: , , , , ,

Saturday, March 04, 2006

Irritating Artsmessage


Have you seen this irritating little message popup when you login to your KDE session?

I have dealt with it for a month now because I had more pressing matters to deal with (mainly work), but have now become so sick of seeing this and missing the ability to use amarok that I have had to deal with it.

For those of you, like me, who have scoured google and found nothing to help, try removing the file at:

~/.kde/share/config/kcmartsrc

I had inadvertently messed up my Arts settings which resulted in the Artsmessage dialog above containing "Error while initializing the sound driver: device: default can't be opened for capture (Invalid argument)". This fixed it, so I figured someone else may benefit from my experience.


Technorati Tags: , , , , ,

Wednesday, March 01, 2006

Click Forensics

Click Forensics, of San Antionio, TX, has released their Click Fraud Network this week. Of course, as a senior engineer at Litmus Media, I am biased. But I don't understand the value of this offering.

Taken from clickfraudnetwork.com:
"Network members receive free access to CF Analytics?, a page tag based click fraud reporting system."
Ok, so what is CF Analytics?
"CF Analytics provides campaign reports detailing click fraud threat level by term and search provider. Additionally CFN will publish aggregate data to the Click Fraud Index site. This information will help members identify trends and communicate with each other about this growing issue."
Right. So CF Analytics "provides campaign reports". I guess this means that, if I am a PPC advertiser, I get a report emailed to me after-the-fact telling me how much money I have wasted using a PPC network full of click fraud.

Wait, that is not all! I get to spend some of my valuable time looking at trends on the Click Fraud Index site, and opine about how I think it stinks that the PPC networks cannot push clean traffic to my site.

I don't get it. We already know click fraud is a problem. How does guessing about which clicks are not valid and posting a report to that effect help anything?

If you can tell, or hypothosize about which clicks are valid and which are fraudulent, why not just send bogus clicks to yahoo.com or some other indifferent page? In other words, why not use ValidClick? It is like I am spending money for advertising on television to reach 1,000,000 people with my message, but I find out the TV network lied to me, because my spot reached half of the viewers. Why do I want a report telling me that the actual number that I reached was 520,242? My money is still wasted.

With ValidClick, the bogus traffic simply doesn't get through. Ergo, I don't pay for bogus clicks. Even if the cost was 10% higher, which it likely is not, wouldn't you want to use a network like that? And if it costs the same amount to advertise on the ValidClick network, which it likely does, it would just be a bad mistake to do otherwise.

Disclaimer: I am not an official spokesperson for Litmus Media Inc, ValidClick Inc., Think Partnership Inc. , Second Bite Inc, or any other related organization.


Technorati Tags: , , , , ,