rtmpstart
目前在研究rtmp协议 使用librtmp ,目前把里面的链接的过程添加了自己熟悉的打印,先做一个备份,稍后整理下。
有些内容控制命令还不清楚是什么;
rtmp_log Parsed protocol: 0
rtmp_log Parsed host : 180.97.33.188
rtmp_log Parsed port: 8835
rtmp_log Parsed app : live
rtmp_log RTMP_Connect1, ... connected, handshaking
rtmp_log HandShake: Client -> Server C0 C1
rtmp_log HandShake: Server -> Client S0
rtmp_log HandShake: Type Answer : 03
rtmp_log HandShake: Server -> Client S1
rtmp_log HandShake: Server Uptime : -414916555
rtmp_log HandShake: FMS Version : -118.-104.120.-61
rtmp_log HandShake: Client -> Server C2
rtmp_log HandShake: Server -> Client C2
rtmp_log RTMP_Connect1, handshaked //握手完成
-------------------------------------------------------
rtmp_log Invoking connect
r tmp_log RTMP_ClientPacket, Client<-Server received: PACKET_TYPE_SERVER_BW
rtmp_log HandleServerBW: server BW = 2500000
rtmp_log RTMP_ClientPacket, Client<-Server received: PACKET_TYPE_CLIENT_BW
rtmp_log HandleClientBW: client BW = 2500000 2
rtmp_log HandleCtrl, Client<-Server received ctrl. type: 0, len: 6
rtmp_log HandleCtrl, Client<-Server Stream Begin 0
rtmp_log RTMP_ClientPacket, Client<-Server eceived: RTMP_PACKET_TYPE_INVOKE invoke 189 bytes
rtmp_log (object begin)
rtmp_log Property: <Name: no-name., STRING: _result>
rtmp_log Property: <Name: no-name., NUMBER: 1.00>
rtmp_log Property: <Name: no-name., OBJECT>
rtmp_log (object begin)
rtmp_log Property: <Name: fmsVer, STRING: FMS/3,0,1,123>
rtmp_log Property: <Name: capabilities, NUMBER: 31.00>
rtmp_log (object end)
rtmp_log Property: <Name: no-name., OBJECT>
rtmp_log (object begin)
rtmp_log Property: <Name: level, STRING: status>
rtmp_log Property: <Name: code, STRING: NetConnection.Connect.Success>
rtmp_log Property: <Name: description, STRING: Connection succeeded>
rtmp_log Property: <Name: objectEncoding, NUMBER: 0.00>
rtmp_log (object end)
rtmp_log (object end)
rtmp_log HandleInvoke, server invoking <_result>
rtmp_log HandleInvoke, received result for method call <connect>
rtmp_log Client->Server RTMP_SendServerBW
rtmp_log RTMP_SendPacket: fd=4, size=4
rtmp_log Client->Server : sending ctrl. type: 0x0003
rtmp_log RTMP_SendPacket: fd=4, size=10
rtmp_log RTMP_SendPacket: fd=4, size=25
rtmp_log Invoking createStream
rtmp_log FCSubscribe: 270
rtmp_log RTMP_SendPacket: fd=4, size=30
rtmp_log Invoking FCSubscribe
rtmp_log RTMP_ClientPacket, Client<-Server eceived: RTMP_PACKET_TYPE_INVOKE invoke 30 bytes
rtmp_log (object begin)
rtmp_log Property: <Name: no-name., STRING: onBWDone>
rtmp_log Property: <Name: no-name., NUMBER: 0.00>
rtmp_log Property: NULL
rtmp_log Property: <Name: no-name., NUMBER: 8192.00>
rtmp_log (object end)
rtmp_log HandleInvoke, server invoking <onBWDone>
rtmp_log Client->Server SendCheckBW
rtmp_log RTMP_SendPacket: fd=4, size=21
rtmp_log Invoking _checkbw
rtmp_log RTMP_ClientPacket, Client<-Server eceived: RTMP_PACKET_TYPE_INVOKE invoke 29 bytes
rtmp_log (object begin)
rtmp_log Property: <Name: no-name., STRING: _result>
rtmp_log Property: <Name: no-name., NUMBER: 2.00>
rtmp_log Property: NULL
rtmp_log Property: <Name: no-name., NUMBER: 1.00>
rtmp_log (object end)
rtmp_log HandleInvoke, server invoking <_result>
rtmp_log HandleInvoke, received result for method call <createStream>
rtmp_log Client->Server SendPlay
rtmp_log SendPlay, seekTime=0, stopTime=0, sending play: 270
rtmp_log RTMP_SendPacket: fd=4, size=32
rtmp_log Invoking play
rtmp_log Client->Server : sending ctrl. type: 0x0003
rtmp_log RTMP_SendPacket: fd=4, size=10
rtmp_log RTMP_ClientPacket, Client<-Server eceived: RTMP_PACKET_TYPE_INVOKE invoke 78 bytes
rtmp_log (object begin)
rtmp_log Property: <Name: no-name., STRING: onFCSubscribe>
rtmp_log Property: <Name: no-name., NUMBER: 0.00>
rtmp_log Property: NULL
rtmp_log Property: <Name: no-name., OBJECT>
rtmp_log (object begin)
rtmp_log Property: <Name: code, STRING: NetStream.Play.Start>
rtmp_log Property: <Name: description, STRING: 270>
rtmp_log (object end)
rtmp_log (object end)
rtmp_log HandleInvoke, server invoking <onFCSubscribe> // 此命令不太明白为什么,以及失败会影响什么;
rtmp_log RTMP_ClientPacket, Client<-Server eceived: RTMP_PACKET_TYPE_INVOKE invoke 120 bytes
rtmp_log (object begin)
rtmp_log Property: <Name: no-name., STRING: _error>
rtmp_log Property: <Name: no-name., NUMBER: 4.00>
rtmp_log Property: NULL
rtmp_log Property: <Name: no-name., OBJECT>
rtmp_log (object begin)
rtmp_log Property: <Name: level, STRING: error>
rtmp_log Property: <Name: code, STRING: NetConnection.Call.Failed>
rtmp_log Property: <Name: description, STRING: call to function _checkbw failed>
rtmp_log (object end)
rtmp_log (object end)
rtmp_log HandleInvoke, server invoking <_error>
rtmp_log rtmp server sent error no - CRYPTO
rtmp_log HandleCtrl, Client<-Server received ctrl. type: 0, len: 6
rtmp_log HandleCtrl, Client<-Server Stream Begin 1
rtmp_log RTMP_ClientPacket, Client<-Server eceived: RTMP_PACKET_TYPE_INVOKE invoke 138 bytes
rtmp_log (object begin)
rtmp_log Property: <Name: no-name., STRING: onStatus>
rtmp_log Property: <Name: no-name., NUMBER: 0.00>
rtmp_log Property: NULL
rtmp_log Property: <Name: no-name., OBJECT>
rtmp_log (object begin)
rtmp_log Property: <Name: level, STRING: status>
rtmp_log Property: <Name: code, STRING: NetStream.Play.Reset>
rtmp_log Property: <Name: description, STRING: reset...>
rtmp_log Property: <Name: details, STRING: 270>
rtmp_log Property: <Name: clientid, STRING: 326471_1_6338352>
rtmp_log (object end)
rtmp_log (object end)
rtmp_log HandleInvoke, server invoking <onStatus>
rtmp_log HandleInvoke, onStatus: NetStream.Play.Reset
rtmp_log RTMP_ClientPacket, Client<-Server eceived: RTMP_PACKET_TYPE_INVOKE invoke 138 bytes
rtmp_log (object begin)
rtmp_log Property: <Name: no-name., STRING: onStatus>
rtmp_log Property: <Name: no-name., NUMBER: 0.00>
rtmp_log Property: NULL
rtmp_log Property: <Name: no-name., OBJECT>
rtmp_log (object begin)
rtmp_log Property: <Name: level, STRING: status>
rtmp_log Property: <Name: code, STRING: NetStream.Play.Start>
rtmp_log Property: <Name: description, STRING: start...>
rtmp_log Property: <Name: details, STRING: 270>
rtmp_log Property: <Name: clientid, STRING: 326471_1_6338352>
rtmp_log (object end)
rtmp_log (object end)
rtmp_log HandleInvoke, server invoking <onStatus>
rtmp_log HandleInvoke, onStatus: NetStream.Play.Start
rtmp_log RTMP_ClientPacket, Client<-Server received: PACKET_TYPE_INFO notify 24 bytes
rtmp_log (object begin)
rtmp_log Property: <Name: no-name., STRING: |RtmpSampleAccess>
rtmp_log Property: <Name: no-name., BOOLEAN: FALSE>
rtmp_log Property: <Name: no-name., BOOLEAN: FALSE>
rtmp_log (object end)
rtmp_log RTMP_ClientPacket, Client<-Server received: PACKET_TYPE_INFO notify 280 bytes
rtmp_log (object begin)
rtmp_log Property: <Name: no-name., STRING: onMetaData>
rtmp_log Property: <Name: no-name., OBJECT>
rtmp_log (object begin)
rtmp_log Property: <Name: width, NUMBER: 320.00>
rtmp_log Property: <Name: height, NUMBER: 240.00>
rtmp_log Property: <Name: framerate, NUMBER: 0.07>
rtmp_log Property: <Name: videocodecid, STRING: avc1>
rtmp_log Property: <Name: audiocodecid, STRING: mp4a>
rtmp_log Property: <Name: Server, STRING: C++ RTMP Media Server (www.rtmpd.com)>
rtmp_log Property: <Name: audiochannels, NUMBER: 2.00>
rtmp_log Property: <Name: audiosamplerate, NUMBER: 44100.00>
rtmp_log Property: <Name: avclevel, NUMBER: 12.00>
rtmp_log Property: <Name: avcprofile, NUMBER: 77.00>
rtmp_log Property: <Name: bandwidth, NUMBER: 0.00>
rtmp_log Property: <Name: stereo, BOOLEAN: TRUE>
rtmp_log (object end)
rtmp_log (object end)
rtmp_log Metadata:
rtmp_log width 320.00
rtmp_log height 240.00
rtmp_log framerate 0.07
rtmp_log videocodecid avc1
rtmp_log audiocodecid mp4a
rtmp_log Server C++ RTMP Media Server (www.rtmpd.com)
rtmp_log audiochannels 2.00
rtmp_log audiosamplerate 44100.00
rtmp_log avclevel 12.00
rtmp_log avcprofile 77.00
rtmp_log bandwidth 0.00
rtmp_log stereo TRUE
rtmp_log _multiChannel 2
----------------------------------------------------------------------
已经开始接受数据
Receive: 327Byte, Total: 0.32kBReceive: 386Byte, Total: 0.70kB
Receive: 357Byte, Total: 1.04kB
Receive: 386Byte, Total: 1.42kB
Receive: 439Byte, Total: 1.85kB
Receive: 475Byte, Total: 2.31kB
(lldb)