My problems are in trying to download videos from
http://www.channel4.com/programmes/4od.
Sorry for the long post, just trying to give all the info in an attempt to get this resolved.
I have found the URL of the video I want to download with URLSnooper, at least I think I have the right one. And I have what I believe is a correct command line with the correct parameters.
After finally getting RTMPSRV to work by doing the hosts file trick what I have pretty much matches with the results RTMPSRV gives.
One things that is different the URL for the SWF file. I can download the acutal swf file with the URL I get from URLSnooper but not the one the RTMPSRV gives. Regardless using one or the other does not make it work.
Using the command RTMPSRV gives here is the output
Code:
C:\rtmpdump>rtmpdump -V -r "rtmpe://ll.securestream.channel4.com:1935/a4174/e1" -a "a4174/e1" -f "WIN 10,0,22,87" -W "http://www.channel4.com/static/programmes/ass.et/flash/swf/4odplayer-4.49.5.swf" -p "http://www.channel4.com/programmes/the-italian-kitchen/4od#2924187" -y "mp4:xcuassets/CH4_08_02_16_25880001001001_001" -o CH4_08_02_16_25880001001001_001.flv
DEBUG: Parsing...
DEBUG: Parsed protocol: 3
DEBUG: Parsed host : ll.securestream.channel4.com
DEBUG: Parsed port : 1935
DEBUG: Parsed app : a4174
DEBUG: Protocol : RTMPE
DEBUG: Hostname : ll.securestream.channel4.com
DEBUG: Port : 1935
DEBUG: Playpath : mp4:xcuassets/CH4_08_02_16_25880001001001_001
DEBUG: tcUrl : rtmpe://ll.securestream.channel4.com:1935/a4174/e1
DEBUG: swfUrl : http://www.channel4.com/static/programmes/ass.et/flash/swf/4odplayer-4.49.5.swf
DEBUG: pageUrl : http://www.channel4.com/programmes/the-italian-kitchen/4od#2924187
DEBUG: app : a4174/e1
DEBUG: auth : <NULL>
DEBUG: subscribepath : <NULL>
DEBUG: flashVer : WIN 10,0,22,87
DEBUG: live : no
DEBUG: timeout : 120 sec
DEBUG: SWFSHA256:
23 27 B1 CC 1D B0 5D 97 D1 9B 90 A4 8F 79 A0 74 43 F5 D9 B3 CB 92 CF 26 CE BE 38 B6 A2 DA 3E D8
DEBUG: SWFSize : 316479
DEBUG: Setting buffer time to: 36000000ms
Connecting ...
DEBUG: RTMP_Connect, ... connected, handshaking
DEBUG: HandShake: Client type: 06
DEBUG: HandShake: DH pubkey position: 987
DEBUG: HandShake: Client digest offset: 53
DEBUG: HandShake: Initial client digest:
97 76 18 FF 90 D5 A1 71 28 E2 BB 78 2E F1 71 3B E1 41 C9 6E B5 1F 71 A9 9D 31 52 96 43 B4 BB BE
DEBUG: HandShake: Type Answer : 06
DEBUG: HandShake: Server Uptime : 604594669
DEBUG: HandShake: FMS Version : 3.5.2.1
DEBUG: HandShake: Server DH public key offset: 69
DEBUG: HandShake: Secret key:
24 8A 9E 22 31 D0 44 B6 78 51 25 D8 C6 98 5E 78 A0 7E 8E 93 27 09 19 3E D7 41 7F 9E 37 B1 6D 33 79 96 0A 19 EE 2C F5 5F 0B E9 15 97 72 C5 D5 76 63 49 88 AF BD 21 FD D7 0F 91 AB 4B 8B A1 DD C1 64 A9 6C 1F 1C EB 8B CF E3 D5 73 82 70 14 07 F2 9F 33 8D 6B ED F8 1C 4E 94 90 BA BC 28 01 15 98 3C 7C 98 59 15 39 F9 94 94 5B AE B5 24 B0 E3 0F C2 9B DA 48 4F B2 A9 CF C8 E4 80 1A 9D 3B F8 13
DEBUG: RC4 Out Key:
DE D8 D6 E7 08 52 84 E0 66 42 87 FC 23 C4 53 16
DEBUG: RC4 In Key:
C5 74 40 23 7A F2 C4 03 E4 81 D5 36 D7 66 34 EC
DEBUG: HandShake: Calculated digest key from secure key and server digest:
F2 4E 29 9D 33 A0 9F 97 BA F7 C1 B6 43 0C F4 B5 DA 4A D6 FB 0E C2 BC AC 27 C5 23 EA 5E 6F 70 19
DEBUG: HandShake: Client signature calculated:
09 11 B8 23 76 33 5A 28 30 1E 39 33 91 B5 97 7B 27 46 51 60 32 CC 9E A2 B1 5E E2 03 DF 52 CE 96
DEBUG: HandShake: Server sent signature:
B5 DB 1C 98 8A 98 6F 65 08 27 33 71 97 9A 51 89 52 06 35 99 98 42 47 A2 A8 4A 43 8B 07 A3 2B 43
DEBUG: HandShake: Digest key:
2C DF B8 20 64 92 F7 3E 94 D1 FF B8 94 F0 17 51 40 0A 21 55 62 CC F1 C9 79 15 6D 9E 53 04 4C BC
DEBUG: HandShake: Signature calculated:
B5 DB 1C 98 8A 98 6F 65 08 27 33 71 97 9A 51 89 52 06 35 99 98 42 47 A2 A8 4A 43 8B 07 A3 2B 43
DEBUG: HandShake: Genuine Adobe Flash Media Server
DEBUG: HandShake: Handshaking finished....
DEBUG: RTMP_Connect, handshaked
DEBUG: Invoking connect
INFO: Connected...
DEBUG: HandleServerBW: server BW = 2500000
DEBUG: HandleClientBW: client BW = 2500000 2
DEBUG: HandleCtrl, received ctrl. type: 26, len: 3
DEBUG: HandleCtrl, SWFVerification ping received:
DEBUG: sending ctrl. type: 0x001b
DEBUG: Sending SWFVerification response:
00 1B 01 01 00 04 D4 3F 00 04 D4 3F 0E 01 E9 43 55 87 76 57 3C C6 33 E0 6E DE C2 23 B3 3B 36 9F C6 5B 95 4E 16 6B 94 08 B8 43 B0 1B
DEBUG: RTMP_ClientPacket, received: invoke 240 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name: fmsVer, STRING: FMS/3,5,3,837>
DEBUG: Property: <Name: capabilities, NUMBER: 127.00>
DEBUG: Property: <Name: mode, NUMBER: 1.00>
DEBUG: (object end)
DEBUG: (object begin)
DEBUG: Property: <Name: level, STRING: status>
DEBUG: Property: <Name: code, STRING: NetConnection.Connect.Success>
DEBUG: Property: <Name: description, STRING: Connection succeeded.>
DEBUG: Property: <Name: objectEncoding, NUMBER: 0.00>
DEBUG: Property: <Name: data, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name: version, STRING: 3,5,3,837>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_result>
DEBUG: HandleInvoke, received result for method call <connect>
DEBUG: sending ctrl. type: 0x0003
DEBUG: Invoking createStream
DEBUG: RTMP_ClientPacket, received: invoke 21 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onBWDone>
DEBUG: Invoking _checkbw
DEBUG: RTMP_ClientPacket, received: invoke 29 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_result>
DEBUG: HandleInvoke, received result for method call <createStream>
DEBUG: SendPlay, seekTime=0.00, dLength=0, sending play: mp4:xcuassets/CH4_08_02_16_25880001001001_001
DEBUG: Invoking play
DEBUG: sending ctrl. type: 0x0003
DEBUG: RTMP_ClientPacket, received: invoke 16419 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
DEBUG: RTMP_ClientPacket, received: invoke 133 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object begin)
DEBUG: Property: <Name: level, STRING: error>
DEBUG: Property: <Name: code, STRING: NetStream.Failed>
DEBUG: Property: <Name: description, STRING: Failed to play (stream ID: 1).>
DEBUG: Property: <Name: clientid, STRING: Qj84wXam>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Failed
DEBUG: Closing connection.
When RTMPSRV first got the command and tried it automatically I got two errors below but gets the above when I use the command prompt.
this one a few times before the command was executed
Code:
ERROR: RTMP_HashSWF: couldn't contact swfurl http://www.channel4.com/static/programmes/ass.et/flash/swf/4odplayer-4.49.5.swf
and this one most of the time after the command was executed
Code:
ERROR: RTMP_ReadPacket, failed to read RTMP packet header
Here is the command I came up. I can post the output if it will help:
Code:
C:\rtmpdump>rtmpdump -V -r rtmpe://ll.securestream.channel4.com/a4174/e1/mp4:assets/CH4_08_02_16_25880001001001_001.mp4 -a a4174/e1 -y mp4:xcuassets/CH4_08_02_16_25880001001001_001.mp4 -W http://www.channel4.com/static/programmes/asset/flash/swf/4odplayer-4.49.5.swf -o ik.flv -p http://www.channel4.com/programmes/the-italian-kitchen/4od#2924187
Both RTMPSRV's and my command both seem to stop at bottom on Failed to play (stream ID: 1).
So it seems to me that both are pretty close, and I know close really doesn't matter, it has to be exactly right. Nonetheless, I cannot get 4oD videos and I don't why. It seems that things are right but nothing seems to work. I have read and tried many, many different commands but to no effect.
Also someone stated that StreamTransport worked on 4oD videos, but I can only get it to see the ads and does not show the real video URL and thus cannot download it. Also GetFLV throws up various URLs for the video file but cannot download them, maybe I need to try some more with it. Then there was a mention of get_flash_videos. I am using Windows and can't seem to get it to take to rtmpdump, not sure if these two only work together in Linux.
If someone, who is obviously more intelligent than I, could lead me in the right direction to download 4oD videos, point out my errors or offer any assistance even if it is to let me know that it can't be done, I would really appreciate it.
Cheers
As an aside if I use 2.2c I almost always get this error
Code:
WARNING: HandShake: Type mismatch: client sent 6, server answered 8
but not with 2.1c. Not sure if this is a bug in the new version, or if it depends on the command it is given or whether or not the error matters or it's operator error.