4

My sister wanted me to save http://esewingworkshop.com/video-lesson/overview-zipper-types flash video & couple more for offline viewing purposes and asked me how to save it.

I immediately fired firebug in firefox but surprisingly the video source is not in the requests. http://hwcdn.net/m7n9i8d5/fms/videos/5_Standard_Zipper/B_Overview_of_Zipper_Types.flv.smil is the last request that is being made. response being:

<smil>
<head>
<meta base="rtmp://fms006.lo1.hwcdn.net/m7n9i8d5/_definst_">
</head>
<body>
<video
src="fms/videos/5_Standard_Zipper/B_Overview_of_Zipper_Types?doppl=965d6485db1d06d2&dopsig=867922856d781b57521a1dd3f7c28c5b"></video>
</body>
</smil>

So, I its using rtmp streaming protocol. I tried to figure out the source of this stream. I used "wireshark" and analysed the traffic and followed the TCP stream

POST http://fms006.lo1.hwcdn.net/fcs/ident2 HTTP/1.1
Content-Type: application/x-fcs
User-Agent: Shockwave Flash
Host: fms035.lo1.hwcdn.net
Content-Length: 1
Proxy-Connection: Keep-Alive
Pragma: no-cache

HTTP/1.1 200 OK
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 14
Server: FlashCom/3.5.5
Content-Type: text/plain

209.197.11.150POST http://209.197.11.219/open/1 HTTP/1.1
Content-Type: application/x-fcs
User-Agent: Shockwave Flash
Host: 209.197.11.219
Content-Length: 1
Proxy-Connection: Keep-Alive
Pragma: no-cache

HTTP/1.1 200 OK
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 17
Server: FlashCom/3.5.5
Content-Type: application/x-fcs

Wubmcmj7Q1T-6Tic
POST http://209.197.11.219/idle/Wubmcmj7Q1T-6Tic/0 HTTP/1.1
Content-Type: application/x-fcs
User-Agent: Shockwave Flash
Host: 209.197.11.219
Content-Length: 1
Proxy-Connection: Keep-Alive
Pragma: no-cache

HTTP/1.1 200 OK
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 1
Server: FlashCom/3.5.5
Content-Type: application/x-fcs

POST http://209.197.11.219/send/Wubmcmj7Q1T-6Tic/1 HTTP/1.1
Content-Type: application/x-fcs
User-Agent: Shockwave Flash
Host: 209.197.11.219
Content-Length: 1537
Proxy-Connection: Keep-Alive
Pragma: no-cache

HTTP/1.1 200 OK
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 3074
Server: FlashCom/3.5.5
Content-Type: application/x-fcs

and these are HTTP POST requests made by shockwave flash player (plugin-containter.exe) in order

http://fms006.lo1.hwcdn.net/fcs/ident2
http://209.197.11.150/open/1
http://209.197.11.150/idle/2BZmcmj6mhTWexFa/0
http://209.197.11.150/send/2BZmcmj6mhTWexFa/1
http://209.197.11.150/send/2BZmcmj6mhTWexFa/2
http://209.197.11.150/idle/2BZmcmj6mhTWexFa/3
http://209.197.11.150/send/2BZmcmj6mhTWexFa/4
http://209.197.11.150/send/2BZmcmj6mhTWexFa/5
http://209.197.11.150/idle/2BZmcmj6mhTWexFa/6
_this continues till /407..._

I don't get it. I'm little confused about how exactly this communication is taking place? I'm unable to find the video source. As far as I understood, from the SMIL request (browser made it) its getting the server address and then shockwaveplayer is taking over the communication and responses to these HTTP POST requests are the video in chunks.

But how & where is it identifying which video it wants? Where is RTMP? what is the url? How can I download it?

Zombo
  • 1
  • 62
  • 391
  • 407
claws
  • 52,236
  • 58
  • 146
  • 195
  • If you are using Linux the video is stored in the `/tmp` folder as long as it is playing. It has the name like `Flash*` where the rest are random characters. – mhitza Jan 26 '11 at 23:03

2 Answers2

2

I don't see how this a programming related question, but here goes:

  • How/Where?

    In the SMIL file, you see base and the video source. So full URL (probably protected):

    rtmp://fms006.lo1.hwcdn.net/m7n9i8d5/_definst_fms/videos/5_Standard_Zipper/B_Overview_of_Zipper_Types?doppl=965d6485db1d06d2&dopsig=867922856d781b57521a1dd3f7c28c5b

  • Where is RTMP?

    Not sure what you are asking. The SMIL explicitly references the RTMP stream URL.

  • How to Download?

    Best way would probably be to try using any number of 3rd party tools that are able to capture HTTP/RTMP streams via various mechanisms.

Not that you were asking (and not that this really was a programming related question), but many sites will frown upon downloading their content without permission.

kaliatech
  • 17,579
  • 5
  • 72
  • 84
-1
rtmpdump -r rtmp://fms.484C.edgecastcdn.net/00484C/videos/5_Standard_Zipper \
-a 00484C/videos/5_Standard_Zipper -y B_Overview_of_Zipper_Types \
-W http://esewingworkshop.com/sites/default/libraries/mediaplayer-5/player_5.6.swf \
-o a.flv
RTMPDump v2.4-84-gdd57cd0
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
INFO: Connected...
Starting download at: 0.000 kB
[...]
10780.451 kB / 241.50 sec (99.9%)
Download complete
Zombo
  • 1
  • 62
  • 391
  • 407
  • 2
    I'm wondering how this can be the accepted answer. It doesn't explain anything about SMIL, nor RTMP... There is only a command with a bunch of constants like "00484C" that are not present in the original requests posted by the OP. – David Costa Feb 11 '14 at 21:18
  • 2
    What I mean is that the answer is really narrow, and it answers only the first three lines of the question. You did a good job finding the stream and the parameters, but there's no way to understand how to reach the same result. I see no reasons for this question to stay on SO when it is so specific, and the accepted answer even _more_ specific. – David Costa Feb 11 '14 at 21:45
  • 2
    @DavidCosta this question was upvoted 3 time which means 3 people believe the question should stay, and my answer was accepted which means one person believes the answer should stay. If you dont like them then use the flagging tools that are available. – Zombo Feb 11 '14 at 21:49