[rtmpdump] rtmpsuck file?

Dan Schmidt helpdeskdan at gmail.com
Tue Jan 5 03:03:35 CET 2010


I was able to get the required mp4 path information from rtmpsrv and I 
was able to download the program.  I am curious why rtmpsuck did not work?

 ./rtmpsrv
RTMP Server 2.1b
(c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL

Streaming on rtmp://0.0.0.0:1935
DEBUG: serverThread: accepted connection from <My IP> to 68.142.74.185

DEBUG: SHandShake: Type Requested : 03
DEBUG: SHandShake: Client Uptime : 700744
DEBUG: SHandShake: Player Version: -128.0.3.2
DEBUG: SHandShake: Handshaking finished....
DEBUG2: RTMP_ReadPacket: fd=4
  0000:  03 00 00 00 00 01 7a 14  00 00 00 00               
......z.....     
  0000:  02 00 07 63 6f 6e 6e 65  63 74 00 3f f0 00 00 00   
...connect.?.... 
  0010:  00 00 00 03 00 03 61 70  70 02 00 09 61 31 38 36   
......app...a186 
  0020:  33 2f 6f 36 2f 00 08 66  6c 61 73 68 56 65 72 02   
3/o6/..flashVer. 
  0030:  00 0e 4c 4e 58 20 31 30  2c 30 2c 34 32 2c 33 34   ..LNX 
10,0,42,34 
  0040:  00 06 73 77 66 55 72 6c  02 00 39 68 74 74 70 3a   
..swfUrl..9http: 
  0050:  2f 2f 77 77 77 2d 74 63  2e 70 62 73 2e 6f 72 67   
//www-tc.pbs.org 
  0060:  2f 76 69 64 65 6f 2f 6d  65 64 69 61 2f 73 77 66   
/video/media/swf 
  0070:  2f 50 42 53 50 6c 61 79  65 72 2e 73 77 66 3f 31   
/PBSPlayer.swf?1 
DEBUG2: RTMP_ReadPacket: fd=4
  0000:  c3                                                 
.                
  0000:  33 32 34 31 00 05 74 63  55 72 6c 02 00 28 72 74   
3241..tcUrl..(rt 
  0010:  6d 70 3a 2f 2f 70 62 73  2e 66 63 6f 64 2e 6c 6c   
mp://pbs.fcod.ll 
  0020:  6e 77 64 2e 6e 65 74 3a  31 39 33 35 2f 61 31 38   
nwd.net:1935/a18 
  0030:  36 33 2f 6f 36 2f 00 04  66 70 61 64 01 00 00 0c   
63/o6/..fpad.... 
  0040:  63 61 70 61 62 69 6c 69  74 69 65 73 00 40 2e 00   
capabilities. at .. 
  0050:  00 00 00 00 00 00 0b 61  75 64 69 6f 43 6f 64 65   
.......audioCode 
  0060:  63 73 00 40 a8 ee 00 00  00 00 00 00 0b 76 69 64   
cs. at .........vid 
  0070:  65 6f 43 6f 64 65 63 73  00 40 6f 80 00 00 00 00   
eoCodecs. at o..... 
DEBUG2: RTMP_ReadPacket: fd=4
  0000:  c3                                                 
.                
  0000:  00 00 0d 76 69 64 65 6f  46 75 6e 63 74 69 6f 6e   
...videoFunction 
  0010:  00 3f f0 00 00 00 00 00  00 00 07 70 61 67 65 55   
.?.........pageU 
  0020:  72 6c 02 00 37 68 74 74  70 3a 2f 2f 76 69 64 65   
rl..7http://vide 
  0030:  6f 2e 70 62 73 2e 6f 72  67 2f 76 69 64 65 6f 2f   
o.pbs.org/video/ 
  0040:  31 32 38 36 34 33 37 35  35 30 2f 70 72 6f 67 72   
1286437550/progr 
  0050:  61 6d 2f 39 37 39 33 35  39 36 36 34 00 0e 6f 62   
am/979359664..ob 
  0060:  6a 65 63 74 45 6e 63 6f  64 69 6e 67 00 40 08 00   
jectEncoding. at .. 
  0070:  00 00 00 00 00 00 00 09  01 00                     
..........       
DEBUG: ServePacket, received packet type 14, size 378 bytes
DEBUG: ServePacket, received: invoke 378 bytes
DEBUG: (object begin)
DEBUG: Property: <Name:                  no-name., STRING:    connect>
DEBUG: Property: <Name:                  no-name., NUMBER:    1.00>
DEBUG: Property: <Name:                  no-name., OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name:                       app, STRING:    a1863/o6/>
DEBUG: Property: <Name:                  flashVer, STRING:    LNX 
10,0,42,34>
DEBUG: Property: <Name:                    swfUrl, STRING:    
http://www-tc.pbs.org/video/media/swf/PBSPlayer.swf?13241>
DEBUG: Property: <Name:                     tcUrl, STRING:    
rtmp://pbs.fcod.llnwd.net:1935/a1863/o6/>
DEBUG: Property: <Name:                      fpad, BOOLEAN:    FALSE>
DEBUG: Property: <Name:              capabilities, NUMBER:    15.00>
DEBUG: Property: <Name:               audioCodecs, NUMBER:    3191.00>
DEBUG: Property: <Name:               videoCodecs, NUMBER:    252.00>
DEBUG: Property: <Name:             videoFunction, NUMBER:    1.00>
DEBUG: Property: <Name:                   pageUrl, STRING:    
http://video.pbs.org/video/1286437550/program/979359664>
DEBUG: Property: <Name:            objectEncoding, NUMBER:    3.00>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: ServeInvoke, client invoking <connect>
DEBUG2: RTMP_SendPacket: fd=4, size=239
  0000:  43 00 00 00 00 00 ef 14                            
C.......         
  0000:  02 00 07 5f 72 65 73 75  6c 74 00 3f f0 00 00 00   
..._result.?.... 
  0010:  00 00 00 03 00 06 66 6d  73 56 65 72 02 00 0d 46   
......fmsVer...F 
  0020:  4d 53 2f 33 2c 35 2c 31  2c 35 32 35 00 0c 63 61   
MS/3,5,1,525..ca 
  0030:  70 61 62 69 6c 69 74 69  65 73 00 40 3f 00 00 00   
pabilities.@?... 
  0040:  00 00 00 00 04 6d 6f 64  65 00 3f f0 00 00 00 00   
.....mode.?..... 
  0050:  00 00 00 00 09 03 00 05  6c 65 76 65 6c 02 00 06   
........level... 
  0060:  73 74 61 74 75 73 00 04  63 6f 64 65 02 00 1d 4e   
status..code...N 
  0070:  65 74 43 6f 6e 6e 65 63  74 69 6f 6e 2e 43 6f 6e   
etConnection.Con 
  0000:  c3                                                 
.                
  0000:  6e 65 63 74 2e 53 75 63  63 65 73 73 00 0b 64 65   
nect.Success..de 
  0010:  73 63 72 69 70 74 69 6f  6e 02 00 15 43 6f 6e 6e   
scription...Conn 
  0020:  65 63 74 69 6f 6e 20 73  75 63 63 65 65 64 65 64   ection 
succeeded 
  0030:  2e 00 0e 6f 62 6a 65 63  74 45 6e 63 6f 64 69 6e   
...objectEncodin 
  0040:  67 00 40 08 00 00 00 00  00 00 00 04 64 61 74 61   
g. at .........data 
  0050:  03 00 07 76 65 72 73 69  6f 6e 02 00 09 33 2c 35   
...version...3,5 
  0060:  2c 31 2c 35 32 35 00 00  09 00 00 09 00 00 09      
,1,525.........  
DEBUG: Invoking _result
DEBUG2: RTMP_ReadPacket: fd=4
  0000:  03 00 00 9e 00 00 1a 11  00 00 00 00               
............     
  0000:  00 02 00 0c 63 72 65 61  74 65 53 74 72 65 61 6d   
....createStream 
  0010:  00 40 00 00 00 00 00 00  00 05                     
. at ........       
DEBUG: ServePacket, received packet type 11, size 26 bytes
DEBUG: ServePacket, flex message, size 26 bytes, not fully supported
DEBUG: (object begin)
DEBUG: Property: <Name:                  no-name., STRING:    createStream>
DEBUG: Property: <Name:                  no-name., NUMBER:    2.00>
DEBUG: (object end)
DEBUG: ServeInvoke, client invoking <createStream>
DEBUG2: RTMP_SendPacket: fd=4, size=29
  0000:  43 00 00 00 00 00 1d 14                            
C.......         
  0000:  02 00 07 5f 72 65 73 75  6c 74 00 40 00 00 00 00   
..._result. at .... 
  0010:  00 00 00 05 00 3f f0 00  00 00 00 00 00            
.....?.......    
DEBUG: Invoking _result
DEBUG2: RTMP_ReadPacket: fd=4
  0000:  02 f5 4f 1e 00 00 0a 04  00 00 00 00               
..O.........     
  0000:  00 03 00 00 00 00 00 00  00 64                     
.........d       
DEBUG: ServePacket, received packet type 04, size 10 bytes
DEBUG2: RTMP_ReadPacket: fd=4
  0000:  08 00 00 a0 00 00 54 11  01 00 00 00               
......T.....     
  0000:  00 02 00 04 70 6c 61 79  00 00 00 00 00 00 00 00   
....play........ 
  0010:  00 05 02 00 2d 6d 70 34  3a 74 70 2d 6c 69 76 65   
....-mp4:tp-live 
  0020:  2f 50 42 53 5f 43 50 5f  4e 4f 56 41 2f 4e 4f 56   
/PBS_CP_NOVA/NOV 
  0030:  41 33 36 30 35 5f 48 44  5f 73 74 61 63 6b 2e 6d   
A3605_HD_stack.m 
  0040:  70 34 00 c0 9f 40 00 00  00 00 00 00 41 f6 c5 1c   
p4... at ......A... 
  0050:  71 00 00 00                                        
q...             
DEBUG: ServePacket, received packet type 11, size 84 bytes
DEBUG: ServePacket, flex message, size 84 bytes, not fully supported
DEBUG: (object begin)
DEBUG: Property: <Name:                  no-name., STRING:    play>
DEBUG: Property: <Name:                  no-name., NUMBER:    0.00>
DEBUG: Property: NULL
DEBUG: Property: <Name:                  no-name., STRING:    
mp4:tp-live/PBS_CP_NOVA/NOVA3605_HD_stack.mp4>
DEBUG: Property: <Name:                  no-name., NUMBER:    -2000.00>
DEBUG: Property: <Name:                  no-name., NUMBER:    6112266000.00>
DEBUG: (object end)
DEBUG: ServeInvoke, client invoking <play>
DEBUG2: RTMP_ReadPacket: fd=4
  0000:  82 00 00 00                                        
....             
  0000:  00 03 00 00 00 01 00 00  00 64                     
.........d       
DEBUG: ServePacket, received packet type 04, size 10 bytes
DEBUG2: RTMP_ReadPacket: fd=4
  0000:  48 00 12 ff 00 00 19 11                            
H.......         
  0000:  00 02 00 0b 63 6c 6f 73  65 53 74 72 65 61 6d 00   
....closeStream. 
  0010:  00 00 00 00 00 00 00 00  05                        
.........        
DEBUG: ServePacket, received packet type 11, size 25 bytes
DEBUG: ServePacket, flex message, size 25 bytes, not fully supported
DEBUG: (object begin)
DEBUG: Property: <Name:                  no-name., STRING:    closeStream>
DEBUG: Property: <Name:                  no-name., NUMBER:    0.00>
DEBUG: (object end)
DEBUG: ServeInvoke, client invoking <closeStream>
DEBUG2: RTMP_ReadPacket: fd=4
  0000:  43 00 2c 24 00 00 23 11                            
C.,$..#.         
  0000:  00 02 00 0c 64 65 6c 65  74 65 53 74 72 65 61 6d   
....deleteStream 
  0010:  00 00 00 00 00 00 00 00  00 05 00 3f f0 00 00 00   
...........?.... 
  0020:  00 00 00                                           
...              
DEBUG: ServePacket, received packet type 11, size 35 bytes
DEBUG: ServePacket, flex message, size 35 bytes, not fully supported
DEBUG: (object begin)
DEBUG: Property: <Name:                  no-name., STRING:    deleteStream>
DEBUG: Property: <Name:                  no-name., NUMBER:    0.00>
DEBUG: Property: NULL
DEBUG: Property: <Name:                  no-name., NUMBER:    1.00>
DEBUG: (object end)
DEBUG: ServeInvoke, client invoking <deleteStream>
DEBUG2: RTMP_ReadPacket: fd=4


Howard Chu wrote:
> Dan Schmidt wrote:
>> I do not seem to be getting a file.  Perhaps something is wrong?  Any
>> suggestions appreciated.  Just want to watch fullscreen smoothly.
>
> Works for me.
>>
>> The readme implies data is written to a file:
>>
>> 122 Once the play command is processed, all subsequent audio/video data
>> received
>> 123 from the server will be written to a file, as well as being
>> delivered back
>> 124 to the client.
>
> Notice it says "Once the play the command is processed."
>
> There is no "play" command in the log snippet you attached. Perhaps 
> you just didn't wait long enough.
>
> Also, this is a program-of-last-resort. It will only be able to 
> download in realtime. You're better off reading the parameters that 
> got extracted and then using rtmpdump to get the stream.
>
>> Don't we open a file here?
>>
>>   328       server->out = fopen(file, "wb");
>>   329       if (!server->out)
>>   330         ret = 1;
>>   331       else
>>   332         fwrite(flvHeader, 1, sizeof(flvHeader), server->out);
>>   333     }
>>
>> http://video.pbs.org/video/1286437550/program/979359664
>>
>> dan at dan-desktop:~/rtmpsuck$ ./rtmpsuck
>> RTMP Proxy Server v2.1
>> (c) 2009 Andrej Stepanchuk, Howard Chu; license: GPL
>>
>> Streaming on rtmp://0.0.0.0:1935
>> DEBUG: serverThread: accepted connection from<My IP>  to 68.142.74.185
>>
>> DEBUG: SHandShake: Type Requested : 03
>> DEBUG: SHandShake: Client Uptime : 906397
>> DEBUG: SHandShake: Player Version: -128.0.3.2
>> DEBUG: SHandShake: Handshaking finished....
>> DEBUG: ServePacket, received packet type 14, size 378 bytes
>> DEBUG: ServePacket, received: invoke 378 bytes
>> DEBUG: (object begin)
>> DEBUG: (object begin)
>> DEBUG: Property:<Name:                       app, STRING:    a1863/o6/>
>> DEBUG: Property:<Name:                  flashVer, STRING:    LNX
>> 10,0,42,34>
>> DEBUG: Property:<Name:                    swfUrl, STRING:
>> http://www-tc.pbs.org/video/media/swf/PBSPlayer.swf?13241>
>> DEBUG: Property:<Name:                     tcUrl, STRING:
>> rtmp://pbs.fcod.llnwd.net:1935/a1863/o6/>
>> DEBUG: Property:<Name:                      fpad, BOOLEAN:    FALSE>
>> DEBUG: Property:<Name:              capabilities, NUMBER:    15.00>
>> DEBUG: Property:<Name:               audioCodecs, NUMBER:    3191.00>
>> DEBUG: Property:<Name:               videoCodecs, NUMBER:    252.00>
>> DEBUG: Property:<Name:             videoFunction, NUMBER:    1.00>
>> DEBUG: Property:<Name:                   pageUrl, STRING:
>> http://video.pbs.org/video/1286437550/program/979359664>
>> DEBUG: Property:<Name:            objectEncoding, NUMBER:    3.00>
>> DEBUG: (object end)
>> DEBUG: (object end)
>> DEBUG: ServeInvoke, client invoking<connect>
>> Processing connect
>> app: a1863/o6/
>> flashVer: LNX 10,0,42,34
>> swfUrl: http://www-tc.pbs.org/video/media/swf/PBSPlayer.swf?13241
>> tcUrl: rtmp://pbs.fcod.llnwd.net:1935/a1863/o6/
>> pageUrl: http://video.pbs.org/video/1286437550/program/979359664
>> DEBUG: RTMP_Connect, ... connected, handshaking
>> DEBUG: HandShake: Client type: 03
>>
>> DEBUG: HandShake: Client digest offset: 580
>> DEBUG: HandShake: Initial client digest:
>> A5 55 3F A3 FA 67 AF 76 FB 25 1B DF B3 EC 93 EA 78 94 AA 66 98 63 F3 24
>> 9B 5A 59 FB C0 D6 89 8A
>>
>


More information about the rtmpdump mailing list