Page 1 of 1

Troubles reading a stream which reads perfectly WindowsMedia

Posted: 26 Apr 2006 18:44
by Suricat
Hi folks,

I've browsed FAQ and doc, search this forum but not found my solution.... I don't get why this doesn't work.

I'm trying to read this stream : http://stream.babiel.com/pusheuat4_1804a.wmv (via). It reads well from Media Player but I can't get it with VLC....

From the logger file I get these (I tried to keep only revelant parts, but I may have miss important information. I can supply a long/full listing if required). I don't understand the origin of HTTP/1.0 400 Bad Request

What surprises me is it works with Windows Media Player

Sorry this is my first message here...

If anyone has a clue...

Code: Select all

logger: VLC media player - version 0.8.4a Janus - (c) 1996-2005 the VideoLAN team main debug: adding playlist item `http://stream.babiel.com/pusheuat4_1804a.wmv' ( http://stream.babiel.com/pusheuat4_1804a.wmv ) main debug: `http://stream.babiel.com/pusheuat4_1804a.wmv' gives access `http' demux `' path `stream.babiel.com/pusheuat4_1804a.wmv' main debug: `http://stream.babiel.com/pusheuat4_1804a.wmv' successfully opened m3u debug: starting playlist playback main debug: adding playlist item `mmsh://stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.asf' ( mmsh://stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.asf ) main debug: adding playlist item `mmsh://217.79.215.188:80/pusheuat4_1804a.wmv?MSWMExt=.asf' ( mmsh://217.79.215.188:80/pusheuat4_1804a.wmv?MSWMExt=.asf ) main debug: `mmsh://stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.asf' gives access `mmsh' demux `' path `stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.asf' access_mms debug: HTTP reply 'HTTP/1.0 200 OK' access_mms debug: stream type = seekable access_mms debug: complete header size=6086 access_mms debug: packet count=155909 packet size=2888 access_mms debug: starting stream main debug: net: connecting to stream.babiel.com port 80 main debug: connection in progress access_mms error: error: HTTP/1.0 400 Bad Request access_mms error: cannot start stream vcd debug: trying .cue file: stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.cue access_file warning: stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.asf: No such file or directory cdda debug: trying .cue file: stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.cue cdda warning: could not open stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.asf main warning: no access2 module matching "mmsh" could be loaded main error: no suitable access module for `mmsh://stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.asf' main debug: thread times: real 0m1.141653s, kernel 0m0.100144s, user 0m0.040057s [and then the same thing for the second mmsh stream]

Many thanks.

Posted: 26 Apr 2006 22:10
by Guest
What version of VLC?

Version innfo can be found in the Help tab. Plaese don't say the current version. :lol:

Posted: 26 Apr 2006 23:14
by Suricat
It is on the first line of the "code" section :-)

logger: VLC media player - version 0.8.4a Janus - (c) 1996-2005 the VideoLAN team

Is it enought ?

Posted: 27 Apr 2006 01:18
by DJ
You might try 0.8.5 Test 3 as I believe the mmsh section has been rebuilt.

http://downloads.videolan.org/pub/video ... 8.5-test3/

Posted: 27 Apr 2006 10:15
by Suricat
With 0.8.4a in the message windows I had

Code: Select all

access_mms error: error: HTTP/1.0 400 Bad Request access_mms error: cannot start stream main error: no suitable access module for `mmsh://stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.asf' access_mms error: error: HTTP/1.0 400 Bad Request access_mms error: cannot start stream main error: no suitable access module for `mmsh://217.79.215.188:80/pusheuat4_1804a.wmv?MSWMExt=.asf'
with 0.8.6-test3 I have

Code: Select all

access_mms error: failed to send command access_mms error: failed to send command access_mms error: failed to send command access_mms error: failed to send command access_mms error: cannot connect to server access_mms error: cannot read data access_mms error: error: HTTP/1.0 400 Bad Request access_mms error: cannot start stream main error: no suitable access module for `mms://stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.asf'
(which is almost the same)

I've done the test again at the same time with Windows Media 9.00.00.3344 and it works.

Seems it looks like a protocol mismatch, I did an Ethereal capture of the two connections which are really different.

VLC
It starts with a really simple HTTP request

Code: Select all

GET /pusheuat4_1804a.wmv HTTP/1.1 Host: stream.babiel.com User-Agent: VLC media player - version 0.8.5-test3 Janus - (c) 1996-2006 the VideoLAN team Range: bytes=0- Icy-MetaData: 1 Connection: Close
and receives

Code: Select all

HTTP/1.1 200 OK Content-Type: video/x-ms-wvx Cache-Control: max-age=0, no-cache Server: Cougar/9.00.00.3380 Content-Length: 141 Date: Thu, 27 Apr 2006 07:44:38 GMT Pragma: no-cache, xResetStrm=1 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache [Reference] Ref1=http://stream.babiel.com/pusheuat4_1804a.wmv?MSWMExt=.asf Ref2=http://217.79.215.188:80/pusheuat4_1804a.wmv?MSWMExt=.asf
It then tries to connect to port 1755. First it receives a RST immediately, then i sends a MMS packet but still receives a RST.

Then it switch back to HTTP

Code: Select all

GET /pusheuat4_1804a.wmv?MSWMExt=.asf HTTP/1.0 Accept: */* User-Agent: NSPlayer/4.1.0.3856 Host: stream.babiel.com:80 Pragma: no-cache,rate=1.000000,stream-time=0,stream-offset=0:0,request-context=1,max-duration=0 Pragma: xClientGUID={babac001-ca73-e43f-3a522879febc03fc} Connection: Close
And receives

Code: Select all

HTTP/1.0 200 OK Content-Type: application/vnd.ms.wms-hdr.asfv1 Server: Cougar/9.00.00.3380 Content-Length: 6098 Date: Thu, 27 Apr 2006 07:44:40 GMT Pragma: no-cache, client-id=2762057851, xResetStrm=1, features="seekable,stridable" Cache-Control: no-cache, x-wms-content-size=450672698, max-age=86399, user-public, must-revalidate, proxy-public, proxy-revalidate Last-Modified: Tue, 18 Apr 2006 17:28:03 GMT Etag: "450672698" Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache (+ binary data I can't understand)
This connexion closes normaly.

A last there is this request :

Code: Select all

GET /pusheuat4_1804a.wmv?MSWMExt=.asf HTTP/1.0 Accept: */* User-Agent: NSPlayer/4.1.0.3856 Host: stream.babiel.com:80 Pragma: no-cache,rate=1.000000,stream-time=0,stream-offset=0:0,request-context=2,max-duration=0 Pragma: xPlayStrm=1 Pragma: xClientGUID={babac001-ca73-e43f-3a522879febc03fc} Pragma: stream-switch-count=2 Pragma: stream-switch-entry=ffff:1:0 ffff:2:2 ffff:3:2 ffff:4:0 ffff:5:2 ffff:6:2 Connection: Close
With a very explicit answer

Code: Select all

HTTP/1.0 400 Bad Request Server: Cougar/9.00.00.3380 Date: Thu, 27 Apr 2006 07:44:40 GMT Pragma: no-cache Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache
Windows Media
It has done only one connection, wich worked :

Code: Select all

GET /pusheuat4_1804a.wmv HTTP/1.1 Accept: */* User-Agent: NSPlayer/9.0.0.2980 Host: stream.babiel.com X-Accept-Authentication: Negotiate, NTLM, Digest, Basic Pragma: version11-enabled=1 Pragma: no-cache,rate=1.000,stream-time=0,stream-offset=0:0,packet-num=4294967295,max-duration=0 Pragma: packet-pair-experiment=1 Pragma: pipeline-experiment=1 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm Pragma: xClientGUID={3300AD50-2C39-46c0-AE0A-686D4AF1FA28} Accept-Language: fr-FR, *;q=0.1 -------------------------------------------------------------------------------- HTTP/1.1 200 OK Pragma: packet-pair-experiment=1, no-cache, pipeline-experiment=1, client-id=1415253077, xResetStrm=1, features="seekable,stridable", timeout=60000 Content-Type: application/vnd.ms.wms-hdr.asfv1 Server: Cougar/9.00.00.3380 Content-Length: 8649 Date: Thu, 27 Apr 2006 07:41:00 GMT Cache-Control: no-cache, x-wms-content-size=450672698, max-age=86399, user-public, must-revalidate, proxy-public, proxy-revalidate Last-Modified: Tue, 18 Apr 2006 17:28:03 GMT Etag: "450672698" Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache (+binary data) -------------------------------------------------------------------------------- Accept: */* User-Agent: NSPlayer/9.0.0.2980 Host: stream.babiel.com Pragma: pipeline-request=1 Pragma: client-id=1415253077 Connection: keep-alive -------------------------------------------------------------------------------- HTTP/1.1 200 OK Server: Cougar/9.00.00.3380 Date: Thu, 27 Apr 2006 07:41:01 GMT Pragma: no-cache, client-id=1415253077, features="seekable,stridable", timeout=60000 Cache-Control: no-cache, x-wms-content-size=450672698, max-age=86398, user-public, must-revalidate, proxy-public, proxy-revalidate Last-Modified: Tue, 18 Apr 2006 17:28:03 GMT Etag: "450672698" Transfer-Encoding: chunked Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache -------------------------------------------------------------------------------- GET /pusheuat4_1804a.wmv HTTP/1.1 Accept: */* User-Agent: NSPlayer/9.0.0.2980 Host: stream.babiel.com Pragma: pipeline-request=1 Pragma: client-id=1415253077 Connection: keep-alive -------------------------------------------------------------------------------- HTTP/1.1 200 OK Server: Cougar/9.00.00.3380 Date: Thu, 27 Apr 2006 07:41:01 GMT Pragma: no-cache, pipeline-result=1, client-id=1415253077, features="seekable,stridable", timeout=60000 Cache-Control: no-cache, x-wms-content-size=450672698, max-age=86398, user-public, must-revalidate, proxy-public, proxy-revalidate Last-Modified: Tue, 18 Apr 2006 17:28:03 GMT Etag: "450672698" Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache Content-Length: 0 -------------------------------------------------------------------------------- GET /pusheuat4_1804a.wmv HTTP/1.1 Accept: */* User-Agent: NSPlayer/9.0.0.2980 Host: stream.babiel.com X-Accept-Authentication: Negotiate, NTLM, Digest, Basic Pragma: version11-enabled=1 Pragma: no-cache,rate=1.000,stream-time=0,stream-offset=4294967295:4294967295,packet-num=4294967295,max-duration=0 Pragma: xPlayStrm=1 Pragma: client-id=1415253077 Pragma: LinkBW=2147483647, AccelBW=2147483647, AccelDuration=10000, Speed=7866.309 Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch Pragma: playlist-seek-id=16707 Pragma: xClientGUID={3300AD50-2C39-46c0-AE0A-686D4AF1FA28} Pragma: stream-switch-count=6 Pragma: stream-switch-entry=ffff:1:0 ffff:2:2 ffff:3:2 ffff:4:0 ffff:5:2 ffff:6:2 Accept-Language: en-US, *;q=0.1 -------------------------------------------------------------------------------- HTTP/1.1 200 OK Content-Type: application/x-mms-framed Server: Cougar/9.00.00.3380 Date: Thu, 27 Apr 2006 07:41:02 GMT Pragma: no-cache, client-id=1415253077, features="seekable,stridable", timeout=60000, AccelBW=0, AccelDuration=0, Speed=4.190 Cache-Control: no-cache, x-wms-content-size=450672698, max-age=86397, user-public, must-revalidate, proxy-public, proxy-revalidate Last-Modified: Tue, 18 Apr 2006 17:28:03 GMT Etag: "450672698" Transfer-Encoding: chunked Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache (and here starts the movie)
The main differences I can see is the user agent (User-Agent: NSPlayer/4.1.0.3856 vs User-Agent: NSPlayer/9.0.0.2980) and the fact that when VLC connects with the user agent it tries with and URL completed with "?MSWMExt=.asf " which might be the reason of the "Bad Request" answer....

Well... If anyone has an idea....

(sorry for this long post)

Posted: 29 Apr 2006 04:48
by Guest
Interesting! You have obviously done some research here. I would like to know the answer too.

hoho

Posted: 27 Jul 2006 20:29
by RomkaFromUA
Hi) Trying to work with WMS and have also some problems similar to yours.

I'm working with WinHttp, and it seems that it'll be unreal to use it to get stream like Windows Media does (((

If any of my thoughts are interesting (who knows? :) ) or you've reached some results in your work and think you can help me, you may mail shmromacs@yandex.ru.

thanks :) bye

Posted: 27 Jul 2006 21:38
by Suricat
Unfortunately, I did had any more answer on this topic. I've managed another wy of reading this feed with WMP....

Posted: 11 Aug 2006 22:00
by RomkaFromUA
Hi again )) Fate plays games, and I'm again on this forum )) so... I've created a program, that is attackin' WMS with a number of requests using sockets and IOCP... so ... maybe it'll be useful for you

Posted: 11 Aug 2006 23:55
by DJ
While I'm getting a bit different error report than you are it doesn't work for me either using VLC.

I most certainly would not say "perfectly" as there are black lines randomly running through the video and the right side of the video shows distortions. This is not well encoded video.

this is what is wrong

Posted: 26 Oct 2006 13:35
by pdoru
look here:

Pragma: stream-switch-count=2

Pragma: stream-switch-entry=ffff:1:0 ffff:2:2 ffff:3:2 ffff:4:0 ffff:5:2 ffff:6:2


how many streams do you count ? i count 6. while only 2 are active, there are 6 streams in the switch entry descriptor.