Hi There,

I am trying to download some video with python but have run aground on
the rocky shores of pseudostreaming. Fingers crossed someone else here
has some experience with this! Here's what I've done so far...

The initial link is foo.asx so I download that with...

handle = urllib2.urlopen( 'http://www.example.com/foo.asx' )
mime_type = url_handle.info().getheader("Content-Type","")
data = urllib2.read()

It comes back with mime type of 'video/x-ms-asf' and the content...
'ASF http://www.example.com/foo-100.wmv'

I then used the same code again to grab the URL (ditching the 'ASF '
bit) and this time it comes back with a mime type of 'video/x-ms-wvx'
and two URLs...

Ref1=http://www.example.com/foo-100.wmv?MSWMExt=.asf
Ref2=http://192.168.0.1/foo-100.wmv?MSWMExt=.asf

The latter is no use as it's on a private LAN and the second is the same
URL as last time, just with a different mime type and naturally it
returns the same thing if I use Urllib2 open and read to fetch it with
or without the '?MSWMExt=.asf' part. So...

I fired up wireshark and spotted these lines coming back in the headers:

Server: Cougar/9.01.01.3862

Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch,
com.microsoft.wm.predstrm, com.microsoft.wm.fastcache,
com.microsoft.wm.startupprofile

Euw...

I suspected for a second that meant I have to connect with a MS media
player or something but the same URL works fine when I paste it into
Firefox and the video starts pseudostreaming away so...

How can I get their server to give me the video data?  Do I need to ask
for the file with some other protocol? RTSP? or change my user_agent
string and pretend to be Windows Media Player??  Do I need another
module as opposed to urllib2? and if so which one? I've had a search but
drawn a blank.

I guess I'll plug on in wireshark and see what some other programs do
but I'd appreciate it if anyone can put me out of my misery!

Yours stuck,

Roger Heathcote.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to