[rtmpdump] rtmpdump, FMS and NetStream::send issue

Alexander Ivanenko kitovyj at mail.ru
Mon Feb 28 17:02:13 CET 2011


Hi All,

I have a compatibility issue with rtmpdump 2.3 and fms 3.5/4.0.
The trouble is beacause of the 3 lines in ActionScript publisher my 
client uses:

--------------------
...
// publish the stream by name
nsPublish.publish(publishName.text);


// Here they are:

// add custom metadata to the stream
var metaData:Object = new Object();
metaData["description"] = "Chat using VideoChat example."
nsPublish.send("@setDataFrame", "onMetaData", metaData);


// attach the camera and microphone to the server
nsPublish.attachCamera(camera);
nsPublish.attachAudio(microphone);
...
------------


When I try to read the stream published with metadata using

rtmpdump --verbose --live -r rtmp://127.0.0.1/live/myStream -o 1.flv 

rtmpdump fails with log listed below. However, any native flash-player
plays the stream ok. 

I would like to make a patch that fixes an issue, but don't even know where to start.
It seems like FMS just closes the pipe at some moment.

Please help, any suggestions are appreciated.

Alexander.

rtmpdump log:

[alex at romul rtmpdump-2.3]$ rtmpdump --verbose --live -r rtmp://127.0.0.1/live/myStream -o 1.flv 
RTMPDump v2.3
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
DEBUG: Parsing...
DEBUG: Parsed protocol: 0
DEBUG: Parsed host    : 127.0.0.1
DEBUG: Parsed app     : live
DEBUG: Protocol : RTMP
DEBUG: Hostname : 127.0.0.1
DEBUG: Port     : 1935
DEBUG: Playpath : myStream
DEBUG: tcUrl    : rtmp://127.0.0.1:1935/live
DEBUG: app      : live
DEBUG: live     : yes
DEBUG: timeout  : 30 sec
DEBUG: Setting buffer time to: 36000000ms
Connecting ...
DEBUG: RTMP_Connect1, ... connected, handshaking
DEBUG: HandShake: Type Answer   : 03
DEBUG: HandShake: Server Uptime : 568712
DEBUG: HandShake: FMS Version   : 3.5.1.1
DEBUG: HandShake: Handshaking finished....
DEBUG: RTMP_Connect1, handshaked
DEBUG: Invoking connect
INFO: Connected...
DEBUG: HandleServerBW: server BW = 2500000
DEBUG: HandleClientBW: client BW = 2500000 2
DEBUG: HandleCtrl, received ctrl. type: 0, len: 6
DEBUG: HandleCtrl, Stream Begin 0
DEBUG: RTMP_ClientPacket, received: invoke 240 bytes
DEBUG:   0000:  02 00 07 5f 72 65 73 75  6c 74 00 3f f0 00 00 00   ..._result.?....  
DEBUG:   0010:  00 00 00 03 00 06 66 6d  73 56 65 72 02 00 0d 46   ......fmsVer...F  
DEBUG:   0020:  4d 53 2f 33 2c 35 2c 31  2c 35 31 36 00 0c 63 61   MS/3,5,1,516..ca  
DEBUG:   0030:  70 61 62 69 6c 69 74 69  65 73 00 40 3f 00 00 00   pabilities.@?...  
DEBUG:   0040:  00 00 00 00 04 6d 6f 64  65 00 3f f0 00 00 00 00   .....mode.?.....  
DEBUG:   0050:  00 00 00 00 09 03 00 05  6c 65 76 65 6c 02 00 06   ........level...  
DEBUG:   0060:  73 74 61 74 75 73 00 04  63 6f 64 65 02 00 1d 4e   status..code...N  
DEBUG:   0070:  65 74 43 6f 6e 6e 65 63  74 69 6f 6e 2e 43 6f 6e   etConnection.Con  
DEBUG:   0080:  6e 65 63 74 2e 53 75 63  63 65 73 73 00 0b 64 65   nect.Success..de  
DEBUG:   0090:  73 63 72 69 70 74 69 6f  6e 02 00 15 43 6f 6e 6e   scription...Conn  
DEBUG:   00a0:  65 63 74 69 6f 6e 20 73  75 63 63 65 65 64 65 64   ection succeeded  
DEBUG:   00b0:  2e 00 0e 6f 62 6a 65 63  74 45 6e 63 6f 64 69 6e   ...objectEncodin  
DEBUG:   00c0:  67 00 00 00 00 00 00 00  00 00 00 04 64 61 74 61   g...........data  
DEBUG:   00d0:  08 00 00 00 00 00 07 76  65 72 73 69 6f 6e 02 00   .......version..  
DEBUG:   00e0:  09 33 2c 35 2c 31 2c 35  31 36 00 00 09 00 00 09   .3,5,1,516......  
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name:             fmsVer, STRING:     FMS/3,5,1,516>
DEBUG: Property: <Name:       capabilities, NUMBER:     31.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,1,516>
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: FCSubscribe: myStream
DEBUG: Invoking FCSubscribe
DEBUG: RTMP_ClientPacket, received: invoke 29 bytes
DEBUG:   0000:  02 00 07 5f 72 65 73 75  6c 74 00 40 00 00 00 00   ..._result. at ....  
DEBUG:   0010:  00 00 00 05 00 3f f0 00  00 00 00 00 00            .....?.......     
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, stopTime=0, sending play: myStream
DEBUG: Invoking play
DEBUG: sending ctrl. type: 0x0003
Caught signal: 13, cleaning up, just a second...
ERROR: WriteN, RTMP send error 32 (42 bytes)
ERROR: RTMP_ReadPacket, failed to read RTMP packet header
DEBUG: Closing connection.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mplayerhq.hu/pipermail/rtmpdump/attachments/20110228/93dc8f88/attachment.htm>


More information about the rtmpdump mailing list