1
1
mirror of https://github.com/wader/fq.git synced 2024-11-23 09:56:07 +03:00

amf0: Decode strings in more detail

This commit is contained in:
Mattias Wadman 2022-04-05 11:01:59 +02:00
parent 788b0ac197
commit 34cbe48753
6 changed files with 519 additions and 227 deletions

View File

@ -57,9 +57,6 @@ var typeNames = scalar.UToSymStr{
typeTypedObject: "typed_object",
}
func amf0DecodeString(d *decode.D) string { return d.UTF8(int(d.U16())) }
func amf0DecodeStringLong(d *decode.D) string { return d.UTF8(int(d.U32())) }
func amf0DecodeValue(d *decode.D) {
typ := d.FieldU8("type", typeNames)
@ -69,13 +66,17 @@ func amf0DecodeValue(d *decode.D) {
case typeBoolean:
d.FieldU8("value")
case typeString:
d.FieldStrFn("value", amf0DecodeString)
l := d.FieldU16("length")
d.FieldUTF8("value", int(l))
case typeObject:
d.FieldArray("value", func(d *decode.D) {
var typ uint64
for typ != typeObjectEnd {
d.FieldStruct("pair", func(d *decode.D) {
d.FieldStrFn("key", amf0DecodeString)
d.FieldStruct("key", func(d *decode.D) {
l := d.FieldU16("length")
d.FieldUTF8("value", int(l))
})
typ = d.PeekBits(8)
d.FieldStruct("value", amf0DecodeValue)
})
@ -93,7 +94,10 @@ func amf0DecodeValue(d *decode.D) {
var typ uint64
for typ != typeObjectEnd {
d.FieldStruct("entry", func(d *decode.D) {
d.FieldStrFn("key", amf0DecodeString)
d.FieldStruct("key", func(d *decode.D) {
l := d.FieldU16("length")
d.FieldUTF8("value", int(l))
})
typ = d.PeekBits(8)
d.FieldStruct("value", amf0DecodeValue)
})
@ -112,16 +116,24 @@ func amf0DecodeValue(d *decode.D) {
d.FieldF64("date_time")
d.FieldS16("local_data_time_offset")
case typeLongString:
d.FieldStrFn("value", amf0DecodeStringLong)
l := d.FieldU32("length")
d.FieldUTF8("value", int(l))
case typeXML:
d.FieldStrFn("value", amf0DecodeStringLong)
l := d.FieldU16("length")
d.FieldUTF8("value", int(l))
case typeTypedObject:
d.FieldStrFn("class_name", amf0DecodeString)
d.FieldStruct("class_name", func(d *decode.D) {
l := d.FieldU16("length")
d.FieldUTF8("value", int(l))
})
d.FieldArray("value", func(d *decode.D) {
var typ uint64
for typ != typeObjectEnd {
d.FieldStruct("pair", func(d *decode.D) {
d.FieldStrFn("key", amf0DecodeString)
d.FieldStruct("key", func(d *decode.D) {
l := d.FieldU16("length")
d.FieldUTF8("value", int(l))
})
typ = d.PeekBits(8)
d.FieldStruct("value", amf0DecodeValue)
})

View File

@ -21,7 +21,8 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x000| 00 07 63 6f 6e 6e 65 63 74 | ..connect | value: "connect" 0x1-0x9.7 (9)
0x000| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x000| 63 6f 6e 6e 65 63 74 | connect | value: "connect" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x000| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x000| 3f f0 00 00 00| ?....| value: 1 0xb-0x12.7 (8)
@ -30,71 +31,95 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
0x010| 03 | . | type: "object" (3) 0x13-0x13.7 (1)
| | | value[0:12]: 0x14-0x187.7 (372)
| | | [0]{}: pair 0x14-0x39.7 (38)
0x010| 00 03 61 70 70 | ..app | key: "app" 0x14-0x18.7 (5)
| | | key{}: 0x14-0x18.7 (5)
0x010| 00 03 | .. | length: 3 0x14-0x15.7 (2)
0x010| 61 70 70 | app | value: "app" 0x16-0x18.7 (3)
| | | value{}: 0x19-0x39.7 (33)
0x010| 02 | . | type: "string" (2) 0x19-0x19.7 (1)
0x010| 00 1e 6f 6e 64 65| ..onde| value: "ondemand/content-vod-storage1/" 0x1a-0x39.7 (32)
0x010| 00 1e | .. | length: 30 0x1a-0x1b.7 (2)
0x010| 6f 6e 64 65| onde| value: "ondemand/content-vod-storage1/" 0x1c-0x39.7 (30)
0x020|6d 61 6e 64 2f 63 6f 6e 74 65 6e 74 2d 76 6f 64|mand/content-vod|
0x030|2d 73 74 6f 72 61 67 65 31 2f |-storage1/ |
| | | [1]{}: pair 0x3a-0x54.7 (27)
0x030| 00 08 66 6c 61 73| ..flas| key: "flashVer" 0x3a-0x43.7 (10)
| | | key{}: 0x3a-0x43.7 (10)
0x030| 00 08 | .. | length: 8 0x3a-0x3b.7 (2)
0x030| 66 6c 61 73| flas| value: "flashVer" 0x3c-0x43.7 (8)
0x040|68 56 65 72 |hVer |
| | | value{}: 0x44-0x54.7 (17)
0x040| 02 | . | type: "string" (2) 0x44-0x44.7 (1)
0x040| 00 0e 4c 4e 58 20 31 30 2c 30 2c| ..LNX 10,0,| value: "LNX 10,0,32,18" 0x45-0x54.7 (16)
0x040| 00 0e | .. | length: 14 0x45-0x46.7 (2)
0x040| 4c 4e 58 20 31 30 2c 30 2c| LNX 10,0,| value: "LNX 10,0,32,18" 0x47-0x54.7 (14)
0x050|33 32 2c 31 38 |32,18 |
| | | [2]{}: pair 0x55-0x8e.7 (58)
0x050| 00 06 73 77 66 55 72 6c | ..swfUrl | key: "swfUrl" 0x55-0x5c.7 (8)
| | | key{}: 0x55-0x5c.7 (8)
0x050| 00 06 | .. | length: 6 0x55-0x56.7 (2)
0x050| 73 77 66 55 72 6c | swfUrl | value: "swfUrl" 0x57-0x5c.7 (6)
| | | value{}: 0x5d-0x8e.7 (50)
0x050| 02 | . | type: "string" (2) 0x5d-0x5d.7 (1)
0x050| 00 2f| ./| value: "http://cdn1.ustream.tv/swf/4/viewer.rsl.217.swf" 0x5e-0x8e.7 (49)
0x060|68 74 74 70 3a 2f 2f 63 64 6e 31 2e 75 73 74 72|http://cdn1.ustr|
* |until 0x8e.7 (49) | |
0x050| 00 2f| ./| length: 47 0x5e-0x5f.7 (2)
0x060|68 74 74 70 3a 2f 2f 63 64 6e 31 2e 75 73 74 72|http://cdn1.ustr| value: "http://cdn1.ustream.tv/swf/4/viewer.rsl.217.swf" 0x60-0x8e.7 (47)
* |until 0x8e.7 (47) | |
| | | [3]{}: pair 0x8f-0xd6.7 (72)
0x080| 00| .| key: "tcUrl" 0x8f-0x95.7 (7)
0x090|05 74 63 55 72 6c |.tcUrl |
| | | key{}: 0x8f-0x95.7 (7)
0x080| 00| .| length: 5 0x8f-0x90.7 (2)
0x090|05 |. |
0x090| 74 63 55 72 6c | tcUrl | value: "tcUrl" 0x91-0x95.7 (5)
| | | value{}: 0x96-0xd6.7 (65)
0x090| 02 | . | type: "string" (2) 0x96-0x96.7 (1)
0x090| 00 3e 72 74 6d 70 3a 2f 2f| .>rtmp://| value: "rtmp://cp70278.edgefcs.net:1935/ondemand/content-v"... 0x97-0xd6.7 (64)
0x090| 00 3e | .> | length: 62 0x97-0x98.7 (2)
0x090| 72 74 6d 70 3a 2f 2f| rtmp://| value: "rtmp://cp70278.edgefcs.net:1935/ondemand/content-v"... 0x99-0xd6.7 (62)
0x0a0|63 70 37 30 32 37 38 2e 65 64 67 65 66 63 73 2e|cp70278.edgefcs.|
* |until 0xd6.7 (64) | |
* |until 0xd6.7 (62) | |
| | | [4]{}: pair 0xd7-0xde.7 (8)
0x0d0| 00 04 66 70 61 64 | ..fpad | key: "fpad" 0xd7-0xdc.7 (6)
| | | key{}: 0xd7-0xdc.7 (6)
0x0d0| 00 04 | .. | length: 4 0xd7-0xd8.7 (2)
0x0d0| 66 70 61 64 | fpad | value: "fpad" 0xd9-0xdc.7 (4)
| | | value{}: 0xdd-0xde.7 (2)
0x0d0| 01 | . | type: "boolean" (1) 0xdd-0xdd.7 (1)
0x0d0| 00 | . | value: 0 0xde-0xde.7 (1)
| | | [5]{}: pair 0xdf-0xf5.7 (23)
0x0d0| 00| .| key: "capabilities" 0xdf-0xec.7 (14)
0x0e0|0c 63 61 70 61 62 69 6c 69 74 69 65 73 |.capabilities |
| | | key{}: 0xdf-0xec.7 (14)
0x0d0| 00| .| length: 12 0xdf-0xe0.7 (2)
0x0e0|0c |. |
0x0e0| 63 61 70 61 62 69 6c 69 74 69 65 73 | capabilities | value: "capabilities" 0xe1-0xec.7 (12)
| | | value{}: 0xed-0xf5.7 (9)
0x0e0| 00 | . | type: "number" (0) 0xed-0xed.7 (1)
0x0e0| 40 2e| @.| value: 15 0xee-0xf5.7 (8)
0x0f0|00 00 00 00 00 00 |...... |
| | | [6]{}: pair 0xf6-0x10b.7 (22)
0x0f0| 00 0b 61 75 64 69 6f 43 6f 64| ..audioCod| key: "audioCodecs" 0xf6-0x102.7 (13)
| | | key{}: 0xf6-0x102.7 (13)
0x0f0| 00 0b | .. | length: 11 0xf6-0xf7.7 (2)
0x0f0| 61 75 64 69 6f 43 6f 64| audioCod| value: "audioCodecs" 0xf8-0x102.7 (11)
0x100|65 63 73 |ecs |
| | | value{}: 0x103-0x10b.7 (9)
0x100| 00 | . | type: "number" (0) 0x103-0x103.7 (1)
0x100| 40 a8 ee 00 00 00 00 00 | @....... | value: 3191 0x104-0x10b.7 (8)
| | | [7]{}: pair 0x10c-0x121.7 (22)
0x100| 00 0b 76 69| ..vi| key: "videoCodecs" 0x10c-0x118.7 (13)
| | | key{}: 0x10c-0x118.7 (13)
0x100| 00 0b | .. | length: 11 0x10c-0x10d.7 (2)
0x100| 76 69| vi| value: "videoCodecs" 0x10e-0x118.7 (11)
0x110|64 65 6f 43 6f 64 65 63 73 |deoCodecs |
| | | value{}: 0x119-0x121.7 (9)
0x110| 00 | . | type: "number" (0) 0x119-0x119.7 (1)
0x110| 40 6f 80 00 00 00| @o....| value: 252 0x11a-0x121.7 (8)
0x120|00 00 |.. |
| | | [8]{}: pair 0x122-0x139.7 (24)
0x120| 00 0d 76 69 64 65 6f 46 75 6e 63 74 69 6f| ..videoFunctio| key: "videoFunction" 0x122-0x130.7 (15)
| | | key{}: 0x122-0x130.7 (15)
0x120| 00 0d | .. | length: 13 0x122-0x123.7 (2)
0x120| 76 69 64 65 6f 46 75 6e 63 74 69 6f| videoFunctio| value: "videoFunction" 0x124-0x130.7 (13)
0x130|6e |n |
| | | value{}: 0x131-0x139.7 (9)
0x130| 00 | . | type: "number" (0) 0x131-0x131.7 (1)
0x130| 3f f0 00 00 00 00 00 00 | ?....... | value: 1 0x132-0x139.7 (8)
| | | [9]{}: pair 0x13a-0x16b.7 (50)
0x130| 00 07 70 61 67 65| ..page| key: "pageUrl" 0x13a-0x142.7 (9)
| | | key{}: 0x13a-0x142.7 (9)
0x130| 00 07 | .. | length: 7 0x13a-0x13b.7 (2)
0x130| 70 61 67 65| page| value: "pageUrl" 0x13c-0x142.7 (7)
0x140|55 72 6c |Url |
| | | value{}: 0x143-0x16b.7 (41)
0x140| 02 | . | type: "string" (2) 0x143-0x143.7 (1)
0x140| 00 26 68 74 74 70 3a 2f 2f 77 77 77| .&http://www| value: "http://www.ustream.tv/recorded/1514287" 0x144-0x16b.7 (40)
0x140| 00 26 | .& | length: 38 0x144-0x145.7 (2)
0x140| 68 74 74 70 3a 2f 2f 77 77 77| http://www| value: "http://www.ustream.tv/recorded/1514287" 0x146-0x16b.7 (38)
0x150|2e 75 73 74 72 65 61 6d 2e 74 76 2f 72 65 63 6f|.ustream.tv/reco|
0x160|72 64 65 64 2f 31 35 31 34 32 38 37 |rded/1514287 |
| | | [10:12]: ...
@ -103,27 +128,37 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
0x180| 03 | . | type: "object" (3) 0x188-0x188.7 (1)
| | | value[0:4]: 0x189-0x200.7 (120)
| | | [0]{}: pair 0x189-0x1c0.7 (56)
0x180| 00 08 73 68 69 6d 48| ..shimH| key: "shimHost" 0x189-0x192.7 (10)
| | | key{}: 0x189-0x192.7 (10)
0x180| 00 08 | .. | length: 8 0x189-0x18a.7 (2)
0x180| 73 68 69 6d 48| shimH| value: "shimHost" 0x18b-0x192.7 (8)
0x190|6f 73 74 |ost |
| | | value{}: 0x193-0x1c0.7 (46)
0x190| 02 | . | type: "string" (2) 0x193-0x193.7 (1)
0x190| 00 2b 68 74 74 70 3a 2f 2f 63 64 6e| .+http://cdn| value: "http://cdn1.ustream.tv/swf/4/viewer.182.swf" 0x194-0x1c0.7 (45)
0x190| 00 2b | .+ | length: 43 0x194-0x195.7 (2)
0x190| 68 74 74 70 3a 2f 2f 63 64 6e| http://cdn| value: "http://cdn1.ustream.tv/swf/4/viewer.182.swf" 0x196-0x1c0.7 (43)
0x1a0|31 2e 75 73 74 72 65 61 6d 2e 74 76 2f 73 77 66|1.ustream.tv/swf|
* |until 0x1c0.7 (45) | |
* |until 0x1c0.7 (43) | |
| | | [1]{}: pair 0x1c1-0x1f1.7 (49)
0x1c0| 00 09 76 69 64 65 6f 4e 61 6d 65 | ..videoName | key: "videoName" 0x1c1-0x1cb.7 (11)
| | | key{}: 0x1c1-0x1cb.7 (11)
0x1c0| 00 09 | .. | length: 9 0x1c1-0x1c2.7 (2)
0x1c0| 76 69 64 65 6f 4e 61 6d 65 | videoName | value: "videoName" 0x1c3-0x1cb.7 (9)
| | | value{}: 0x1cc-0x1f1.7 (38)
0x1c0| 02 | . | type: "string" (2) 0x1cc-0x1cc.7 (1)
0x1c0| 00 23 30| .#0| value: "0/1/1/1514/1514287/1_192254_1514287" 0x1cd-0x1f1.7 (37)
0x1c0| 00 23 | .# | length: 35 0x1cd-0x1ce.7 (2)
0x1c0| 30| 0| value: "0/1/1/1514/1514287/1_192254_1514287" 0x1cf-0x1f1.7 (35)
0x1d0|2f 31 2f 31 2f 31 35 31 34 2f 31 35 31 34 32 38|/1/1/1514/151428|
* |until 0x1f1.7 (37) | |
* |until 0x1f1.7 (35) | |
| | | [2]{}: pair 0x1f2-0x1fd.7 (12)
0x1f0| 00 08 61 75 74 6f 50 6c 61 79 | ..autoPlay | key: "autoPlay" 0x1f2-0x1fb.7 (10)
| | | key{}: 0x1f2-0x1fb.7 (10)
0x1f0| 00 08 | .. | length: 8 0x1f2-0x1f3.7 (2)
0x1f0| 61 75 74 6f 50 6c 61 79 | autoPlay | value: "autoPlay" 0x1f4-0x1fb.7 (8)
| | | value{}: 0x1fc-0x1fd.7 (2)
0x1f0| 01 | . | type: "boolean" (1) 0x1fc-0x1fc.7 (1)
0x1f0| 01 | . | value: 1 0x1fd-0x1fd.7 (1)
| | | [3]{}: pair 0x1fe-0x200.7 (3)
0x1f0| 00 00| ..| key: "" 0x1fe-0x1ff.7 (2)
| | | key{}: 0x1fe-0x1ff.7 (2)
0x1f0| 00 00| ..| length: 0 0x1fe-0x1ff.7 (2)
| | | value: "" 0x200-NA (0)
| | | value{}: 0x200-0x200.7 (1)
0x200|09| |.| | type: "object_end" (9) 0x200-0x200.7 (1)
| | | [1]{}: message 0x0-0x3.7 (4)
@ -140,7 +175,8 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
0x000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x000| 00 0c 63 72 65 61 74 65 53 74 72 65 61 6d | ..createStream | value: "createStream" 0x1-0xe.7 (14)
0x000| 00 0c | .. | length: 12 0x1-0x2.7 (2)
0x000| 63 72 65 61 74 65 53 74 72 65 61 6d | createStream | value: "createStream" 0x3-0xe.7 (12)
| | | transaction_id{}: (amf0) 0xf-0x17.7 (9)
0x000| 00| .| type: "number" (0) 0xf-0xf.7 (1)
0x010|40 00 00 00 00 00 00 00 |@....... | value: 2 0x10-0x17.7 (8)
@ -159,7 +195,8 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x8.7 (9)
0x000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x000| 00 06 5f 65 72 72 6f 72 | .._error | value: "_error" 0x1-0x8.7 (8)
0x000| 00 06 | .. | length: 6 0x1-0x2.7 (2)
0x000| 5f 65 72 72 6f 72 | _error | value: "_error" 0x3-0x8.7 (6)
| | | transaction_id{}: (amf0) 0x9-0x11.7 (9)
0x000| 00 | . | type: "number" (0) 0x9-0x9.7 (1)
0x000| 40 d1 61 00 00 00| @.a...| value: 17796 0xa-0x11.7 (8)
@ -172,20 +209,27 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
0x010| 03 | . | type: "object" (3) 0x13-0x13.7 (1)
| | | value[0:3]: 0x14-0x47.7 (52)
| | | [0]{}: pair 0x14-0x35.7 (34)
0x010| 00 04 63 6f 64 65 | ..code | key: "code" 0x14-0x19.7 (6)
| | | key{}: 0x14-0x19.7 (6)
0x010| 00 04 | .. | length: 4 0x14-0x15.7 (2)
0x010| 63 6f 64 65 | code | value: "code" 0x16-0x19.7 (4)
| | | value{}: 0x1a-0x35.7 (28)
0x010| 02 | . | type: "string" (2) 0x1a-0x1a.7 (1)
0x010| 00 19 4e 65 74| ..Net| value: "NetConnection.Call.Failed" 0x1b-0x35.7 (27)
0x010| 00 19 | .. | length: 25 0x1b-0x1c.7 (2)
0x010| 4e 65 74| Net| value: "NetConnection.Call.Failed" 0x1d-0x35.7 (25)
0x020|43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 61 6c 6c 2e|Connection.Call.|
0x030|46 61 69 6c 65 64 |Failed |
| | | [1]{}: pair 0x36-0x44.7 (15)
0x030| 00 05 6c 65 76 65 6c | ..level | key: "level" 0x36-0x3c.7 (7)
| | | key{}: 0x36-0x3c.7 (7)
0x030| 00 05 | .. | length: 5 0x36-0x37.7 (2)
0x030| 6c 65 76 65 6c | level | value: "level" 0x38-0x3c.7 (5)
| | | value{}: 0x3d-0x44.7 (8)
0x030| 02 | . | type: "string" (2) 0x3d-0x3d.7 (1)
0x030| 00 05| ..| value: "error" 0x3e-0x44.7 (7)
0x040|65 72 72 6f 72 |error |
0x030| 00 05| ..| length: 5 0x3e-0x3f.7 (2)
0x040|65 72 72 6f 72 |error | value: "error" 0x40-0x44.7 (5)
| | | [2]{}: pair 0x45-0x47.7 (3)
0x040| 00 00 | .. | key: "" 0x45-0x46.7 (2)
| | | key{}: 0x45-0x46.7 (2)
0x040| 00 00 | .. | length: 0 0x45-0x46.7 (2)
| | | value: "" 0x47-NA (0)
| | | value{}: 0x47-0x47.7 (1)
0x040| 09| | .| | type: "object_end" (9) 0x47-0x47.7 (1)
| | | [6]{}: message 0x0-0x47.7 (72)
@ -193,7 +237,8 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x8.7 (9)
0x000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x000| 00 06 5f 65 72 72 6f 72 | .._error | value: "_error" 0x1-0x8.7 (8)
0x000| 00 06 | .. | length: 6 0x1-0x2.7 (2)
0x000| 5f 65 72 72 6f 72 | _error | value: "_error" 0x3-0x8.7 (6)
| | | transaction_id{}: (amf0) 0x9-0x11.7 (9)
0x000| 00 | . | type: "number" (0) 0x9-0x9.7 (1)
0x000| 40 d1 61 00 00 00| @.a...| value: 17796 0xa-0x11.7 (8)
@ -206,20 +251,27 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
0x010| 03 | . | type: "object" (3) 0x13-0x13.7 (1)
| | | value[0:3]: 0x14-0x47.7 (52)
| | | [0]{}: pair 0x14-0x35.7 (34)
0x010| 00 04 63 6f 64 65 | ..code | key: "code" 0x14-0x19.7 (6)
| | | key{}: 0x14-0x19.7 (6)
0x010| 00 04 | .. | length: 4 0x14-0x15.7 (2)
0x010| 63 6f 64 65 | code | value: "code" 0x16-0x19.7 (4)
| | | value{}: 0x1a-0x35.7 (28)
0x010| 02 | . | type: "string" (2) 0x1a-0x1a.7 (1)
0x010| 00 19 4e 65 74| ..Net| value: "NetConnection.Call.Failed" 0x1b-0x35.7 (27)
0x010| 00 19 | .. | length: 25 0x1b-0x1c.7 (2)
0x010| 4e 65 74| Net| value: "NetConnection.Call.Failed" 0x1d-0x35.7 (25)
0x020|43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 61 6c 6c 2e|Connection.Call.|
0x030|46 61 69 6c 65 64 |Failed |
| | | [1]{}: pair 0x36-0x44.7 (15)
0x030| 00 05 6c 65 76 65 6c | ..level | key: "level" 0x36-0x3c.7 (7)
| | | key{}: 0x36-0x3c.7 (7)
0x030| 00 05 | .. | length: 5 0x36-0x37.7 (2)
0x030| 6c 65 76 65 6c | level | value: "level" 0x38-0x3c.7 (5)
| | | value{}: 0x3d-0x44.7 (8)
0x030| 02 | . | type: "string" (2) 0x3d-0x3d.7 (1)
0x030| 00 05| ..| value: "error" 0x3e-0x44.7 (7)
0x040|65 72 72 6f 72 |error |
0x030| 00 05| ..| length: 5 0x3e-0x3f.7 (2)
0x040|65 72 72 6f 72 |error | value: "error" 0x40-0x44.7 (5)
| | | [2]{}: pair 0x45-0x47.7 (3)
0x040| 00 00 | .. | key: "" 0x45-0x46.7 (2)
| | | key{}: 0x45-0x46.7 (2)
0x040| 00 00 | .. | length: 0 0x45-0x46.7 (2)
| | | value: "" 0x47-NA (0)
| | | value{}: 0x47-0x47.7 (1)
0x040| 09| | .| | type: "object_end" (9) 0x47-0x47.7 (1)
| | | [7]{}: message 0x0-0x1a.7 (27)
@ -227,7 +279,8 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
0x000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x000| 00 0c 72 65 63 65 69 76 65 56 69 64 65 6f | ..receiveVideo | value: "receiveVideo" 0x1-0xe.7 (14)
0x000| 00 0c | .. | length: 12 0x1-0x2.7 (2)
0x000| 72 65 63 65 69 76 65 56 69 64 65 6f | receiveVideo | value: "receiveVideo" 0x3-0xe.7 (12)
| | | transaction_id{}: (amf0) 0xf-0x17.7 (9)
0x000| 00| .| type: "number" (0) 0xf-0xf.7 (1)
0x010|00 00 00 00 00 00 00 00 |........ | value: 0 0x10-0x17.7 (8)
@ -243,7 +296,8 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x6.7 (7)
0x000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x000| 00 04 70 6c 61 79 | ..play | value: "play" 0x1-0x6.7 (6)
0x000| 00 04 | .. | length: 4 0x1-0x2.7 (2)
0x000| 70 6c 61 79 | play | value: "play" 0x3-0x6.7 (4)
| | | transaction_id{}: (amf0) 0x7-0xf.7 (9)
0x000| 00 | . | type: "number" (0) 0x7-0x7.7 (1)
0x000| 00 00 00 00 00 00 00 00| ........| value: 0 0x8-0xf.7 (8)
@ -253,7 +307,8 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | arguments[0:1]: 0x11-0x36.7 (38)
| | | [0]{}: argument (amf0) 0x11-0x36.7 (38)
0x010| 02 | . | type: "string" (2) 0x11-0x11.7 (1)
0x010| 00 23 30 2f 31 2f 31 2f 31 35 31 34 2f 31| .#0/1/1/1514/1| value: "0/1/1/1514/1514287/1_192254_1514287" 0x12-0x36.7 (37)
0x010| 00 23 | .# | length: 35 0x12-0x13.7 (2)
0x010| 30 2f 31 2f 31 2f 31 35 31 34 2f 31| 0/1/1/1514/1| value: "0/1/1/1514/1514287/1_192254_1514287" 0x14-0x36.7 (35)
0x020|35 31 34 32 38 37 2f 31 5f 31 39 32 32 35 34 5f|514287/1_192254_|
0x030|31 35 31 34 32 38 37| |1514287| |
| | | [9]{}: message 0x0-0x1c.7 (29)
@ -261,7 +316,8 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x7.7 (8)
0x000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x000| 00 05 70 61 75 73 65 | ..pause | value: "pause" 0x1-0x7.7 (7)
0x000| 00 05 | .. | length: 5 0x1-0x2.7 (2)
0x000| 70 61 75 73 65 | pause | value: "pause" 0x3-0x7.7 (5)
| | | transaction_id{}: (amf0) 0x8-0x10.7 (9)
0x000| 00 | . | type: "number" (0) 0x8-0x8.7 (1)
0x000| 00 00 00 00 00 00 00| .......| value: 0 0x9-0x10.7 (8)

View File

@ -21,7 +21,8 @@ $ fq -d rtmp dv ffmpeg_client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 07 63 6f 6e 6e 65 63 74 | ..connect | value: "connect" 0x1-0x9.7 (9)
0x00| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00| 63 6f 6e 6e 65 63 74 | connect | value: "connect" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00| 3f f0 00 00 00| ?....| value: 1 0xb-0x12.7 (8)
@ -30,59 +31,80 @@ $ fq -d rtmp dv ffmpeg_client_stream
0x10| 03 | . | type: "object" (3) 0x13-0x13.7 (1)
| | | value[0:9]: 0x14-0xd1.7 (190)
| | | [0]{}: pair 0x14-0x26.7 (19)
0x10| 00 03 61 70 70 | ..app | key: "app" 0x14-0x18.7 (5)
| | | key{}: 0x14-0x18.7 (5)
0x10| 00 03 | .. | length: 3 0x14-0x15.7 (2)
0x10| 61 70 70 | app | value: "app" 0x16-0x18.7 (3)
| | | value{}: 0x19-0x26.7 (14)
0x10| 02 | . | type: "string" (2) 0x19-0x19.7 (1)
0x10| 00 0b 74 65 73 74| ..test| value: "test_stream" 0x1a-0x26.7 (13)
0x10| 00 0b | .. | length: 11 0x1a-0x1b.7 (2)
0x10| 74 65 73 74| test| value: "test_stream" 0x1c-0x26.7 (11)
0x20|5f 73 74 72 65 61 6d |_stream |
| | | [1]{}: pair 0x27-0x40.7 (26)
0x20| 00 08 66 6c 61 73 68 56 65| ..flashVe| key: "flashVer" 0x27-0x30.7 (10)
| | | key{}: 0x27-0x30.7 (10)
0x20| 00 08 | .. | length: 8 0x27-0x28.7 (2)
0x20| 66 6c 61 73 68 56 65| flashVe| value: "flashVer" 0x29-0x30.7 (8)
0x30|72 |r |
| | | value{}: 0x31-0x40.7 (16)
0x30| 02 | . | type: "string" (2) 0x31-0x31.7 (1)
0x30| 00 0d 4c 4e 58 20 39 2c 30 2c 31 32 34 2c| ..LNX 9,0,124,| value: "LNX 9,0,124,2" 0x32-0x40.7 (15)
0x30| 00 0d | .. | length: 13 0x32-0x33.7 (2)
0x30| 4c 4e 58 20 39 2c 30 2c 31 32 34 2c| LNX 9,0,124,| value: "LNX 9,0,124,2" 0x34-0x40.7 (13)
0x40|32 |2 |
| | | [2]{}: pair 0x41-0x6b.7 (43)
0x40| 00 05 74 63 55 72 6c | ..tcUrl | key: "tcUrl" 0x41-0x47.7 (7)
| | | key{}: 0x41-0x47.7 (7)
0x40| 00 05 | .. | length: 5 0x41-0x42.7 (2)
0x40| 74 63 55 72 6c | tcUrl | value: "tcUrl" 0x43-0x47.7 (5)
| | | value{}: 0x48-0x6b.7 (36)
0x40| 02 | . | type: "string" (2) 0x48-0x48.7 (1)
0x40| 00 21 72 74 6d 70 3a| .!rtmp:| value: "rtmp://localhost:1935/test_stream" 0x49-0x6b.7 (35)
0x40| 00 21 | .! | length: 33 0x49-0x4a.7 (2)
0x40| 72 74 6d 70 3a| rtmp:| value: "rtmp://localhost:1935/test_stream" 0x4b-0x6b.7 (33)
0x50|2f 2f 6c 6f 63 61 6c 68 6f 73 74 3a 31 39 33 35|//localhost:1935|
0x60|2f 74 65 73 74 5f 73 74 72 65 61 6d |/test_stream |
| | | [3]{}: pair 0x6c-0x73.7 (8)
0x60| 00 04 66 70| ..fp| key: "fpad" 0x6c-0x71.7 (6)
| | | key{}: 0x6c-0x71.7 (6)
0x60| 00 04 | .. | length: 4 0x6c-0x6d.7 (2)
0x60| 66 70| fp| value: "fpad" 0x6e-0x71.7 (4)
0x70|61 64 |ad |
| | | value{}: 0x72-0x73.7 (2)
0x70| 01 | . | type: "boolean" (1) 0x72-0x72.7 (1)
0x70| 00 | . | value: 0 0x73-0x73.7 (1)
| | | [4]{}: pair 0x74-0x8a.7 (23)
0x70| 00 0c 63 61 70 61 62 69 6c 69 74 69| ..capabiliti| key: "capabilities" 0x74-0x81.7 (14)
| | | key{}: 0x74-0x81.7 (14)
0x70| 00 0c | .. | length: 12 0x74-0x75.7 (2)
0x70| 63 61 70 61 62 69 6c 69 74 69| capabiliti| value: "capabilities" 0x76-0x81.7 (12)
0x80|65 73 |es |
| | | value{}: 0x82-0x8a.7 (9)
0x80| 00 | . | type: "number" (0) 0x82-0x82.7 (1)
0x80| 40 2e 00 00 00 00 00 00 | @....... | value: 15 0x83-0x8a.7 (8)
| | | [5]{}: pair 0x8b-0xa0.7 (22)
0x80| 00 0b 61 75 64| ..aud| key: "audioCodecs" 0x8b-0x97.7 (13)
| | | key{}: 0x8b-0x97.7 (13)
0x80| 00 0b | .. | length: 11 0x8b-0x8c.7 (2)
0x80| 61 75 64| aud| value: "audioCodecs" 0x8d-0x97.7 (11)
0x90|69 6f 43 6f 64 65 63 73 |ioCodecs |
| | | value{}: 0x98-0xa0.7 (9)
0x90| 00 | . | type: "number" (0) 0x98-0x98.7 (1)
0x90| 40 af ce 00 00 00 00| @......| value: 4071 0x99-0xa0.7 (8)
0xa0|00 |. |
| | | [6]{}: pair 0xa1-0xb6.7 (22)
0xa0| 00 0b 76 69 64 65 6f 43 6f 64 65 63 73 | ..videoCodecs | key: "videoCodecs" 0xa1-0xad.7 (13)
| | | key{}: 0xa1-0xad.7 (13)
0xa0| 00 0b | .. | length: 11 0xa1-0xa2.7 (2)
0xa0| 76 69 64 65 6f 43 6f 64 65 63 73 | videoCodecs | value: "videoCodecs" 0xa3-0xad.7 (11)
| | | value{}: 0xae-0xb6.7 (9)
0xa0| 00 | . | type: "number" (0) 0xae-0xae.7 (1)
0xa0| 40| @| value: 252 0xaf-0xb6.7 (8)
0xb0|6f 80 00 00 00 00 00 |o...... |
| | | [7]{}: pair 0xb7-0xce.7 (24)
0xb0| 00 0d 76 69 64 65 6f 46 75| ..videoFu| key: "videoFunction" 0xb7-0xc5.7 (15)
| | | key{}: 0xb7-0xc5.7 (15)
0xb0| 00 0d | .. | length: 13 0xb7-0xb8.7 (2)
0xb0| 76 69 64 65 6f 46 75| videoFu| value: "videoFunction" 0xb9-0xc5.7 (13)
0xc0|6e 63 74 69 6f 6e |nction |
| | | value{}: 0xc6-0xce.7 (9)
0xc0| 00 | . | type: "number" (0) 0xc6-0xc6.7 (1)
0xc0| 3f f0 00 00 00 00 00 00 | ?....... | value: 1 0xc7-0xce.7 (8)
| | | [8]{}: pair 0xcf-0xd1.7 (3)
0xc0| 00| .| key: "" 0xcf-0xd0.7 (2)
| | | key{}: 0xcf-0xd0.7 (2)
0xc0| 00| .| length: 0 0xcf-0xd0.7 (2)
0xd0|00 |. |
| | | value: "" 0xd1-NA (0)
| | | value{}: 0xd1-0xd1.7 (1)
0xd0| 09| | .| | type: "object_end" (9) 0xd1-0xd1.7 (1)
| | | arguments[0:0]: 0xd2-NA (0)
@ -95,7 +117,8 @@ $ fq -d rtmp dv ffmpeg_client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 0c 63 72 65 61 74 65 53 74 72 65 61 6d | ..createStream | value: "createStream" 0x1-0xe.7 (14)
0x00| 00 0c | .. | length: 12 0x1-0x2.7 (2)
0x00| 63 72 65 61 74 65 53 74 72 65 61 6d | createStream | value: "createStream" 0x3-0xe.7 (12)
| | | transaction_id{}: (amf0) 0xf-0x17.7 (9)
0x00| 00| .| type: "number" (0) 0xf-0xf.7 (1)
0x10|40 00 00 00 00 00 00 00 |@....... | value: 2 0x10-0x17.7 (8)
@ -108,7 +131,8 @@ $ fq -d rtmp dv ffmpeg_client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 08 5f 63 68 65 63 6b 62 77 | .._checkbw | value: "_checkbw" 0x1-0xa.7 (10)
0x00| 00 08 | .. | length: 8 0x1-0x2.7 (2)
0x00| 5f 63 68 65 63 6b 62 77 | _checkbw | value: "_checkbw" 0x3-0xa.7 (8)
| | | transaction_id{}: (amf0) 0xb-0x13.7 (9)
0x00| 00 | . | type: "number" (0) 0xb-0xb.7 (1)
0x00| 40 08 00 00| @...| value: 3 0xc-0x13.7 (8)
@ -122,7 +146,8 @@ $ fq -d rtmp dv ffmpeg_client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x11.7 (18)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 0f 67 65 74 53 74 72 65 61 6d 4c 65 6e 67| ..getStreamLeng| value: "getStreamLength" 0x1-0x11.7 (17)
0x00| 00 0f | .. | length: 15 0x1-0x2.7 (2)
0x00| 67 65 74 53 74 72 65 61 6d 4c 65 6e 67| getStreamLeng| value: "getStreamLength" 0x3-0x11.7 (15)
0x10|74 68 |th |
| | | transaction_id{}: (amf0) 0x12-0x1a.7 (9)
0x10| 00 | . | type: "number" (0) 0x12-0x12.7 (1)
@ -133,13 +158,15 @@ $ fq -d rtmp dv ffmpeg_client_stream
| | | arguments[0:1]: 0x1c-0x1e.7 (3)
| | | [0]{}: argument (amf0) 0x1c-0x1e.7 (3)
0x10| 02 | . | type: "string" (2) 0x1c-0x1c.7 (1)
0x10| 00 00| | ..|| value: "" 0x1d-0x1e.7 (2)
0x10| 00 00| | ..|| length: 0 0x1d-0x1e.7 (2)
| | | value: "" 0x1f-NA (0)
| | | [5]{}: message 0x0-0x1c.7 (29)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x6.7 (7)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 04 70 6c 61 79 | ..play | value: "play" 0x1-0x6.7 (6)
0x00| 00 04 | .. | length: 4 0x1-0x2.7 (2)
0x00| 70 6c 61 79 | play | value: "play" 0x3-0x6.7 (4)
| | | transaction_id{}: (amf0) 0x7-0xf.7 (9)
0x00| 00 | . | type: "number" (0) 0x7-0x7.7 (1)
0x00| 40 14 00 00 00 00 00 00| @.......| value: 5 0x8-0xf.7 (8)
@ -149,7 +176,8 @@ $ fq -d rtmp dv ffmpeg_client_stream
| | | arguments[0:2]: 0x11-0x1c.7 (12)
| | | [0]{}: argument (amf0) 0x11-0x13.7 (3)
0x10| 02 | . | type: "string" (2) 0x11-0x11.7 (1)
0x10| 00 00 | .. | value: "" 0x12-0x13.7 (2)
0x10| 00 00 | .. | length: 0 0x12-0x13.7 (2)
| | | value: "" 0x14-NA (0)
| | | [1]{}: argument (amf0) 0x14-0x1c.7 (9)
0x10| 00 | . | type: "number" (0) 0x14-0x14.7 (1)
0x10| c0 9f 40 00 00 00 00 00| | ..@.....| | value: -2000 0x15-0x1c.7 (8)
@ -164,7 +192,8 @@ $ fq -d rtmp dv ffmpeg_client_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 0c 64 65 6c 65 74 65 53 74 72 65 61 6d | ..deleteStream | value: "deleteStream" 0x1-0xe.7 (14)
0x00| 00 0c | .. | length: 12 0x1-0x2.7 (2)
0x00| 64 65 6c 65 74 65 53 74 72 65 61 6d | deleteStream | value: "deleteStream" 0x3-0xe.7 (12)
| | | transaction_id{}: (amf0) 0xf-0x17.7 (9)
0x00| 00| .| type: "number" (0) 0xf-0xf.7 (1)
0x10|40 18 00 00 00 00 00 00 |@....... | value: 6 0x10-0x17.7 (8)

View File

@ -39,7 +39,8 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x0000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x0000| 00 07 5f 72 65 73 75 6c 74 | .._result | value: "_result" 0x1-0x9.7 (9)
0x0000| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x0000| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x0000| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x0000| 3f f0 00 00 00| ?....| value: 1 0xb-0x12.7 (8)
@ -48,20 +49,27 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0010| 03 | . | type: "object" (3) 0x13-0x13.7 (1)
| | | value[0:3]: 0x14-0x45.7 (50)
| | | [0]{}: pair 0x14-0x2b.7 (24)
0x0010| 00 06 66 6d 73 56 65 72 | ..fmsVer | key: "fmsVer" 0x14-0x1b.7 (8)
| | | key{}: 0x14-0x1b.7 (8)
0x0010| 00 06 | .. | length: 6 0x14-0x15.7 (2)
0x0010| 66 6d 73 56 65 72 | fmsVer | value: "fmsVer" 0x16-0x1b.7 (6)
| | | value{}: 0x1c-0x2b.7 (16)
0x0010| 02 | . | type: "string" (2) 0x1c-0x1c.7 (1)
0x0010| 00 0d 46| ..F| value: "FMS/3,0,1,123" 0x1d-0x2b.7 (15)
0x0010| 00 0d | .. | length: 13 0x1d-0x1e.7 (2)
0x0010| 46| F| value: "FMS/3,0,1,123" 0x1f-0x2b.7 (13)
0x0020|4d 53 2f 33 2c 30 2c 31 2c 31 32 33 |MS/3,0,1,123 |
| | | [1]{}: pair 0x2c-0x42.7 (23)
0x0020| 00 0c 63 61| ..ca| key: "capabilities" 0x2c-0x39.7 (14)
| | | key{}: 0x2c-0x39.7 (14)
0x0020| 00 0c | .. | length: 12 0x2c-0x2d.7 (2)
0x0020| 63 61| ca| value: "capabilities" 0x2e-0x39.7 (12)
0x0030|70 61 62 69 6c 69 74 69 65 73 |pabilities |
| | | value{}: 0x3a-0x42.7 (9)
0x0030| 00 | . | type: "number" (0) 0x3a-0x3a.7 (1)
0x0030| 40 3f 00 00 00| @?...| value: 31 0x3b-0x42.7 (8)
0x0040|00 00 00 |... |
| | | [2]{}: pair 0x43-0x45.7 (3)
0x0040| 00 00 | .. | key: "" 0x43-0x44.7 (2)
| | | key{}: 0x43-0x44.7 (2)
0x0040| 00 00 | .. | length: 0 0x43-0x44.7 (2)
| | | value: "" 0x45-NA (0)
| | | value{}: 0x45-0x45.7 (1)
0x0040| 09 | . | type: "object_end" (9) 0x45-0x45.7 (1)
| | | arguments[0:1]: 0x46-0xbd.7 (120)
@ -69,34 +77,46 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0040| 03 | . | type: "object" (3) 0x46-0x46.7 (1)
| | | value[0:5]: 0x47-0xbd.7 (119)
| | | [0]{}: pair 0x47-0x56.7 (16)
0x0040| 00 05 6c 65 76 65 6c | ..level | key: "level" 0x47-0x4d.7 (7)
| | | key{}: 0x47-0x4d.7 (7)
0x0040| 00 05 | .. | length: 5 0x47-0x48.7 (2)
0x0040| 6c 65 76 65 6c | level | value: "level" 0x49-0x4d.7 (5)
| | | value{}: 0x4e-0x56.7 (9)
0x0040| 02 | . | type: "string" (2) 0x4e-0x4e.7 (1)
0x0040| 00| .| value: "status" 0x4f-0x56.7 (8)
0x0050|06 73 74 61 74 75 73 |.status |
0x0040| 00| .| length: 6 0x4f-0x50.7 (2)
0x0050|06 |. |
0x0050| 73 74 61 74 75 73 | status | value: "status" 0x51-0x56.7 (6)
| | | [1]{}: pair 0x57-0x7c.7 (38)
0x0050| 00 04 63 6f 64 65 | ..code | key: "code" 0x57-0x5c.7 (6)
| | | key{}: 0x57-0x5c.7 (6)
0x0050| 00 04 | .. | length: 4 0x57-0x58.7 (2)
0x0050| 63 6f 64 65 | code | value: "code" 0x59-0x5c.7 (4)
| | | value{}: 0x5d-0x7c.7 (32)
0x0050| 02 | . | type: "string" (2) 0x5d-0x5d.7 (1)
0x0050| 00 1d| ..| value: "NetConnection.Connect.Success" 0x5e-0x7c.7 (31)
0x0060|4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f|NetConnection.Co|
0x0050| 00 1d| ..| length: 29 0x5e-0x5f.7 (2)
0x0060|4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f|NetConnection.Co| value: "NetConnection.Connect.Success" 0x60-0x7c.7 (29)
0x0070|6e 6e 65 63 74 2e 53 75 63 63 65 73 73 |nnect.Success |
| | | [2]{}: pair 0x7d-0xa1.7 (37)
0x0070| 00 0b 64| ..d| key: "description" 0x7d-0x89.7 (13)
| | | key{}: 0x7d-0x89.7 (13)
0x0070| 00 0b | .. | length: 11 0x7d-0x7e.7 (2)
0x0070| 64| d| value: "description" 0x7f-0x89.7 (11)
0x0080|65 73 63 72 69 70 74 69 6f 6e |escription |
| | | value{}: 0x8a-0xa1.7 (24)
0x0080| 02 | . | type: "string" (2) 0x8a-0x8a.7 (1)
0x0080| 00 15 43 6f 6e| ..Con| value: "Connection succeeded." 0x8b-0xa1.7 (23)
0x0080| 00 15 | .. | length: 21 0x8b-0x8c.7 (2)
0x0080| 43 6f 6e| Con| value: "Connection succeeded." 0x8d-0xa1.7 (21)
0x0090|6e 65 63 74 69 6f 6e 20 73 75 63 63 65 65 64 65|nection succeede|
0x00a0|64 2e |d. |
| | | [3]{}: pair 0xa2-0xba.7 (25)
0x00a0| 00 0e 6f 62 6a 65 63 74 45 6e 63 6f 64 69| ..objectEncodi| key: "objectEncoding" 0xa2-0xb1.7 (16)
| | | key{}: 0xa2-0xb1.7 (16)
0x00a0| 00 0e | .. | length: 14 0xa2-0xa3.7 (2)
0x00a0| 6f 62 6a 65 63 74 45 6e 63 6f 64 69| objectEncodi| value: "objectEncoding" 0xa4-0xb1.7 (14)
0x00b0|6e 67 |ng |
| | | value{}: 0xb2-0xba.7 (9)
0x00b0| 00 | . | type: "number" (0) 0xb2-0xb2.7 (1)
0x00b0| 00 00 00 00 00 00 00 00 | ........ | value: 0 0xb3-0xba.7 (8)
| | | [4]{}: pair 0xbb-0xbd.7 (3)
0x00b0| 00 00 | .. | key: "" 0xbb-0xbc.7 (2)
| | | key{}: 0xbb-0xbc.7 (2)
0x00b0| 00 00 | .. | length: 0 0xbb-0xbc.7 (2)
| | | value: "" 0xbd-NA (0)
| | | value{}: 0xbd-0xbd.7 (1)
0x00b0| 09| | .| | type: "object_end" (9) 0xbd-0xbd.7 (1)
| | | [5]{}: message 0x0-0x1d.7 (30)
@ -104,7 +124,8 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
0x0000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x0000| 00 08 6f 6e 42 57 44 6f 6e 65 | ..onBWDone | value: "onBWDone" 0x1-0xa.7 (10)
0x0000| 00 08 | .. | length: 8 0x1-0x2.7 (2)
0x0000| 6f 6e 42 57 44 6f 6e 65 | onBWDone | value: "onBWDone" 0x3-0xa.7 (8)
| | | transaction_id{}: (amf0) 0xb-0x13.7 (9)
0x0000| 00 | . | type: "number" (0) 0xb-0xb.7 (1)
0x0000| 00 00 00 00| ....| value: 0 0xc-0x13.7 (8)
@ -121,7 +142,8 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x0000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x0000| 00 07 5f 72 65 73 75 6c 74 | .._result | value: "_result" 0x1-0x9.7 (9)
0x0000| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x0000| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x0000| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x0000| 40 00 00 00 00| @....| value: 2 0xb-0x12.7 (8)
@ -138,7 +160,8 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x0000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x0000| 00 07 5f 72 65 73 75 6c 74 | .._result | value: "_result" 0x1-0x9.7 (9)
0x0000| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x0000| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x0000| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x0000| 40 08 00 00 00| @....| value: 3 0xb-0x12.7 (8)
@ -157,7 +180,8 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
0x0000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x0000| 00 08 6f 6e 53 74 61 74 75 73 | ..onStatus | value: "onStatus" 0x1-0xa.7 (10)
0x0000| 00 08 | .. | length: 8 0x1-0x2.7 (2)
0x0000| 6f 6e 53 74 61 74 75 73 | onStatus | value: "onStatus" 0x3-0xa.7 (8)
| | | transaction_id{}: (amf0) 0xb-0x13.7 (9)
0x0000| 00 | . | type: "number" (0) 0xb-0xb.7 (1)
0x0000| 00 00 00 00| ....| value: 0 0xc-0x13.7 (8)
@ -170,32 +194,45 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0010| 03 | . | type: "object" (3) 0x15-0x15.7 (1)
| | | value[0:5]: 0x16-0x7a.7 (101)
| | | [0]{}: pair 0x16-0x25.7 (16)
0x0010| 00 05 6c 65 76 65 6c | ..level | key: "level" 0x16-0x1c.7 (7)
| | | key{}: 0x16-0x1c.7 (7)
0x0010| 00 05 | .. | length: 5 0x16-0x17.7 (2)
0x0010| 6c 65 76 65 6c | level | value: "level" 0x18-0x1c.7 (5)
| | | value{}: 0x1d-0x25.7 (9)
0x0010| 02 | . | type: "string" (2) 0x1d-0x1d.7 (1)
0x0010| 00 06| ..| value: "status" 0x1e-0x25.7 (8)
0x0020|73 74 61 74 75 73 |status |
0x0010| 00 06| ..| length: 6 0x1e-0x1f.7 (2)
0x0020|73 74 61 74 75 73 |status | value: "status" 0x20-0x25.7 (6)
| | | [1]{}: pair 0x26-0x42.7 (29)
0x0020| 00 04 63 6f 64 65 | ..code | key: "code" 0x26-0x2b.7 (6)
| | | key{}: 0x26-0x2b.7 (6)
0x0020| 00 04 | .. | length: 4 0x26-0x27.7 (2)
0x0020| 63 6f 64 65 | code | value: "code" 0x28-0x2b.7 (4)
| | | value{}: 0x2c-0x42.7 (23)
0x0020| 02 | . | type: "string" (2) 0x2c-0x2c.7 (1)
0x0020| 00 14 4e| ..N| value: "NetStream.Play.Start" 0x2d-0x42.7 (22)
0x0020| 00 14 | .. | length: 20 0x2d-0x2e.7 (2)
0x0020| 4e| N| value: "NetStream.Play.Start" 0x2f-0x42.7 (20)
0x0030|65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 53 74|etStream.Play.St|
0x0040|61 72 74 |art |
| | | [2]{}: pair 0x43-0x67.7 (37)
0x0040| 00 0b 64 65 73 63 72 69 70 74 69 6f 6e| ..description| key: "description" 0x43-0x4f.7 (13)
| | | key{}: 0x43-0x4f.7 (13)
0x0040| 00 0b | .. | length: 11 0x43-0x44.7 (2)
0x0040| 64 65 73 63 72 69 70 74 69 6f 6e| description| value: "description" 0x45-0x4f.7 (11)
| | | value{}: 0x50-0x67.7 (24)
0x0050|02 |. | type: "string" (2) 0x50-0x50.7 (1)
0x0050| 00 15 ff ff aa 32 20 69 73 20 6e 6f 77 20 70| .....2 is now p| value: "<22><><EFBFBD>2 is now published" 0x51-0x67.7 (23)
0x0050| 00 15 | .. | length: 21 0x51-0x52.7 (2)
0x0050| ff ff aa 32 20 69 73 20 6e 6f 77 20 70| ...2 is now p| value: "<22><><EFBFBD>2 is now published" 0x53-0x67.7 (21)
0x0060|75 62 6c 69 73 68 65 64 |ublished |
| | | [3]{}: pair 0x68-0x77.7 (16)
0x0060| 00 07 64 65 74 61 69 6c| ..detail| key: "details" 0x68-0x70.7 (9)
| | | key{}: 0x68-0x70.7 (9)
0x0060| 00 07 | .. | length: 7 0x68-0x69.7 (2)
0x0060| 64 65 74 61 69 6c| detail| value: "details" 0x6a-0x70.7 (7)
0x0070|73 |s |
| | | value{}: 0x71-0x77.7 (7)
0x0070| 02 | . | type: "string" (2) 0x71-0x71.7 (1)
0x0070| 00 04 ff ff aa 32 | .....2 | value: "<22><><EFBFBD>2" 0x72-0x77.7 (6)
0x0070| 00 04 | .. | length: 4 0x72-0x73.7 (2)
0x0070| ff ff aa 32 | ...2 | value: "<22><><EFBFBD>2" 0x74-0x77.7 (4)
| | | [4]{}: pair 0x78-0x7a.7 (3)
0x0070| 00 00 | .. | key: "" 0x78-0x79.7 (2)
| | | key{}: 0x78-0x79.7 (2)
0x0070| 00 00 | .. | length: 0 0x78-0x79.7 (2)
| | | value: "" 0x7a-NA (0)
| | | value{}: 0x7a-0x7a.7 (1)
0x0070| 09| | .| | type: "object_end" (9) 0x7a-0x7a.7 (1)
| | | [10]{}: message 0x0-0xea.7 (235)
@ -204,73 +241,97 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | messages[0:3]: 0x0-0xea.7 (235)
| | | [0]{}: message (amf0) 0x0-0xf.7 (16)
0x0000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x0000| 00 0d 40 73 65 74 44 61 74 61 46 72 61 6d 65| ..@setDataFrame| value: "@setDataFrame" 0x1-0xf.7 (15)
0x0000| 00 0d | .. | length: 13 0x1-0x2.7 (2)
0x0000| 40 73 65 74 44 61 74 61 46 72 61 6d 65| @setDataFrame| value: "@setDataFrame" 0x3-0xf.7 (13)
| | | [1]{}: message (amf0) 0x10-0x1c.7 (13)
0x0010|02 |. | type: "string" (2) 0x10-0x10.7 (1)
0x0010| 00 0a 6f 6e 4d 65 74 61 44 61 74 61 | ..onMetaData | value: "onMetaData" 0x11-0x1c.7 (12)
0x0010| 00 0a | .. | length: 10 0x11-0x12.7 (2)
0x0010| 6f 6e 4d 65 74 61 44 61 74 61 | onMetaData | value: "onMetaData" 0x13-0x1c.7 (10)
| | | [2]{}: message (amf0) 0x1d-0xea.7 (206)
0x0010| 08 | . | type: "ecma_array" (8) 0x1d-0x1d.7 (1)
0x0010| 00 00| ..| count: 9 0x1e-0x21.7 (4)
0x0020|00 09 |.. |
| | | value[0:10]: 0x22-0xea.7 (201)
| | | [0]{}: entry 0x22-0x34.7 (19)
0x0020| 00 08 64 75 72 61 74 69 6f 6e | ..duration | key: "duration" 0x22-0x2b.7 (10)
| | | key{}: 0x22-0x2b.7 (10)
0x0020| 00 08 | .. | length: 8 0x22-0x23.7 (2)
0x0020| 64 75 72 61 74 69 6f 6e | duration | value: "duration" 0x24-0x2b.7 (8)
| | | value{}: 0x2c-0x34.7 (9)
0x0020| 00 | . | type: "number" (0) 0x2c-0x2c.7 (1)
0x0020| 00 00 00| ...| value: 0 0x2d-0x34.7 (8)
0x0030|00 00 00 00 00 |..... |
| | | [1]{}: entry 0x35-0x4c.7 (24)
0x0030| 00 0d 61 75 64 69 6f 64 61 74 61| ..audiodata| key: "audiodatarate" 0x35-0x43.7 (15)
| | | key{}: 0x35-0x43.7 (15)
0x0030| 00 0d | .. | length: 13 0x35-0x36.7 (2)
0x0030| 61 75 64 69 6f 64 61 74 61| audiodata| value: "audiodatarate" 0x37-0x43.7 (13)
0x0040|72 61 74 65 |rate |
| | | value{}: 0x44-0x4c.7 (9)
0x0040| 00 | . | type: "number" (0) 0x44-0x44.7 (1)
0x0040| 40 5f 40 00 00 00 00 00 | @_@..... | value: 125 0x45-0x4c.7 (8)
| | | [2]{}: entry 0x4d-0x66.7 (26)
0x0040| 00 0f 61| ..a| key: "audiosamplerate" 0x4d-0x5d.7 (17)
| | | key{}: 0x4d-0x5d.7 (17)
0x0040| 00 0f | .. | length: 15 0x4d-0x4e.7 (2)
0x0040| 61| a| value: "audiosamplerate" 0x4f-0x5d.7 (15)
0x0050|75 64 69 6f 73 61 6d 70 6c 65 72 61 74 65 |udiosamplerate |
| | | value{}: 0x5e-0x66.7 (9)
0x0050| 00 | . | type: "number" (0) 0x5e-0x5e.7 (1)
0x0050| 40| @| value: 44100 0x5f-0x66.7 (8)
0x0060|e5 88 80 00 00 00 00 |....... |
| | | [3]{}: entry 0x67-0x80.7 (26)
0x0060| 00 0f 61 75 64 69 6f 73 61| ..audiosa| key: "audiosamplesize" 0x67-0x77.7 (17)
| | | key{}: 0x67-0x77.7 (17)
0x0060| 00 0f | .. | length: 15 0x67-0x68.7 (2)
0x0060| 61 75 64 69 6f 73 61| audiosa| value: "audiosamplesize" 0x69-0x77.7 (15)
0x0070|6d 70 6c 65 73 69 7a 65 |mplesize |
| | | value{}: 0x78-0x80.7 (9)
0x0070| 00 | . | type: "number" (0) 0x78-0x78.7 (1)
0x0070| 40 30 00 00 00 00 00| @0.....| value: 16 0x79-0x80.7 (8)
0x0080|00 |. |
| | | [4]{}: entry 0x81-0x8a.7 (10)
0x0080| 00 06 73 74 65 72 65 6f | ..stereo | key: "stereo" 0x81-0x88.7 (8)
| | | key{}: 0x81-0x88.7 (8)
0x0080| 00 06 | .. | length: 6 0x81-0x82.7 (2)
0x0080| 73 74 65 72 65 6f | stereo | value: "stereo" 0x83-0x88.7 (6)
| | | value{}: 0x89-0x8a.7 (2)
0x0080| 01 | . | type: "boolean" (1) 0x89-0x89.7 (1)
0x0080| 01 | . | value: 1 0x8a-0x8a.7 (1)
| | | [5]{}: entry 0x8b-0xa1.7 (23)
0x0080| 00 0c 61 75 64| ..aud| key: "audiocodecid" 0x8b-0x98.7 (14)
| | | key{}: 0x8b-0x98.7 (14)
0x0080| 00 0c | .. | length: 12 0x8b-0x8c.7 (2)
0x0080| 61 75 64| aud| value: "audiocodecid" 0x8d-0x98.7 (12)
0x0090|69 6f 63 6f 64 65 63 69 64 |iocodecid |
| | | value{}: 0x99-0xa1.7 (9)
0x0090| 00 | . | type: "number" (0) 0x99-0x99.7 (1)
0x0090| 40 24 00 00 00 00| @$....| value: 10 0x9a-0xa1.7 (8)
0x00a0|00 00 |.. |
| | | [6]{}: entry 0xa2-0xbb.7 (26)
0x00a0| 00 0a 73 74 72 65 61 6d 4e 61 6d 65 | ..streamName | key: "streamName" 0xa2-0xad.7 (12)
| | | key{}: 0xa2-0xad.7 (12)
0x00a0| 00 0a | .. | length: 10 0xa2-0xa3.7 (2)
0x00a0| 73 74 72 65 61 6d 4e 61 6d 65 | streamName | value: "streamName" 0xa4-0xad.7 (10)
| | | value{}: 0xae-0xbb.7 (14)
0x00a0| 02 | . | type: "string" (2) 0xae-0xae.7 (1)
0x00a0| 00| .| value: "test stream" 0xaf-0xbb.7 (13)
0x00b0|0b 74 65 73 74 20 73 74 72 65 61 6d |.test stream |
0x00a0| 00| .| length: 11 0xaf-0xb0.7 (2)
0x00b0|0b |. |
0x00b0| 74 65 73 74 20 73 74 72 65 61 6d | test stream | value: "test stream" 0xb1-0xbb.7 (11)
| | | [7]{}: entry 0xbc-0xd4.7 (25)
0x00b0| 00 07 65 6e| ..en| key: "encoder" 0xbc-0xc4.7 (9)
| | | key{}: 0xbc-0xc4.7 (9)
0x00b0| 00 07 | .. | length: 7 0xbc-0xbd.7 (2)
0x00b0| 65 6e| en| value: "encoder" 0xbe-0xc4.7 (7)
0x00c0|63 6f 64 65 72 |coder |
| | | value{}: 0xc5-0xd4.7 (16)
0x00c0| 02 | . | type: "string" (2) 0xc5-0xc5.7 (1)
0x00c0| 00 0d 4c 61 76 66 35 38 2e 37| ..Lavf58.7| value: "Lavf58.76.100" 0xc6-0xd4.7 (15)
0x00c0| 00 0d | .. | length: 13 0xc6-0xc7.7 (2)
0x00c0| 4c 61 76 66 35 38 2e 37| Lavf58.7| value: "Lavf58.76.100" 0xc8-0xd4.7 (13)
0x00d0|36 2e 31 30 30 |6.100 |
| | | [8]{}: entry 0xd5-0xe7.7 (19)
0x00d0| 00 08 66 69 6c 65 73 69 7a 65 | ..filesize | key: "filesize" 0xd5-0xde.7 (10)
| | | key{}: 0xd5-0xde.7 (10)
0x00d0| 00 08 | .. | length: 8 0xd5-0xd6.7 (2)
0x00d0| 66 69 6c 65 73 69 7a 65 | filesize | value: "filesize" 0xd7-0xde.7 (8)
| | | value{}: 0xdf-0xe7.7 (9)
0x00d0| 00| .| type: "number" (0) 0xdf-0xdf.7 (1)
0x00e0|00 00 00 00 00 00 00 00 |........ | value: 0 0xe0-0xe7.7 (8)
| | | [9]{}: entry 0xe8-0xea.7 (3)
0x00e0| 00 00 | .. | key: "" 0xe8-0xe9.7 (2)
| | | key{}: 0xe8-0xe9.7 (2)
0x00e0| 00 00 | .. | length: 0 0xe8-0xe9.7 (2)
| | | value: "" 0xea-NA (0)
| | | value{}: 0xea-0xea.7 (1)
0x00e0| 09| | .| | type: "object_end" (9) 0xea-0xea.7 (1)
| | | [11]{}: message 0x0-0x6.7 (7)

View File

@ -27,7 +27,8 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 07 63 6f 6e 6e 65 63 74 | ..connect | value: "connect" 0x1-0x9.7 (9)
0x00| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00| 63 6f 6e 6e 65 63 74 | connect | value: "connect" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00| 3f f0 00 00 00| ?....| value: 1 0xb-0x12.7 (8)
@ -36,62 +37,86 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
0x10| 03 | . | type: "object" (3) 0x13-0x13.7 (1)
| | | value[0:10]: 0x14-0xe0.7 (205)
| | | [0]{}: pair 0x14-0x28.7 (21)
0x10| 00 03 61 70 70 | ..app | key: "app" 0x14-0x18.7 (5)
| | | key{}: 0x14-0x18.7 (5)
0x10| 00 03 | .. | length: 3 0x14-0x15.7 (2)
0x10| 61 70 70 | app | value: "app" 0x16-0x18.7 (3)
| | | value{}: 0x19-0x28.7 (16)
0x10| 02 | . | type: "string" (2) 0x19-0x19.7 (1)
0x10| 00 0d 53 74 72 65| ..Stre| value: "StreamPlayer/" 0x1a-0x28.7 (15)
0x10| 00 0d | .. | length: 13 0x1a-0x1b.7 (2)
0x10| 53 74 72 65| Stre| value: "StreamPlayer/" 0x1c-0x28.7 (13)
0x20|61 6d 50 6c 61 79 65 72 2f |amPlayer/ |
| | | [1]{}: pair 0x29-0x41.7 (25)
0x20| 00 08 66 6c 61 73 68| ..flash| key: "flashVer" 0x29-0x32.7 (10)
| | | key{}: 0x29-0x32.7 (10)
0x20| 00 08 | .. | length: 8 0x29-0x2a.7 (2)
0x20| 66 6c 61 73 68| flash| value: "flashVer" 0x2b-0x32.7 (8)
0x30|56 65 72 |Ver |
| | | value{}: 0x33-0x41.7 (15)
0x30| 02 | . | type: "string" (2) 0x33-0x33.7 (1)
0x30| 00 0c 57 49 4e 20 39 2c 30 2c 34 37| ..WIN 9,0,47| value: "WIN 9,0,47,0" 0x34-0x41.7 (14)
0x30| 00 0c | .. | length: 12 0x34-0x35.7 (2)
0x30| 57 49 4e 20 39 2c 30 2c 34 37| WIN 9,0,47| value: "WIN 9,0,47,0" 0x36-0x41.7 (12)
0x40|2c 30 |,0 |
| | | [2]{}: pair 0x42-0x53.7 (18)
0x40| 00 06 73 77 66 55 72 6c | ..swfUrl | key: "swfUrl" 0x42-0x49.7 (8)
| | | key{}: 0x42-0x49.7 (8)
0x40| 00 06 | .. | length: 6 0x42-0x43.7 (2)
0x40| 73 77 66 55 72 6c | swfUrl | value: "swfUrl" 0x44-0x49.7 (6)
| | | value{}: 0x4a-0x53.7 (10)
0x40| 02 | . | type: "string" (2) 0x4a-0x4a.7 (1)
0x40| 00 07 66 69 6c| ..fil| value: "file://" 0x4b-0x53.7 (9)
0x40| 00 07 | .. | length: 7 0x4b-0x4c.7 (2)
0x40| 66 69 6c| fil| value: "file://" 0x4d-0x53.7 (7)
0x50|65 3a 2f 2f |e:// |
| | | [3]{}: pair 0x54-0x87.7 (52)
0x50| 00 05 74 63 55 72 6c | ..tcUrl | key: "tcUrl" 0x54-0x5a.7 (7)
| | | key{}: 0x54-0x5a.7 (7)
0x50| 00 05 | .. | length: 5 0x54-0x55.7 (2)
0x50| 74 63 55 72 6c | tcUrl | value: "tcUrl" 0x56-0x5a.7 (5)
| | | value{}: 0x5b-0x87.7 (45)
0x50| 02 | . | type: "string" (2) 0x5b-0x5b.7 (1)
0x50| 00 2a 72 74| .*rt| value: "rtmp://fc432.streamedia.info/StreamPlayer/" 0x5c-0x87.7 (44)
0x50| 00 2a | .* | length: 42 0x5c-0x5d.7 (2)
0x50| 72 74| rt| value: "rtmp://fc432.streamedia.info/StreamPlayer/" 0x5e-0x87.7 (42)
0x60|6d 70 3a 2f 2f 66 63 34 33 32 2e 73 74 72 65 61|mp://fc432.strea|
* |until 0x87.7 (44) | |
* |until 0x87.7 (42) | |
| | | [4]{}: pair 0x88-0x8f.7 (8)
0x80| 00 04 66 70 61 64 | ..fpad | key: "fpad" 0x88-0x8d.7 (6)
| | | key{}: 0x88-0x8d.7 (6)
0x80| 00 04 | .. | length: 4 0x88-0x89.7 (2)
0x80| 66 70 61 64 | fpad | value: "fpad" 0x8a-0x8d.7 (4)
| | | value{}: 0x8e-0x8f.7 (2)
0x80| 01 | . | type: "boolean" (1) 0x8e-0x8e.7 (1)
0x80| 00| .| value: 0 0x8f-0x8f.7 (1)
| | | [5]{}: pair 0x90-0xa5.7 (22)
0x90|00 0b 61 75 64 69 6f 43 6f 64 65 63 73 |..audioCodecs | key: "audioCodecs" 0x90-0x9c.7 (13)
| | | key{}: 0x90-0x9c.7 (13)
0x90|00 0b |.. | length: 11 0x90-0x91.7 (2)
0x90| 61 75 64 69 6f 43 6f 64 65 63 73 | audioCodecs | value: "audioCodecs" 0x92-0x9c.7 (11)
| | | value{}: 0x9d-0xa5.7 (9)
0x90| 00 | . | type: "number" (0) 0x9d-0x9d.7 (1)
0x90| 40 83| @.| value: 615 0x9e-0xa5.7 (8)
0xa0|38 00 00 00 00 00 |8..... |
| | | [6]{}: pair 0xa6-0xbb.7 (22)
0xa0| 00 0b 76 69 64 65 6f 43 6f 64| ..videoCod| key: "videoCodecs" 0xa6-0xb2.7 (13)
| | | key{}: 0xa6-0xb2.7 (13)
0xa0| 00 0b | .. | length: 11 0xa6-0xa7.7 (2)
0xa0| 76 69 64 65 6f 43 6f 64| videoCod| value: "videoCodecs" 0xa8-0xb2.7 (11)
0xb0|65 63 73 |ecs |
| | | value{}: 0xb3-0xbb.7 (9)
0xb0| 00 | . | type: "number" (0) 0xb3-0xb3.7 (1)
0xb0| 40 5f 00 00 00 00 00 00 | @_...... | value: 124 0xb4-0xbb.7 (8)
| | | [7]{}: pair 0xbc-0xd3.7 (24)
0xb0| 00 0d 76 69| ..vi| key: "videoFunction" 0xbc-0xca.7 (15)
| | | key{}: 0xbc-0xca.7 (15)
0xb0| 00 0d | .. | length: 13 0xbc-0xbd.7 (2)
0xb0| 76 69| vi| value: "videoFunction" 0xbe-0xca.7 (13)
0xc0|64 65 6f 46 75 6e 63 74 69 6f 6e |deoFunction |
| | | value{}: 0xcb-0xd3.7 (9)
0xc0| 00 | . | type: "number" (0) 0xcb-0xcb.7 (1)
0xc0| 3f f0 00 00| ?...| value: 1 0xcc-0xd3.7 (8)
0xd0|00 00 00 00 |.... |
| | | [8]{}: pair 0xd4-0xdd.7 (10)
0xd0| 00 07 70 61 67 65 55 72 6c | ..pageUrl | key: "pageUrl" 0xd4-0xdc.7 (9)
| | | key{}: 0xd4-0xdc.7 (9)
0xd0| 00 07 | .. | length: 7 0xd4-0xd5.7 (2)
0xd0| 70 61 67 65 55 72 6c | pageUrl | value: "pageUrl" 0xd6-0xdc.7 (7)
| | | value{}: 0xdd-0xdd.7 (1)
0xd0| 06 | . | type: "undefined" (6) 0xdd-0xdd.7 (1)
| | | value: null 0xde-NA (0)
| | | [9]{}: pair 0xde-0xe0.7 (3)
0xd0| 00 00| ..| key: "" 0xde-0xdf.7 (2)
| | | key{}: 0xde-0xdf.7 (2)
0xd0| 00 00| ..| length: 0 0xde-0xdf.7 (2)
| | | value: "" 0xe0-NA (0)
| | | value{}: 0xe0-0xe0.7 (1)
0xe0|09| |.| | type: "object_end" (9) 0xe0-0xe0.7 (1)
| | | arguments[0:0]: 0xe1-NA (0)
@ -104,7 +129,8 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 0c 63 72 65 61 74 65 53 74 72 65 61 6d | ..createStream | value: "createStream" 0x1-0xe.7 (14)
0x00| 00 0c | .. | length: 12 0x1-0x2.7 (2)
0x00| 63 72 65 61 74 65 53 74 72 65 61 6d | createStream | value: "createStream" 0x3-0xe.7 (12)
| | | transaction_id{}: (amf0) 0xf-0x17.7 (9)
0x00| 00| .| type: "number" (0) 0xf-0xf.7 (1)
0x10|40 00 00 00 00 00 00 00 |@....... | value: 2 0x10-0x17.7 (8)
@ -117,7 +143,8 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x6.7 (7)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 04 70 6c 61 79 | ..play | value: "play" 0x1-0x6.7 (6)
0x00| 00 04 | .. | length: 4 0x1-0x2.7 (2)
0x00| 70 6c 61 79 | play | value: "play" 0x3-0x6.7 (4)
| | | transaction_id{}: (amf0) 0x7-0xf.7 (9)
0x00| 00 | . | type: "number" (0) 0x7-0x7.7 (1)
0x00| 00 00 00 00 00 00 00 00| ........| value: 0 0x8-0xf.7 (8)
@ -127,7 +154,8 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | arguments[0:1]: 0x11-0x3d.7 (45)
| | | [0]{}: argument (amf0) 0x11-0x3d.7 (45)
0x10| 02 | . | type: "string" (2) 0x11-0x11.7 (1)
0x10| 00 2a 72 74 6d 70 3a 2f 2f 66 63 34 33 32| .*rtmp://fc432| value: "rtmp://fc432.streamedia.info/StreamPlayer/" 0x12-0x3d.7 (44)
0x10| 00 2a | .* | length: 42 0x12-0x13.7 (2)
0x10| 72 74 6d 70 3a 2f 2f 66 63 34 33 32| rtmp://fc432| value: "rtmp://fc432.streamedia.info/StreamPlayer/" 0x14-0x3d.7 (42)
0x20|2e 73 74 72 65 61 6d 65 64 69 61 2e 69 6e 66 6f|.streamedia.info|
0x30|2f 53 74 72 65 61 6d 50 6c 61 79 65 72 2f| |/StreamPlayer/| |
| | | [4]{}: message 0x0-0x9.7 (10)
@ -239,7 +267,8 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 07 5f 72 65 73 75 6c 74 | .._result | value: "_result" 0x1-0x9.7 (9)
0x00| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00| 3f f0 00 00 00| ?....| value: 1 0xb-0x12.7 (8)
@ -252,27 +281,38 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
0x10| 03 | . | type: "object" (3) 0x14-0x14.7 (1)
| | | value[0:4]: 0x15-0x72.7 (94)
| | | [0]{}: pair 0x15-0x24.7 (16)
0x10| 00 05 6c 65 76 65 6c | ..level | key: "level" 0x15-0x1b.7 (7)
| | | key{}: 0x15-0x1b.7 (7)
0x10| 00 05 | .. | length: 5 0x15-0x16.7 (2)
0x10| 6c 65 76 65 6c | level | value: "level" 0x17-0x1b.7 (5)
| | | value{}: 0x1c-0x24.7 (9)
0x10| 02 | . | type: "string" (2) 0x1c-0x1c.7 (1)
0x10| 00 06 73| ..s| value: "status" 0x1d-0x24.7 (8)
0x10| 00 06 | .. | length: 6 0x1d-0x1e.7 (2)
0x10| 73| s| value: "status" 0x1f-0x24.7 (6)
0x20|74 61 74 75 73 |tatus |
| | | [1]{}: pair 0x25-0x4a.7 (38)
0x20| 00 04 63 6f 64 65 | ..code | key: "code" 0x25-0x2a.7 (6)
| | | key{}: 0x25-0x2a.7 (6)
0x20| 00 04 | .. | length: 4 0x25-0x26.7 (2)
0x20| 63 6f 64 65 | code | value: "code" 0x27-0x2a.7 (4)
| | | value{}: 0x2b-0x4a.7 (32)
0x20| 02 | . | type: "string" (2) 0x2b-0x2b.7 (1)
0x20| 00 1d 4e 65| ..Ne| value: "NetConnection.Connect.Success" 0x2c-0x4a.7 (31)
0x20| 00 1d | .. | length: 29 0x2c-0x2d.7 (2)
0x20| 4e 65| Ne| value: "NetConnection.Connect.Success" 0x2e-0x4a.7 (29)
0x30|74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f 6e 6e|tConnection.Conn|
0x40|65 63 74 2e 53 75 63 63 65 73 73 |ect.Success |
| | | [2]{}: pair 0x4b-0x6f.7 (37)
0x40| 00 0b 64 65 73| ..des| key: "description" 0x4b-0x57.7 (13)
| | | key{}: 0x4b-0x57.7 (13)
0x40| 00 0b | .. | length: 11 0x4b-0x4c.7 (2)
0x40| 64 65 73| des| value: "description" 0x4d-0x57.7 (11)
0x50|63 72 69 70 74 69 6f 6e |cription |
| | | value{}: 0x58-0x6f.7 (24)
0x50| 02 | . | type: "string" (2) 0x58-0x58.7 (1)
0x50| 00 15 43 6f 6e 6e 65| ..Conne| value: "Connection succeeded." 0x59-0x6f.7 (23)
0x50| 00 15 | .. | length: 21 0x59-0x5a.7 (2)
0x50| 43 6f 6e 6e 65| Conne| value: "Connection succeeded." 0x5b-0x6f.7 (21)
0x60|63 74 69 6f 6e 20 73 75 63 63 65 65 64 65 64 2e|ction succeeded.|
| | | [3]{}: pair 0x70-0x72.7 (3)
0x70|00 00 |.. | key: "" 0x70-0x71.7 (2)
| | | key{}: 0x70-0x71.7 (2)
0x70|00 00 |.. | length: 0 0x70-0x71.7 (2)
| | | value: "" 0x72-NA (0)
| | | value{}: 0x72-0x72.7 (1)
0x70| 09| | .| | type: "object_end" (9) 0x72-0x72.7 (1)
| | | [5]{}: message 0x0-0x1c.7 (29)
@ -280,7 +320,8 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 07 5f 72 65 73 75 6c 74 | .._result | value: "_result" 0x1-0x9.7 (9)
0x00| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00| 40 00 00 00 00| @....| value: 2 0xb-0x12.7 (8)
@ -302,7 +343,8 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
0x00|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00| 00 08 6f 6e 53 74 61 74 75 73 | ..onStatus | value: "onStatus" 0x1-0xa.7 (10)
0x00| 00 08 | .. | length: 8 0x1-0x2.7 (2)
0x00| 6f 6e 53 74 61 74 75 73 | onStatus | value: "onStatus" 0x3-0xa.7 (8)
| | | transaction_id{}: (amf0) 0xb-0x13.7 (9)
0x00| 00 | . | type: "number" (0) 0xb-0xb.7 (1)
0x00| 00 00 00 00| ....| value: 0 0xc-0x13.7 (8)
@ -315,33 +357,45 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
0x10| 03 | . | type: "object" (3) 0x15-0x15.7 (1)
| | | value[0:5]: 0x16-0x92.7 (125)
| | | [0]{}: pair 0x16-0x24.7 (15)
0x10| 00 05 6c 65 76 65 6c | ..level | key: "level" 0x16-0x1c.7 (7)
| | | key{}: 0x16-0x1c.7 (7)
0x10| 00 05 | .. | length: 5 0x16-0x17.7 (2)
0x10| 6c 65 76 65 6c | level | value: "level" 0x18-0x1c.7 (5)
| | | value{}: 0x1d-0x24.7 (8)
0x10| 02 | . | type: "string" (2) 0x1d-0x1d.7 (1)
0x10| 00 05| ..| value: "error" 0x1e-0x24.7 (7)
0x20|65 72 72 6f 72 |error |
0x10| 00 05| ..| length: 5 0x1e-0x1f.7 (2)
0x20|65 72 72 6f 72 |error | value: "error" 0x20-0x24.7 (5)
| | | [1]{}: pair 0x25-0x42.7 (30)
0x20| 00 04 63 6f 64 65 | ..code | key: "code" 0x25-0x2a.7 (6)
| | | key{}: 0x25-0x2a.7 (6)
0x20| 00 04 | .. | length: 4 0x25-0x26.7 (2)
0x20| 63 6f 64 65 | code | value: "code" 0x27-0x2a.7 (4)
| | | value{}: 0x2b-0x42.7 (24)
0x20| 02 | . | type: "string" (2) 0x2b-0x2b.7 (1)
0x20| 00 15 4e 65| ..Ne| value: "NetStream.Play.Failed" 0x2c-0x42.7 (23)
0x20| 00 15 | .. | length: 21 0x2c-0x2d.7 (2)
0x20| 4e 65| Ne| value: "NetStream.Play.Failed" 0x2e-0x42.7 (21)
0x30|74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 46 61 69|tStream.Play.Fai|
0x40|6c 65 64 |led |
| | | [2]{}: pair 0x43-0x7c.7 (58)
0x40| 00 0b 64 65 73 63 72 69 70 74 69 6f 6e| ..description| key: "description" 0x43-0x4f.7 (13)
| | | key{}: 0x43-0x4f.7 (13)
0x40| 00 0b | .. | length: 11 0x43-0x44.7 (2)
0x40| 64 65 73 63 72 69 70 74 69 6f 6e| description| value: "description" 0x45-0x4f.7 (11)
| | | value{}: 0x50-0x7c.7 (45)
0x50|02 |. | type: "string" (2) 0x50-0x50.7 (1)
0x50| 00 2a 49 6e 76 61 6c 69 64 20 74 69 6e 63 61| .*Invalid tinca| value: "Invalid tincan object name (stream ID: 1)." 0x51-0x7c.7 (44)
0x50| 00 2a | .* | length: 42 0x51-0x52.7 (2)
0x50| 49 6e 76 61 6c 69 64 20 74 69 6e 63 61| Invalid tinca| value: "Invalid tincan object name (stream ID: 1)." 0x53-0x7c.7 (42)
0x60|6e 20 6f 62 6a 65 63 74 20 6e 61 6d 65 20 28 73|n object name (s|
0x70|74 72 65 61 6d 20 49 44 3a 20 31 29 2e |tream ID: 1). |
| | | [3]{}: pair 0x7d-0x8f.7 (19)
0x70| 00 08 63| ..c| key: "clientid" 0x7d-0x86.7 (10)
| | | key{}: 0x7d-0x86.7 (10)
0x70| 00 08 | .. | length: 8 0x7d-0x7e.7 (2)
0x70| 63| c| value: "clientid" 0x7f-0x86.7 (8)
0x80|6c 69 65 6e 74 69 64 |lientid |
| | | value{}: 0x87-0x8f.7 (9)
0x80| 00 | . | type: "number" (0) 0x87-0x87.7 (1)
0x80| 41 9f a4 d2 c0 00 00 00| A.......| value: 1.32723888e+08 0x88-0x8f.7 (8)
| | | [4]{}: pair 0x90-0x92.7 (3)
0x90|00 00 |.. | key: "" 0x90-0x91.7 (2)
| | | key{}: 0x90-0x91.7 (2)
0x90|00 00 |.. | length: 0 0x90-0x91.7 (2)
| | | value: "" 0x92-NA (0)
| | | value{}: 0x92-0x92.7 (1)
0x90| 09| | .| | type: "object_end" (9) 0x92-0x92.7 (1)
| | | chunks[0:9]: 0xc01-0xda7.7 (423)

View File

@ -35,7 +35,8 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00000| 00 07 5f 72 65 73 75 6c 74 | .._result | value: "_result" 0x1-0x9.7 (9)
0x00000| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00000| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00000| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00000| 3f f0 00 00 00| ?....| value: 1 0xb-0x12.7 (8)
@ -44,20 +45,27 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00010| 03 | . | type: "object" (3) 0x13-0x13.7 (1)
| | | value[0:3]: 0x14-0x45.7 (50)
| | | [0]{}: pair 0x14-0x2b.7 (24)
0x00010| 00 06 66 6d 73 56 65 72 | ..fmsVer | key: "fmsVer" 0x14-0x1b.7 (8)
| | | key{}: 0x14-0x1b.7 (8)
0x00010| 00 06 | .. | length: 6 0x14-0x15.7 (2)
0x00010| 66 6d 73 56 65 72 | fmsVer | value: "fmsVer" 0x16-0x1b.7 (6)
| | | value{}: 0x1c-0x2b.7 (16)
0x00010| 02 | . | type: "string" (2) 0x1c-0x1c.7 (1)
0x00010| 00 0d 46| ..F| value: "FMS/3,0,3,333" 0x1d-0x2b.7 (15)
0x00010| 00 0d | .. | length: 13 0x1d-0x1e.7 (2)
0x00010| 46| F| value: "FMS/3,0,3,333" 0x1f-0x2b.7 (13)
0x00020|4d 53 2f 33 2c 30 2c 33 2c 33 33 33 |MS/3,0,3,333 |
| | | [1]{}: pair 0x2c-0x42.7 (23)
0x00020| 00 0c 63 61| ..ca| key: "capabilities" 0x2c-0x39.7 (14)
| | | key{}: 0x2c-0x39.7 (14)
0x00020| 00 0c | .. | length: 12 0x2c-0x2d.7 (2)
0x00020| 63 61| ca| value: "capabilities" 0x2e-0x39.7 (12)
0x00030|70 61 62 69 6c 69 74 69 65 73 |pabilities |
| | | value{}: 0x3a-0x42.7 (9)
0x00030| 00 | . | type: "number" (0) 0x3a-0x3a.7 (1)
0x00030| 40 3f 00 00 00| @?...| value: 31 0x3b-0x42.7 (8)
0x00040|00 00 00 |... |
| | | [2]{}: pair 0x43-0x45.7 (3)
0x00040| 00 00 | .. | key: "" 0x43-0x44.7 (2)
| | | key{}: 0x43-0x44.7 (2)
0x00040| 00 00 | .. | length: 0 0x43-0x44.7 (2)
| | | value: "" 0x45-NA (0)
| | | value{}: 0x45-0x45.7 (1)
0x00040| 09 | . | type: "object_end" (9) 0x45-0x45.7 (1)
| | | arguments[0:1]: 0x46-0xbd.7 (120)
@ -65,34 +73,46 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00040| 03 | . | type: "object" (3) 0x46-0x46.7 (1)
| | | value[0:5]: 0x47-0xbd.7 (119)
| | | [0]{}: pair 0x47-0x56.7 (16)
0x00040| 00 05 6c 65 76 65 6c | ..level | key: "level" 0x47-0x4d.7 (7)
| | | key{}: 0x47-0x4d.7 (7)
0x00040| 00 05 | .. | length: 5 0x47-0x48.7 (2)
0x00040| 6c 65 76 65 6c | level | value: "level" 0x49-0x4d.7 (5)
| | | value{}: 0x4e-0x56.7 (9)
0x00040| 02 | . | type: "string" (2) 0x4e-0x4e.7 (1)
0x00040| 00| .| value: "status" 0x4f-0x56.7 (8)
0x00050|06 73 74 61 74 75 73 |.status |
0x00040| 00| .| length: 6 0x4f-0x50.7 (2)
0x00050|06 |. |
0x00050| 73 74 61 74 75 73 | status | value: "status" 0x51-0x56.7 (6)
| | | [1]{}: pair 0x57-0x7c.7 (38)
0x00050| 00 04 63 6f 64 65 | ..code | key: "code" 0x57-0x5c.7 (6)
| | | key{}: 0x57-0x5c.7 (6)
0x00050| 00 04 | .. | length: 4 0x57-0x58.7 (2)
0x00050| 63 6f 64 65 | code | value: "code" 0x59-0x5c.7 (4)
| | | value{}: 0x5d-0x7c.7 (32)
0x00050| 02 | . | type: "string" (2) 0x5d-0x5d.7 (1)
0x00050| 00 1d| ..| value: "NetConnection.Connect.Success" 0x5e-0x7c.7 (31)
0x00060|4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f|NetConnection.Co|
0x00050| 00 1d| ..| length: 29 0x5e-0x5f.7 (2)
0x00060|4e 65 74 43 6f 6e 6e 65 63 74 69 6f 6e 2e 43 6f|NetConnection.Co| value: "NetConnection.Connect.Success" 0x60-0x7c.7 (29)
0x00070|6e 6e 65 63 74 2e 53 75 63 63 65 73 73 |nnect.Success |
| | | [2]{}: pair 0x7d-0xa1.7 (37)
0x00070| 00 0b 64| ..d| key: "description" 0x7d-0x89.7 (13)
| | | key{}: 0x7d-0x89.7 (13)
0x00070| 00 0b | .. | length: 11 0x7d-0x7e.7 (2)
0x00070| 64| d| value: "description" 0x7f-0x89.7 (11)
0x00080|65 73 63 72 69 70 74 69 6f 6e |escription |
| | | value{}: 0x8a-0xa1.7 (24)
0x00080| 02 | . | type: "string" (2) 0x8a-0x8a.7 (1)
0x00080| 00 15 43 6f 6e| ..Con| value: "Connection succeeded." 0x8b-0xa1.7 (23)
0x00080| 00 15 | .. | length: 21 0x8b-0x8c.7 (2)
0x00080| 43 6f 6e| Con| value: "Connection succeeded." 0x8d-0xa1.7 (21)
0x00090|6e 65 63 74 69 6f 6e 20 73 75 63 63 65 65 64 65|nection succeede|
0x000a0|64 2e |d. |
| | | [3]{}: pair 0xa2-0xba.7 (25)
0x000a0| 00 0e 6f 62 6a 65 63 74 45 6e 63 6f 64 69| ..objectEncodi| key: "objectEncoding" 0xa2-0xb1.7 (16)
| | | key{}: 0xa2-0xb1.7 (16)
0x000a0| 00 0e | .. | length: 14 0xa2-0xa3.7 (2)
0x000a0| 6f 62 6a 65 63 74 45 6e 63 6f 64 69| objectEncodi| value: "objectEncoding" 0xa4-0xb1.7 (14)
0x000b0|6e 67 |ng |
| | | value{}: 0xb2-0xba.7 (9)
0x000b0| 00 | . | type: "number" (0) 0xb2-0xb2.7 (1)
0x000b0| 00 00 00 00 00 00 00 00 | ........ | value: 0 0xb3-0xba.7 (8)
| | | [4]{}: pair 0xbb-0xbd.7 (3)
0x000b0| 00 00 | .. | key: "" 0xbb-0xbc.7 (2)
| | | key{}: 0xbb-0xbc.7 (2)
0x000b0| 00 00 | .. | length: 0 0xbb-0xbc.7 (2)
| | | value: "" 0xbd-NA (0)
| | | value{}: 0xbd-0xbd.7 (1)
0x000b0| 09| | .| | type: "object_end" (9) 0xbd-0xbd.7 (1)
| | | [4]{}: message 0x0-0x5.7 (6)
@ -105,7 +125,8 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xb.7 (12)
0x00000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00000| 00 09 6f 6e 42 57 43 68 65 63 6b | ..onBWCheck | value: "onBWCheck" 0x1-0xb.7 (11)
0x00000| 00 09 | .. | length: 9 0x1-0x2.7 (2)
0x00000| 6f 6e 42 57 43 68 65 63 6b | onBWCheck | value: "onBWCheck" 0x3-0xb.7 (9)
| | | transaction_id{}: (amf0) 0xc-0x14.7 (9)
0x00000| 00 | . | type: "number" (0) 0xc-0xc.7 (1)
0x00000| 40 d1 61| @.a| value: 17796 0xd-0x14.7 (8)
@ -116,13 +137,15 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | arguments[0:1]: 0x16-0x18.7 (3)
| | | [0]{}: argument (amf0) 0x16-0x18.7 (3)
0x00010| 02 | . | type: "string" (2) 0x16-0x16.7 (1)
0x00010| 00 00| | ..| | value: "" 0x17-0x18.7 (2)
0x00010| 00 00| | ..| | length: 0 0x17-0x18.7 (2)
| | | value: "" 0x19-NA (0)
| | | [6]{}: message 0x0-0x2a4a.7 (10827)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xb.7 (12)
0x00000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00000| 00 09 6f 6e 42 57 43 68 65 63 6b | ..onBWCheck | value: "onBWCheck" 0x1-0xb.7 (11)
0x00000| 00 09 | .. | length: 9 0x1-0x2.7 (2)
0x00000| 6f 6e 42 57 43 68 65 63 6b | onBWCheck | value: "onBWCheck" 0x3-0xb.7 (9)
| | | transaction_id{}: (amf0) 0xc-0x14.7 (9)
0x00000| 00 | . | type: "number" (0) 0xc-0xc.7 (1)
0x00000| 40 d1 61| @.a| value: 17796 0xd-0x14.7 (8)
@ -279,7 +302,8 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
0x00000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00000| 00 07 5f 72 65 73 75 6c 74 | .._result | value: "_result" 0x1-0x9.7 (9)
0x00000| 00 07 | .. | length: 7 0x1-0x2.7 (2)
0x00000| 5f 72 65 73 75 6c 74 | _result | value: "_result" 0x3-0x9.7 (7)
| | | transaction_id{}: (amf0) 0xa-0x12.7 (9)
0x00000| 00 | . | type: "number" (0) 0xa-0xa.7 (1)
0x00000| 40 00 00 00 00| @....| value: 2 0xb-0x12.7 (8)
@ -305,7 +329,8 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
0x00000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00000| 00 08 6f 6e 53 74 61 74 75 73 | ..onStatus | value: "onStatus" 0x1-0xa.7 (10)
0x00000| 00 08 | .. | length: 8 0x1-0x2.7 (2)
0x00000| 6f 6e 53 74 61 74 75 73 | onStatus | value: "onStatus" 0x3-0xa.7 (8)
| | | transaction_id{}: (amf0) 0xb-0x13.7 (9)
0x00000| 00 | . | type: "number" (0) 0xb-0xb.7 (1)
0x00000| 00 00 00 00| ....| value: 0 0xc-0x13.7 (8)
@ -318,42 +343,58 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00010| 03 | . | type: "object" (3) 0x15-0x15.7 (1)
| | | value[0:6]: 0x16-0xd3.7 (190)
| | | [0]{}: pair 0x16-0x25.7 (16)
0x00010| 00 05 6c 65 76 65 6c | ..level | key: "level" 0x16-0x1c.7 (7)
| | | key{}: 0x16-0x1c.7 (7)
0x00010| 00 05 | .. | length: 5 0x16-0x17.7 (2)
0x00010| 6c 65 76 65 6c | level | value: "level" 0x18-0x1c.7 (5)
| | | value{}: 0x1d-0x25.7 (9)
0x00010| 02 | . | type: "string" (2) 0x1d-0x1d.7 (1)
0x00010| 00 06| ..| value: "status" 0x1e-0x25.7 (8)
0x00020|73 74 61 74 75 73 |status |
0x00010| 00 06| ..| length: 6 0x1e-0x1f.7 (2)
0x00020|73 74 61 74 75 73 |status | value: "status" 0x20-0x25.7 (6)
| | | [1]{}: pair 0x26-0x42.7 (29)
0x00020| 00 04 63 6f 64 65 | ..code | key: "code" 0x26-0x2b.7 (6)
| | | key{}: 0x26-0x2b.7 (6)
0x00020| 00 04 | .. | length: 4 0x26-0x27.7 (2)
0x00020| 63 6f 64 65 | code | value: "code" 0x28-0x2b.7 (4)
| | | value{}: 0x2c-0x42.7 (23)
0x00020| 02 | . | type: "string" (2) 0x2c-0x2c.7 (1)
0x00020| 00 14 4e| ..N| value: "NetStream.Play.Reset" 0x2d-0x42.7 (22)
0x00020| 00 14 | .. | length: 20 0x2d-0x2e.7 (2)
0x00020| 4e| N| value: "NetStream.Play.Reset" 0x2f-0x42.7 (20)
0x00030|65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 52 65|etStream.Play.Re|
0x00040|73 65 74 |set |
| | | [2]{}: pair 0x43-0x8c.7 (74)
0x00040| 00 0b 64 65 73 63 72 69 70 74 69 6f 6e| ..description| key: "description" 0x43-0x4f.7 (13)
| | | key{}: 0x43-0x4f.7 (13)
0x00040| 00 0b | .. | length: 11 0x43-0x44.7 (2)
0x00040| 64 65 73 63 72 69 70 74 69 6f 6e| description| value: "description" 0x45-0x4f.7 (11)
| | | value{}: 0x50-0x8c.7 (61)
0x00050|02 |. | type: "string" (2) 0x50-0x50.7 (1)
0x00050| 00 3a 50 6c 61 79 69 6e 67 20 61 6e 64 20 72| .:Playing and r| value: "Playing and resetting 0/1/1/1514/1514287/1_192254_"... 0x51-0x8c.7 (60)
0x00050| 00 3a | .: | length: 58 0x51-0x52.7 (2)
0x00050| 50 6c 61 79 69 6e 67 20 61 6e 64 20 72| Playing and r| value: "Playing and resetting 0/1/1/1514/1514287/1_192254_"... 0x53-0x8c.7 (58)
0x00060|65 73 65 74 74 69 6e 67 20 30 2f 31 2f 31 2f 31|esetting 0/1/1/1|
* |until 0x8c.7 (60) | |
* |until 0x8c.7 (58) | |
| | | [3]{}: pair 0x8d-0xbb.7 (47)
0x00080| 00 07 64| ..d| key: "details" 0x8d-0x95.7 (9)
| | | key{}: 0x8d-0x95.7 (9)
0x00080| 00 07 | .. | length: 7 0x8d-0x8e.7 (2)
0x00080| 64| d| value: "details" 0x8f-0x95.7 (7)
0x00090|65 74 61 69 6c 73 |etails |
| | | value{}: 0x96-0xbb.7 (38)
0x00090| 02 | . | type: "string" (2) 0x96-0x96.7 (1)
0x00090| 00 23 30 2f 31 2f 31 2f 31| .#0/1/1/1| value: "0/1/1/1514/1514287/1_192254_1514287" 0x97-0xbb.7 (37)
0x00090| 00 23 | .# | length: 35 0x97-0x98.7 (2)
0x00090| 30 2f 31 2f 31 2f 31| 0/1/1/1| value: "0/1/1/1514/1514287/1_192254_1514287" 0x99-0xbb.7 (35)
0x000a0|35 31 34 2f 31 35 31 34 32 38 37 2f 31 5f 31 39|514/1514287/1_19|
0x000b0|32 32 35 34 5f 31 35 31 34 32 38 37 |2254_1514287 |
| | | [4]{}: pair 0xbc-0xd0.7 (21)
0x000b0| 00 08 63 6c| ..cl| key: "clientid" 0xbc-0xc5.7 (10)
| | | key{}: 0xbc-0xc5.7 (10)
0x000b0| 00 08 | .. | length: 8 0xbc-0xbd.7 (2)
0x000b0| 63 6c| cl| value: "clientid" 0xbe-0xc5.7 (8)
0x000c0|69 65 6e 74 69 64 |ientid |
| | | value{}: 0xc6-0xd0.7 (11)
0x000c0| 02 | . | type: "string" (2) 0xc6-0xc6.7 (1)
0x000c0| 00 08 4b 37 47 51 67 65 47| ..K7GQgeG| value: "K7GQgeG7" 0xc7-0xd0.7 (10)
0x000c0| 00 08 | .. | length: 8 0xc7-0xc8.7 (2)
0x000c0| 4b 37 47 51 67 65 47| K7GQgeG| value: "K7GQgeG7" 0xc9-0xd0.7 (8)
0x000d0|37 |7 |
| | | [5]{}: pair 0xd1-0xd3.7 (3)
0x000d0| 00 00 | .. | key: "" 0xd1-0xd2.7 (2)
| | | key{}: 0xd1-0xd2.7 (2)
0x000d0| 00 00 | .. | length: 0 0xd1-0xd2.7 (2)
| | | value: "" 0xd3-NA (0)
| | | value{}: 0xd3-0xd3.7 (1)
0x000d0| 09| | .| | type: "object_end" (9) 0xd3-0xd3.7 (1)
| | | [11]{}: message 0x0-0x5.7 (6)
@ -380,7 +421,8 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
0x00000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00000| 00 08 6f 6e 53 74 61 74 75 73 | ..onStatus | value: "onStatus" 0x1-0xa.7 (10)
0x00000| 00 08 | .. | length: 8 0x1-0x2.7 (2)
0x00000| 6f 6e 53 74 61 74 75 73 | onStatus | value: "onStatus" 0x3-0xa.7 (8)
| | | transaction_id{}: (amf0) 0xb-0x13.7 (9)
0x00000| 00 | . | type: "number" (0) 0xb-0xb.7 (1)
0x00000| 00 00 00 00| ....| value: 0 0xc-0x13.7 (8)
@ -393,33 +435,46 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00010| 03 | . | type: "object" (3) 0x15-0x15.7 (1)
| | | value[0:5]: 0x16-0x9e.7 (137)
| | | [0]{}: pair 0x16-0x25.7 (16)
0x00010| 00 05 6c 65 76 65 6c | ..level | key: "level" 0x16-0x1c.7 (7)
| | | key{}: 0x16-0x1c.7 (7)
0x00010| 00 05 | .. | length: 5 0x16-0x17.7 (2)
0x00010| 6c 65 76 65 6c | level | value: "level" 0x18-0x1c.7 (5)
| | | value{}: 0x1d-0x25.7 (9)
0x00010| 02 | . | type: "string" (2) 0x1d-0x1d.7 (1)
0x00010| 00 06| ..| value: "status" 0x1e-0x25.7 (8)
0x00020|73 74 61 74 75 73 |status |
0x00010| 00 06| ..| length: 6 0x1e-0x1f.7 (2)
0x00020|73 74 61 74 75 73 |status | value: "status" 0x20-0x25.7 (6)
| | | [1]{}: pair 0x26-0x42.7 (29)
0x00020| 00 04 63 6f 64 65 | ..code | key: "code" 0x26-0x2b.7 (6)
| | | key{}: 0x26-0x2b.7 (6)
0x00020| 00 04 | .. | length: 4 0x26-0x27.7 (2)
0x00020| 63 6f 64 65 | code | value: "code" 0x28-0x2b.7 (4)
| | | value{}: 0x2c-0x42.7 (23)
0x00020| 02 | . | type: "string" (2) 0x2c-0x2c.7 (1)
0x00020| 00 14 4e| ..N| value: "NetStream.Play.Start" 0x2d-0x42.7 (22)
0x00020| 00 14 | .. | length: 20 0x2d-0x2e.7 (2)
0x00020| 4e| N| value: "NetStream.Play.Start" 0x2f-0x42.7 (20)
0x00030|65 74 53 74 72 65 61 6d 2e 50 6c 61 79 2e 53 74|etStream.Play.St|
0x00040|61 72 74 |art |
| | | [2]{}: pair 0x43-0x86.7 (68)
0x00040| 00 0b 64 65 73 63 72 69 70 74 69 6f 6e| ..description| key: "description" 0x43-0x4f.7 (13)
| | | key{}: 0x43-0x4f.7 (13)
0x00040| 00 0b | .. | length: 11 0x43-0x44.7 (2)
0x00040| 64 65 73 63 72 69 70 74 69 6f 6e| description| value: "description" 0x45-0x4f.7 (11)
| | | value{}: 0x50-0x86.7 (55)
0x00050|02 |. | type: "string" (2) 0x50-0x50.7 (1)
0x00050| 00 34 53 74 61 72 74 65 64 20 70 6c 61 79 69| .4Started playi| value: "Started playing 0/1/1/1514/1514287/1_192254_151428"... 0x51-0x86.7 (54)
0x00050| 00 34 | .4 | length: 52 0x51-0x52.7 (2)
0x00050| 53 74 61 72 74 65 64 20 70 6c 61 79 69| Started playi| value: "Started playing 0/1/1/1514/1514287/1_192254_151428"... 0x53-0x86.7 (52)
0x00060|6e 67 20 30 2f 31 2f 31 2f 31 35 31 34 2f 31 35|ng 0/1/1/1514/15|
* |until 0x86.7 (54) | |
* |until 0x86.7 (52) | |
| | | [3]{}: pair 0x87-0x9b.7 (21)
0x00080| 00 08 63 6c 69 65 6e 74 69| ..clienti| key: "clientid" 0x87-0x90.7 (10)
| | | key{}: 0x87-0x90.7 (10)
0x00080| 00 08 | .. | length: 8 0x87-0x88.7 (2)
0x00080| 63 6c 69 65 6e 74 69| clienti| value: "clientid" 0x89-0x90.7 (8)
0x00090|64 |d |
| | | value{}: 0x91-0x9b.7 (11)
0x00090| 02 | . | type: "string" (2) 0x91-0x91.7 (1)
0x00090| 00 08 4b 37 47 51 67 65 47 37 | ..K7GQgeG7 | value: "K7GQgeG7" 0x92-0x9b.7 (10)
0x00090| 00 08 | .. | length: 8 0x92-0x93.7 (2)
0x00090| 4b 37 47 51 67 65 47 37 | K7GQgeG7 | value: "K7GQgeG7" 0x94-0x9b.7 (8)
| | | [4]{}: pair 0x9c-0x9e.7 (3)
0x00090| 00 00 | .. | key: "" 0x9c-0x9d.7 (2)
| | | key{}: 0x9c-0x9d.7 (2)
0x00090| 00 00 | .. | length: 0 0x9c-0x9d.7 (2)
| | | value: "" 0x9e-NA (0)
| | | value{}: 0x9e-0x9e.7 (1)
0x00090| 09| | .|| type: "object_end" (9) 0x9e-0x9e.7 (1)
| | | [16]{}: message 0x0-0x5.7 (6)
@ -433,7 +488,8 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | messages[0:3]: 0x0-0x17.7 (24)
| | | [0]{}: message (amf0) 0x0-0x13.7 (20)
0x00000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00000| 00 11 7c 52 74 6d 70 53 61 6d 70 6c 65 41 63| ..|RtmpSampleAc| value: "|RtmpSampleAccess" 0x1-0x13.7 (19)
0x00000| 00 11 | .. | length: 17 0x1-0x2.7 (2)
0x00000| 7c 52 74 6d 70 53 61 6d 70 6c 65 41 63| |RtmpSampleAc| value: "|RtmpSampleAccess" 0x3-0x13.7 (17)
0x00010|63 65 73 73 |cess |
| | | [1]{}: message (amf0) 0x14-0x15.7 (2)
0x00010| 01 | . | type: "boolean" (1) 0x14-0x14.7 (1)
@ -450,19 +506,25 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | messages[0:2]: 0x0-0x2b.7 (44)
| | | [0]{}: message (amf0) 0x0-0xa.7 (11)
0x00000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00000| 00 08 6f 6e 53 74 61 74 75 73 | ..onStatus | value: "onStatus" 0x1-0xa.7 (10)
0x00000| 00 08 | .. | length: 8 0x1-0x2.7 (2)
0x00000| 6f 6e 53 74 61 74 75 73 | onStatus | value: "onStatus" 0x3-0xa.7 (8)
| | | [1]{}: message (amf0) 0xb-0x2b.7 (33)
0x00000| 03 | . | type: "object" (3) 0xb-0xb.7 (1)
| | | value[0:2]: 0xc-0x2b.7 (32)
| | | [0]{}: pair 0xc-0x28.7 (29)
0x00000| 00 04 63 6f| ..co| key: "code" 0xc-0x11.7 (6)
| | | key{}: 0xc-0x11.7 (6)
0x00000| 00 04 | .. | length: 4 0xc-0xd.7 (2)
0x00000| 63 6f| co| value: "code" 0xe-0x11.7 (4)
0x00010|64 65 |de |
| | | value{}: 0x12-0x28.7 (23)
0x00010| 02 | . | type: "string" (2) 0x12-0x12.7 (1)
0x00010| 00 14 4e 65 74 53 74 72 65 61 6d 2e 44| ..NetStream.D| value: "NetStream.Data.Start" 0x13-0x28.7 (22)
0x00010| 00 14 | .. | length: 20 0x13-0x14.7 (2)
0x00010| 4e 65 74 53 74 72 65 61 6d 2e 44| NetStream.D| value: "NetStream.Data.Start" 0x15-0x28.7 (20)
0x00020|61 74 61 2e 53 74 61 72 74 |ata.Start |
| | | [1]{}: pair 0x29-0x2b.7 (3)
0x00020| 00 00 | .. | key: "" 0x29-0x2a.7 (2)
| | | key{}: 0x29-0x2a.7 (2)
0x00020| 00 00 | .. | length: 0 0x29-0x2a.7 (2)
| | | value: "" 0x2b-NA (0)
| | | value{}: 0x2b-0x2b.7 (1)
0x00020| 09| | .| | type: "object_end" (9) 0x2b-0x2b.7 (1)
| | | [20]{}: message 0x0-0xcb.7 (204)
@ -470,7 +532,8 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
0x00000|02 |. | type: "string" (2) 0x0-0x0.7 (1)
0x00000| 00 08 6f 6e 53 74 61 74 75 73 | ..onStatus | value: "onStatus" 0x1-0xa.7 (10)
0x00000| 00 08 | .. | length: 8 0x1-0x2.7 (2)
0x00000| 6f 6e 53 74 61 74 75 73 | onStatus | value: "onStatus" 0x3-0xa.7 (8)
| | | transaction_id{}: (amf0) 0xb-0x13.7 (9)
0x00000| 00 | . | type: "number" (0) 0xb-0xb.7 (1)
0x00000| 00 00 00 00| ....| value: 0 0xc-0x13.7 (8)
@ -483,41 +546,58 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00010| 03 | . | type: "object" (3) 0x15-0x15.7 (1)
| | | value[0:6]: 0x16-0xcb.7 (182)
| | | [0]{}: pair 0x16-0x25.7 (16)
0x00010| 00 05 6c 65 76 65 6c | ..level | key: "level" 0x16-0x1c.7 (7)
| | | key{}: 0x16-0x1c.7 (7)
0x00010| 00 05 | .. | length: 5 0x16-0x17.7 (2)
0x00010| 6c 65 76 65 6c | level | value: "level" 0x18-0x1c.7 (5)
| | | value{}: 0x1d-0x25.7 (9)
0x00010| 02 | . | type: "string" (2) 0x1d-0x1d.7 (1)
0x00010| 00 06| ..| value: "status" 0x1e-0x25.7 (8)
0x00020|73 74 61 74 75 73 |status |
0x00010| 00 06| ..| length: 6 0x1e-0x1f.7 (2)
0x00020|73 74 61 74 75 73 |status | value: "status" 0x20-0x25.7 (6)
| | | [1]{}: pair 0x26-0x46.7 (33)
0x00020| 00 04 63 6f 64 65 | ..code | key: "code" 0x26-0x2b.7 (6)
| | | key{}: 0x26-0x2b.7 (6)
0x00020| 00 04 | .. | length: 4 0x26-0x27.7 (2)
0x00020| 63 6f 64 65 | code | value: "code" 0x28-0x2b.7 (4)
| | | value{}: 0x2c-0x46.7 (27)
0x00020| 02 | . | type: "string" (2) 0x2c-0x2c.7 (1)
0x00020| 00 18 4e| ..N| value: "NetStream.Unpause.Notify" 0x2d-0x46.7 (26)
0x00020| 00 18 | .. | length: 24 0x2d-0x2e.7 (2)
0x00020| 4e| N| value: "NetStream.Unpause.Notify" 0x2f-0x46.7 (24)
0x00030|65 74 53 74 72 65 61 6d 2e 55 6e 70 61 75 73 65|etStream.Unpause|
0x00040|2e 4e 6f 74 69 66 79 |.Notify |
| | | [2]{}: pair 0x47-0x84.7 (62)
0x00040| 00 0b 64 65 73 63 72 69 70| ..descrip| key: "description" 0x47-0x53.7 (13)
| | | key{}: 0x47-0x53.7 (13)
0x00040| 00 0b | .. | length: 11 0x47-0x48.7 (2)
0x00040| 64 65 73 63 72 69 70| descrip| value: "description" 0x49-0x53.7 (11)
0x00050|74 69 6f 6e |tion |
| | | value{}: 0x54-0x84.7 (49)
0x00050| 02 | . | type: "string" (2) 0x54-0x54.7 (1)
0x00050| 00 2e 55 6e 70 61 75 73 69 6e 67| ..Unpausing| value: "Unpausing 0/1/1/1514/1514287/1_192254_1514287." 0x55-0x84.7 (48)
0x00050| 00 2e | .. | length: 46 0x55-0x56.7 (2)
0x00050| 55 6e 70 61 75 73 69 6e 67| Unpausing| value: "Unpausing 0/1/1/1514/1514287/1_192254_1514287." 0x57-0x84.7 (46)
0x00060|20 30 2f 31 2f 31 2f 31 35 31 34 2f 31 35 31 34| 0/1/1/1514/1514|
* |until 0x84.7 (48) | |
* |until 0x84.7 (46) | |
| | | [3]{}: pair 0x85-0xb3.7 (47)
0x00080| 00 07 64 65 74 61 69 6c 73 | ..details | key: "details" 0x85-0x8d.7 (9)
| | | key{}: 0x85-0x8d.7 (9)
0x00080| 00 07 | .. | length: 7 0x85-0x86.7 (2)
0x00080| 64 65 74 61 69 6c 73 | details | value: "details" 0x87-0x8d.7 (7)
| | | value{}: 0x8e-0xb3.7 (38)
0x00080| 02 | . | type: "string" (2) 0x8e-0x8e.7 (1)
0x00080| 00| .| value: "0/1/1/1514/1514287/1_192254_1514287" 0x8f-0xb3.7 (37)
0x00090|23 30 2f 31 2f 31 2f 31 35 31 34 2f 31 35 31 34|#0/1/1/1514/1514|
* |until 0xb3.7 (37) | |
0x00080| 00| .| length: 35 0x8f-0x90.7 (2)
0x00090|23 |# |
0x00090| 30 2f 31 2f 31 2f 31 35 31 34 2f 31 35 31 34| 0/1/1/1514/1514| value: "0/1/1/1514/1514287/1_192254_1514287" 0x91-0xb3.7 (35)
0x000a0|32 38 37 2f 31 5f 31 39 32 32 35 34 5f 31 35 31|287/1_192254_151|
0x000b0|34 32 38 37 |4287 |
| | | [4]{}: pair 0xb4-0xc8.7 (21)
0x000b0| 00 08 63 6c 69 65 6e 74 69 64 | ..clientid | key: "clientid" 0xb4-0xbd.7 (10)
| | | key{}: 0xb4-0xbd.7 (10)
0x000b0| 00 08 | .. | length: 8 0xb4-0xb5.7 (2)
0x000b0| 63 6c 69 65 6e 74 69 64 | clientid | value: "clientid" 0xb6-0xbd.7 (8)
| | | value{}: 0xbe-0xc8.7 (11)
0x000b0| 02 | . | type: "string" (2) 0xbe-0xbe.7 (1)
0x000b0| 00| .| value: "K7GQgeG7" 0xbf-0xc8.7 (10)
0x000c0|08 4b 37 47 51 67 65 47 37 |.K7GQgeG7 |
0x000b0| 00| .| length: 8 0xbf-0xc0.7 (2)
0x000c0|08 |. |
0x000c0| 4b 37 47 51 67 65 47 37 | K7GQgeG7 | value: "K7GQgeG7" 0xc1-0xc8.7 (8)
| | | [5]{}: pair 0xc9-0xcb.7 (3)
0x000c0| 00 00 | .. | key: "" 0xc9-0xca.7 (2)
| | | key{}: 0xc9-0xca.7 (2)
0x000c0| 00 00 | .. | length: 0 0xc9-0xca.7 (2)
| | | value: "" 0xcb-NA (0)
| | | value{}: 0xcb-0xcb.7 (1)
0x000c0| 09| | .| | type: "object_end" (9) 0xcb-0xcb.7 (1)
| | | [21]{}: message 0x0-0x1.7 (2)