Progressive download with Urllib2.

R

r0g

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,228
Members
46,818
Latest member
SapanaCarpetStudio

Latest Threads

Top