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

interp: Refactor dump and revert #259 for now

Causes address bar to not be shown in some cases.
Will have to rethink and redo the whole dump thing somehow.
This commit is contained in:
Mattias Wadman 2022-05-20 12:38:43 +02:00
parent cc33bb1ee4
commit 2dc509ab2f
74 changed files with 358 additions and 248 deletions

View File

@ -367,7 +367,6 @@ $ fq -d raw 'frompem | asn1_ber | dv' ed25519.cer
0x130| 04 | . | tag: "octet_string" (0x4) 0x132.3-0x132.7 (0.5)
0x130| 05 | . | length: 5 0x133-0x133.7 (1)
0x130| 30 03 01 01 ff | 0.... | value: raw bits 0x134-0x138.7 (5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|04 14 6b a5 bd cf 9d fa 23 59 78 12 64 17 ae 1e|..k.....#Yx.d...| value: raw bits 0x0-0x32.7 (51)
* |until 0x32.7 (end) (51) | |
| | | [1]{}: object 0x139-0x13f.7 (7)

View File

@ -60,7 +60,6 @@ $ fq '.[] | . as $t | .hex | gsub("[^0-9a-f]";"") | hex | $t, (asn1_ber | dv)' l
0x00| 06 | . | unused_bits_count: 6 0x9-0x9.7 (1)
0x00| c0| | .| | value: raw bits 0xa-0xa.1 (0.2)
0x00| c0| | .| | unused_bits: raw bits 0xa.2-0xa.7 (0.6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|6e 5d c0| |n].| | value: raw bits 0x0-0x2.1 (2.2)
{
"decoded": "test1@rsa.com",
@ -214,7 +213,6 @@ $ fq '.[] | . as $t | .hex | gsub("[^0-9a-f]";"") | hex | $t, (asn1_ber | dv)' l
0x00| 04 | . | tag: "octet_string" (0x4) 0x8.3-0x8.7 (0.5)
0x00| 04 | . | length: 4 0x9-0x9.7 (1)
0x00| 89 ab cd ef| | ....| | value: raw bits 0xa-0xd.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|01 23 45 67 89 ab cd ef| |.#Eg....| | value: raw bits 0x0-0x7.7 (8)
{
"decoded": "Test User 1",

View File

@ -462,7 +462,6 @@ $ fq -d raw 'frompem | asn1_ber | dv' letsencrypt-x3.cer
0x0360| 04 14 a8 4a| ...J| value: raw bits 0x36c-0x381.7 (22)
0x0370|6a 63 04 7d dd ba e6 d1 39 b7 a6 45 65 ef f3 a8|jc.}....9..Ee...|
0x0380|ec a1 |.. |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|30 06 01 01 ff 02 01 00 03 02 01 86 30 71 30 32|0...........0q02| value: raw bits 0x0-0x12e.7 (303)
* |until 0x12e.7 (end) (303) | |
| | | [1]{}: object 0x382-0x390.7 (15)

View File

@ -190,7 +190,6 @@ $ fq -d raw 'frompem | asn1_ber | dv' sig-p256-ber.p7m
0x02770|41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41|AAAAAAAAAAAAAAAA| value: raw bits 0x2770-0x2791.7 (34)
* |until 0x2791.7 (34) | |
0x02790| 00 00 | .. | end_marker: 0 0x2792-0x2793.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|49 6e 69 7a 69 6f 20 63 6f 6e 74 65 6e 75 74 6f|Inizio contenuto| value: raw bits 0x0-0x2731.7 (10034)
* |until 0x2731.7 (end) (10034) | |
0x02790| 00 00 | .. | end_marker: 0 0x2794-0x2795.7 (2)
@ -474,7 +473,6 @@ $ fq -d raw 'frompem | asn1_ber | dv' sig-p256-ber.p7m
0x02890| 30 16| 0.| value: raw bits 0x289e-0x28b5.7 (24)
0x028a0|80 14 66 0d 2d d0 4b 45 ed 33 c8 a2 f9 71 49 85|..f.-.KE.3...qI.|
0x028b0|72 c2 08 57 b5 be |r..W.. |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|03 02 04 f0 04 14 66 0d 2d d0 4b 45 ed 33 c8 a2|......f.-.KE.3..| value: raw bits 0x0-0x31.7 (50)
* |until 0x31.7 (end) (50) | |
| | | [1]{}: object 0x28b6-0x28c1.7 (12)
@ -893,7 +891,6 @@ $ fq -d raw 'frompem | asn1_ber | dv' sig-p256-ber.p7m
0x02a20| 0c| .| tag: "utf8_string" (0xc) 0x2a2f.3-0x2a2f.7 (0.5)
0x02a30|04 |. | length: 4 0x2a30-0x2a30.7 (1)
0x02a30| 54 65 73 74 | Test | value: "Test" 0x2a31-0x2a34.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
| | | value: raw bits 0x0-NA (0)
| | | [1]{}: object 0x2a35-0x2a46.7 (18)
0x02a30| 02 | . | class: "universal" (0) 0x2a35-0x2a35.1 (0.2)

View File

@ -381,7 +381,6 @@ $ fq -d raw 'frompem | asn1_ber | dv' sig-p256-der.p7m
0x2870| 30 16 80 14| 0...| value: raw bits 0x287c-0x2893.7 (24)
0x2880|c3 c0 84 df 7b 04 0d b0 38 af 51 8c e3 97 f6 ec|....{...8.Q.....|
0x2890|20 d6 26 e6 | .&. |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|03 02 04 f0 04 14 c3 c0 84 df 7b 04 0d b0 38 af|..........{...8.| value: raw bits 0x0-0x31.7 (50)
* |until 0x31.7 (end) (50) | |
| | | [1]{}: object 0x2894-0x289f.7 (12)
@ -798,7 +797,6 @@ $ fq -d raw 'frompem | asn1_ber | dv' sig-p256-der.p7m
0x2a00| 04 | . | length: 4 0x2a0c-0x2a0c.7 (1)
0x2a00| 54 65 73| Tes| value: "Test" 0x2a0d-0x2a10.7 (4)
0x2a10|74 |t |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
| | | value: raw bits 0x0-NA (0)
| | | [1]{}: object 0x2a11-0x2a22.7 (18)
0x2a10| 02 | . | class: "universal" (0) 0x2a11-0x2a11.1 (0.2)

View File

@ -363,7 +363,6 @@ $ fq -d raw 'frompem | asn1_ber | dv' sig-rsa1024-sha1.p7s
0x170| 18| .| length: 24 0x17f-0x17f.7 (1)
0x180|30 16 80 14 42 06 5d 00 78 87 ed 38 67 7c bf 9f|0...B.].x..8g|..| value: raw bits 0x180-0x197.7 (24)
0x190|b3 6f f7 8f 82 a8 f8 ad |.o...... |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|03 02 04 f0 04 14 42 06 5d 00 78 87 ed 38 67 7c|......B.].x..8g|| value: raw bits 0x0-0x31.7 (50)
* |until 0x31.7 (end) (50) | |
| | | [1]{}: object 0x198-0x1a6.7 (15)

View File

@ -18,5 +18,4 @@ $ fq -d asn1_ber dv tc35.ber
0x00| 05 | . | length: 5 0x8-0x8.7 (1)
0x00| 04 5f 29 1c d0 | ._).. | value: raw bits 0x9-0xd.7 (5)
0x00| 00 00| ..| end_marker: 0 0xe-0xf.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|00 0a 3b 04 5f 29 1c d0| |..;._)..| | value: raw bits 0x0-0x7.7 (8)

View File

@ -27,7 +27,6 @@ $ fq -d asn1_ber dv tc36.ber
0x00| 02 | . | value: raw bits 0xb-0xb.6 (0.7)
0x00| 02 | . | unused_bits: raw bits 0xb.7-0xb.7 (0.1)
0x00| 00 00 | .. | end_marker: 0 0xc-0xd.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|01 02| |..| | value: raw bits 0x0-0x1.6 (1.7)
| | | [1]{}: object 0xe-0x11.7 (4)
0x00| 03 | . | class: "universal" (0) 0xe-0xe.1 (0.2)
@ -38,5 +37,4 @@ $ fq -d asn1_ber dv tc36.ber
0x10| 0f | . | value: raw bits 0x11-0x11.3 (0.4)
0x10| 0f | . | unused_bits: raw bits 0x11.4-0x11.7 (0.4)
0x10| 00 00| | ..| | end_marker: 0 0x12-0x13.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|01 02 00| |...| | value: raw bits 0x0-0x2.2 (2.3)

View File

@ -27,5 +27,4 @@ $ fq -d asn1_ber dv tc37.ber
0x00| 04 | . | unused_bits_count: 4 0xc-0xc.7 (1)
0x00| 0f| | .| | value: raw bits 0xd-0xd.3 (0.4)
0x00| 0f| | .| | unused_bits: raw bits 0xd.4-0xd.7 (0.4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|01 01 00| |...| | value: raw bits 0x0-0x2.3 (2.4)

View File

@ -21,5 +21,4 @@ $ fq -d asn1_ber dv tc38.ber
0x00| 5f 29 1c d0 | _).. | value: raw bits 0xa-0xd.3 (3.4)
0x00| d0 | . | unused_bits: raw bits 0xd.4-0xd.7 (0.4)
0x00| 00 00| ..| end_marker: 0 0xe-0xf.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|0a 3b 5f 29 1c d0| |.;_)..| | value: raw bits 0x0-0x5.3 (5.4)

View File

@ -21,5 +21,4 @@ $ fq -d asn1_ber dv tc41.ber
0x00| 5f 29 1c d0 | _).. | value: raw bits 0xa-0xd.3 (3.4)
0x00| d0 | . | unused_bits: raw bits 0xd.4-0xd.7 (0.4)
0x00| 00 00| ..| end_marker: 0 0xe-0xf.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|0a 3b 5f 29 1c d0| |.;_)..| | value: raw bits 0x0-0x5.3 (5.4)

View File

@ -31,7 +31,7 @@ $ fq 'dv({array_truncate: 5})' quickstop-deflate.avro
0x00120|d5 9e 4f 58 37 ad b2 a2 ce cd |..OX7..... |
| | | blocks[0:12]: 0x12a-0x5835.7 (22284)
| | | [0]{}: block 0x12a-0x9dc.7 (2227)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| data[0:602]: 0x0-0x3ff1.7 (16370)
| | | data[0:602]: 0x0-0x3ff1.7 (16370)
| | | [0]{}: data 0x0-0x11.7 (18)
0x0000|02 |. | ID: 1 0x0-0x0.7 (1)
| | | First{}: 0x1-0x6.7 (6)
@ -108,7 +108,7 @@ $ fq 'dv({array_truncate: 5})' quickstop-deflate.avro
0x009c0| 93 e7 87| ...| sync: raw bits (valid) 0x9cd-0x9dc.7 (16)
0x009d0|9e 02 95 d5 9e 4f 58 37 ad b2 a2 ce cd |.....OX7..... |
| | | [1]{}: block 0x9dd-0x1257.7 (2171)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| data[0:592]: 0x0-0x3ffc.7 (16381)
| | | data[0:592]: 0x0-0x3ffc.7 (16381)
| | | [0]{}: data 0x0-0x23.7 (36)
0x0000|b6 09 |.. | ID: 603 0x0-0x1.7 (2)
| | | First{}: 0x2-0xa.7 (9)
@ -183,7 +183,7 @@ $ fq 'dv({array_truncate: 5})' quickstop-deflate.avro
0x01240| 93 e7 87 9e 02 95 d5 9e| ........| sync: raw bits (valid) 0x1248-0x1257.7 (16)
0x01250|4f 58 37 ad b2 a2 ce cd |OX7..... |
| | | [2]{}: block 0x1258-0x1ad5.7 (2174)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| data[0:591]: 0x0-0x3fe4.7 (16357)
| | | data[0:591]: 0x0-0x3fe4.7 (16357)
| | | [0]{}: data 0x0-0x14.7 (21)
0x0000|d6 12 |.. | ID: 1195 0x0-0x1.7 (2)
| | | First{}: 0x2-0x7.7 (6)
@ -261,7 +261,7 @@ $ fq 'dv({array_truncate: 5})' quickstop-deflate.avro
0x01ac0| 93 e7 87 9e 02 95 d5 9e 4f 58| ........OX| sync: raw bits (valid) 0x1ac6-0x1ad5.7 (16)
0x01ad0|37 ad b2 a2 ce cd |7..... |
| | | [3]{}: block 0x1ad6-0x235f.7 (2186)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| data[0:592]: 0x0-0x3fed.7 (16366)
| | | data[0:592]: 0x0-0x3fed.7 (16366)
| | | [0]{}: data 0x0-0x1e.7 (31)
0x0000|f4 1b |.. | ID: 1786 0x0-0x1.7 (2)
| | | First{}: 0x2-0x9.7 (8)
@ -336,7 +336,7 @@ $ fq 'dv({array_truncate: 5})' quickstop-deflate.avro
* |until 0x234f.7 (2166) | |
0x02350|93 e7 87 9e 02 95 d5 9e 4f 58 37 ad b2 a2 ce cd|........OX7.....| sync: raw bits (valid) 0x2350-0x235f.7 (16)
| | | [4]{}: block 0x2360-0x2bda.7 (2171)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| data[0:591]: 0x0-0x3fee.7 (16367)
| | | data[0:591]: 0x0-0x3fee.7 (16367)
| | | [0]{}: data 0x0-0x1f.7 (32)
0x0000|94 25 |.% | ID: 2378 0x0-0x1.7 (2)
| | | First{}: 0x2-0x8.7 (7)

View File

@ -31,7 +31,7 @@ $ fq 'dv({array_truncate: 25})' snappy.avro
0x0410|cc cc 61 31 fd 14 d0 61 16 b6 0f 9d 30 f4 1b f0|..a1...a....0...| sync: raw bits 0x410-0x41f.7 (16)
| | | blocks[0:1]: 0x420-0x638.7 (537)
| | | [0]{}: block 0x420-0x638.7 (537)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| data[0:10]: 0x0-0x307.7 (776)
| | | data[0:10]: 0x0-0x307.7 (776)
| | | [0]{}: data 0x0-0x4a.7 (75)
| | | null: null 0x0-NA (0)
0x000|01 |. | boolean: true 0x0-0x0.7 (1)

View File

@ -19,7 +19,6 @@ $ fq -d bzip2 dv /test.bz2
| | | trees[0:2]: 0x1b.4-0x1c.7 (1.4)
0x10| 21 9a | !. | [0]: 3 tree 0x1b.4-0x1c.1 (0.6)
0x10| 9a | . | [1]: 13 tree 0x1c.2-0x1c.7 (0.6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|74 65 73 74 0a| |test.| | uncompressed: raw bits 0x0-0x4.7 (5)
0x10| 68 33 4d| h3M| compressed: raw bits 0x1d-0x22 (5.1)
0x20|19 97 8b |... |

View File

@ -628,6 +628,5 @@ $ fq -d flac dv /mono16.flac
* |until 0x8595.7 (3050) | |
| | | byte_align: 0 (valid) 0x8596-NA (0)
0x8590| ce 60| | .`| | footer_crc: "ce60" (raw bits) (valid) 0x8596-0x8597.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|29 cf 8e b6 22 e9 be 01 80 8e ca fe 81 7d 17 a6|)..."........}..| md5_calculated: "29cf8eb622e9be01808ecafe817d17a6" (raw bits) (valid) 0x0-0xf.7 (16)
| | | decoded_samples: 22050 0x8598-NA (0)

View File

@ -730,6 +730,5 @@ $ fq -d flac dv /mono24.flac
* |until 0xbcc8 (4620) | |
0xbcc0| 80 | . | byte_align: 0 (valid) 0xbcc8.1-0xbcc8.7 (0.7)
0xbcc0| 0a ac| | ..| | footer_crc: "0aac" (raw bits) (valid) 0xbcc9-0xbcca.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|73 2e b0 36 53 c4 c7 d2 37 fd a4 f0 6a 16 db 0e|s..6S...7...j...| md5_calculated: "732eb03653c4c7d237fda4f06a16db0e" (raw bits) (valid) 0x0-0xf.7 (16)
| | | decoded_samples: 22050 0xbccb-NA (0)

View File

@ -542,6 +542,5 @@ $ fq -d flac dv /mono8.flac
* |until 0x4ced.5 (1480) | |
0x4ce0| b4 | . | byte_align: 0 (valid) 0x4ced.6-0x4ced.7 (0.2)
0x4ce0| e8 b7| ..| footer_crc: "e8b7" (raw bits) (valid) 0x4cee-0x4cef.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|1b 43 07 3d 6a 82 69 42 bc a8 2c fd 2e a1 55 f2|.C.=j.iB..,...U.| md5_calculated: "1b43073d6a826942bca82cfd2ea155f2" (raw bits) (valid) 0x0-0xf.7 (16)
| | | decoded_samples: 22050 0x4cf0-NA (0)

View File

@ -259,6 +259,5 @@ $ fq -d flac dv /picture_seek_gain.flac
* |until 0x225d.2 (467) | |
0x2250| 20 | | byte_align: 0 (valid) 0x225d.3-0x225d.7 (0.5)
0x2250| 7f ab| ..| footer_crc: "7fab" (raw bits) (valid) 0x225e-0x225f.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|89 88 7b 80 f8 10 28 5b 45 f6 c4 ec c7 2c 97 7e|..{...([E....,.~| md5_calculated: "89887b80f810285b45f6c4ecc72c977e" (raw bits) (valid) 0x0-0xf.7 (16)
| | | decoded_samples: 441 0x2260-NA (0)

View File

@ -817,6 +817,5 @@ $ fq -d flac dv /stereo16.flac
* |until 0xc549.1 (451) | |
0xc540| 80 | . | byte_align: 0 (valid) 0xc549.2-0xc549.7 (0.6)
0xc540| 06 d3| | ..| | footer_crc: "06d3" (raw bits) (valid) 0xc54a-0xc54b.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|5a 00 c8 73 b8 0b 8f 62 94 d1 4f e7 5b 14 a7 d3|Z..s...b..O.[...| md5_calculated: "5a00c873b80b8f6294d14fe75b14a7d3" (raw bits) (valid) 0x0-0xf.7 (16)
| | | decoded_samples: 22050 0xc54c-NA (0)

View File

@ -1393,6 +1393,5 @@ $ fq -d flac dv /stereo24.flac
* |until 0x11bc9.1 (451) | |
0x11bc0| 80 | . | byte_align: 0 (valid) 0x11bc9.2-0x11bc9.7 (0.6)
0x11bc0| fa 69| | .i| | footer_crc: "fa69" (raw bits) (valid) 0x11bca-0x11bcb.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|bd dd 75 b3 c0 3e 05 52 8c c7 1f 65 a0 77 48 28|..u..>.R...e.wH(| md5_calculated: "bddd75b3c03e05528cc71f65a0774828" (raw bits) (valid) 0x0-0xf.7 (16)
| | | decoded_samples: 22050 0x11bcc-NA (0)

View File

@ -925,6 +925,5 @@ $ fq -d flac dv /stereo8.flac
* |until 0x6d5a.2 (395) | |
0x6d50| 40 | @ | byte_align: 0 (valid) 0x6d5a.3-0x6d5a.7 (0.5)
0x6d50| ee 38| | .8| | footer_crc: "ee38" (raw bits) (valid) 0x6d5b-0x6d5c.7 (2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|ef 79 00 9c ce 3b d7 9e f4 b5 66 8e bb 98 d1 13|.y...;....f.....| md5_calculated: "ef79009cce3bd79ef4b5668ebb98d113" (raw bits) (valid) 0x0-0xf.7 (16)
| | | decoded_samples: 22050 0x6d5d-NA (0)

View File

@ -7,7 +7,6 @@ $ fq -d gzip 'tobits | chunk(3) | gzip' test.gz
0x00| 41 02 ea 5f | A.._ | mtime: 1609171521 (2020-12-28T16:05:21Z)
0x00| 00 | . | extra_flags: 0
0x00| 03 | . | os: "unix" (3)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|74 65 73 74 0a| |test.| | uncompressed: raw bits
0x00| 2b 49 2d 2e e1 02| +I-...| compressed: raw bits
0x10|00 |. |

View File

@ -13,7 +13,6 @@ $ fq -d gzip dv /test.gz
0x00| 41 02 ea 5f | A.._ | mtime: 1609171521 (2020-12-28T16:05:21Z) 0x4-0x7.7 (4)
0x00| 00 | . | extra_flags: 0 0x8-0x8.7 (1)
0x00| 03 | . | os: "unix" (3) 0x9-0x9.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|74 65 73 74 0a| |test.| | uncompressed: raw bits 0x0-0x4.7 (5)
0x00| 2b 49 2d 2e e1 02| +I-...| compressed: raw bits 0xa-0x10.7 (7)
0x10|00 |. |

View File

@ -1,6 +1,6 @@
# ssl_test.pcap from https://www.cloudshark.org/captures/a9718e5fdb28
$ fq '.tcp_connections | d' flow_missing_synack.pcap
| | |.tcp_connections[0:8]:
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.tcp_connections[0:8]:
| | | [0]{}: tcp_connection
| | | client{}:
| | | ip: "192.168.1.4"
@ -8,7 +8,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 9e 01 00 00 9a 03 01 50 83 9c fa fe|...........P....| stream: raw bits
* |until 0x177.7 (end) (376) | |
| | | server{}:
@ -17,7 +16,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 35 02 00 00 31 03 01 50 83 9c 9f e3|....5...1..P....| stream: raw bits
* |until 0x42b.7 (end) (1068) | |
| | | [1]{}: tcp_connection
@ -27,7 +25,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 9e 01 00 00 9a 03 01 50 83 9d 00 a1|...........P....| stream: raw bits
* |until 0x177.7 (end) (376) | |
| | | server{}:
@ -36,7 +33,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 35 02 00 00 31 03 01 50 83 9c a5 e5|....5...1..P....| stream: raw bits
* |until 0x42b.7 (end) (1068) | |
| | | [2]{}: tcp_connection
@ -46,7 +42,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 9e 01 00 00 9a 03 01 50 83 9d 03 f3|...........P....| stream: raw bits
* |until 0x2ad.7 (end) (686) | |
| | | server{}:
@ -55,7 +50,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 35 02 00 00 31 03 01 50 83 9c a8 b2|....5...1..P....| stream: raw bits
* |until 0x53c.7 (end) (1341) | |
| | | [3]{}: tcp_connection
@ -65,7 +59,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d 03 d8|....n...j..P....| stream: raw bits
* |until 0x2df.7 (end) (736) | |
| | | server{}:
@ -74,7 +67,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9c a8 fc|....Q...M..P....| stream: raw bits
* |until 0x1b7.7 (end) (440) | |
| | | [4]{}: tcp_connection
@ -84,7 +76,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d 03 94|....n...j..P....| stream: raw bits
* |until 0x2fd.7 (end) (766) | |
| | | server{}:
@ -93,7 +84,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9c a8 d8|....Q...M..P....| stream: raw bits
* |until 0x1b7.7 (end) (440) | |
| | | [5]{}: tcp_connection
@ -103,7 +93,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d 0d 96|....n...j..P....| stream: raw bits
* |until 0x2fd.7 (end) (766) | |
| | | server{}:
@ -112,7 +101,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: true
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9c b2 45|....Q...M..P...E| stream: raw bits
* |until 0x2d73.7 (end) (11636) | |
| | | [6]{}: tcp_connection
@ -122,7 +110,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9d d7 3a|....n...j..P...:| stream: raw bits
* |until 0x38c.7 (end) (909) | |
| | | server{}:
@ -131,7 +118,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9d 7c ac|....Q...M..P..|.| stream: raw bits
* |until 0x2d5.7 (end) (726) | |
| | | [7]{}: tcp_connection
@ -141,7 +127,6 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 01 6e 01 00 01 6a 03 01 50 83 9e 02 2b|....n...j..P...+| stream: raw bits
* |until 0x4a0.7 (end) (1185) | |
| | | server{}:
@ -150,6 +135,5 @@ $ fq '.tcp_connections | d' flow_missing_synack.pcap
| | | has_start: false
| | | has_end: false
| | | skipped_bytes: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0000|16 03 01 00 51 02 00 00 4d 03 01 50 83 9d a7 8b|....Q...M..P....| stream: raw bits
* |until 0x4f3.7 (end) (1268) | |

View File

@ -28,7 +28,6 @@ $ fq . /json.gz
0x00| 65 0a 08 61 | e..a | mtime: 1627916901 (2021-08-02T15:08:21Z)
0x00| 00 | . | extra_flags: 0
0x00| 03 | . | os: "unix" (3)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|7b 22 61 22 3a 20 31 32 33 7d 0a| |{"a": 123}.| | uncompressed: {} (json)
0x00| ab 56 4a 54 b2 52| .VJT.R| compressed: raw bits
0x10|30 34 32 ae e5 02 00 |042.... |

View File

@ -252,7 +252,7 @@ $ fq -d matroska dv /avc.mkv
| | | [0]{}: set 0x187-0x1a1.7 (27)
0x0180| 00 19 | .. | length: 25 0x187-0x188.7 (2)
| | | nal{}: (avc_nalu) 0x189-0x1a1.7 (25)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sps{}: (avc_sps) 0x0-0x15.7 (22)
| | | sps{}: (avc_sps) 0x0-0x15.7 (22)
0x000|f4 |. | profile_idc: "high_444_predictive_profile" (244) 0x0-0x0.7 (1)
0x000| 00 | . | constraint_set0_flag: false 0x1-0x1 (0.1)
0x000| 00 | . | constraint_set1_flag: false 0x1.1-0x1.1 (0.1)
@ -314,7 +314,7 @@ $ fq -d matroska dv /avc.mkv
| | | [0]{}: set 0x1a3-0x1aa.7 (8)
0x01a0| 00 06 | .. | length: 6 0x1a3-0x1a4.7 (2)
| | | nal{}: (avc_nalu) 0x1a5-0x1aa.7 (6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| pps{}: (avc_pps) 0x0-0x4.7 (5)
| | | pps{}: (avc_pps) 0x0-0x4.7 (5)
0x000|eb |. | pic_parameter_set_id: 0 0x0-0x0 (0.1)
0x000|eb |. | seq_parameter_set_id: 0 0x0.1-0x0.1 (0.1)
0x000|eb |. | entropy_coding_mode_flag: true 0x0.2-0x0.2 (0.1)
@ -459,7 +459,7 @@ $ fq -d matroska dv /avc.mkv
| | | [0]{}: nalu 0x26b-0x51b.7 (689)
0x0260| 00 00 02 ad | .... | length: 685 0x26b-0x26e.7 (4)
| | | nalu{}: (avc_nalu) 0x26f-0x51b.7 (685)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sei{}: (avc_sei) 0x0-0x2ab.7 (684)
| | | sei{}: (avc_sei) 0x0-0x2ab.7 (684)
0x000|05 |. | payload_type: "user_data_unregistered" (5) 0x0-0x0.7 (1)
0x000| ff ff a9 | ... | payload_size: 679 0x1-0x3.7 (3)
0x000| dc 45 e9 bd e6 d9 48 b7 96 2c d8 20| .E....H..,. | uuid: "x264" (raw bits) 0x4-0x13.7 (16)

View File

@ -273,7 +273,7 @@ $ fq -d matroska dv /hevc.mkv
| | | [0]{}: nal 0x19d-0x1b5.7 (25)
0x0190| 00 17 | .. | nal_unit_length: 23 0x19d-0x19e.7 (2)
| | | nal{}: (hevc_nalu) 0x19f-0x1b5.7 (23)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| vps{}: (hevc_vps) 0x0-0x12.7 (19)
| | | vps{}: (hevc_vps) 0x0-0x12.7 (19)
0x000|0c |. | vps_video_parameter_set_id: 0 0x0-0x0.3 (0.4)
0x000|0c |. | vps_base_layer_internal_flag: true 0x0.4-0x0.4 (0.1)
0x000|0c |. | vps_base_layer_available_flag: true 0x0.5-0x0.5 (0.1)
@ -364,7 +364,7 @@ $ fq -d matroska dv /hevc.mkv
| | | [0]{}: nal 0x1b9-0x1e5.7 (45)
0x01b0| 00 2b | .+ | nal_unit_length: 43 0x1b9-0x1ba.7 (2)
| | | nal{}: (hevc_nalu) 0x1bb-0x1e5.7 (43)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sps{}: (hevc_sps) 0x0-0x25.7 (38)
| | | sps{}: (hevc_sps) 0x0-0x25.7 (38)
0x000|01 |. | sps_video_parameter_set_id: 0 0x0-0x0.3 (0.4)
0x000|01 |. | sps_max_sub_layers_minus1: 0 0x0.4-0x0.6 (0.3)
0x000|01 |. | sps_temporal_id_nesting_flag: true 0x0.7-0x0.7 (0.1)
@ -493,7 +493,7 @@ $ fq -d matroska dv /hevc.mkv
| | | [0]{}: nal 0x1e9-0x1f2.7 (10)
0x01e0| 00 08 | .. | nal_unit_length: 8 0x1e9-0x1ea.7 (2)
| | | nal{}: (hevc_nalu) 0x1eb-0x1f2.7 (8)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| pps{}: (hevc_pps) 0x0-0x5.7 (6)
| | | pps{}: (hevc_pps) 0x0-0x5.7 (6)
0x000|c1 |. | pps_pic_parameter_set_id: 0 0x0-0x0 (0.1)
0x000|c1 |. | pps_seq_parameter_set_id: 0 0x0.1-0x0.1 (0.1)
0x000|c1 |. | dependent_slice_segments_enabled_flag: false 0x0.2-0x0.2 (0.1)

View File

@ -235,7 +235,7 @@ $ fq -d mp4 dv /avc.mp4
| | | [0]{}: set 0xf8e-0xfa8.7 (27)
0x0f80| 00 19| ..| length: 25 0xf8e-0xf8f.7 (2)
| | | nal{}: (avc_nalu) 0xf90-0xfa8.7 (25)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sps{}: (avc_sps) 0x0-0x15.7 (22)
| | | sps{}: (avc_sps) 0x0-0x15.7 (22)
0x000|f4 |. | profile_idc: "high_444_predictive_profile" (244) 0x0-0x0.7 (1)
0x000| 00 | . | constraint_set0_flag: false 0x1-0x1 (0.1)
0x000| 00 | . | constraint_set1_flag: false 0x1.1-0x1.1 (0.1)
@ -296,7 +296,7 @@ $ fq -d mp4 dv /avc.mp4
| | | [0]{}: set 0xfaa-0xfb1.7 (8)
0x0fa0| 00 06 | .. | length: 6 0xfaa-0xfab.7 (2)
| | | nal{}: (avc_nalu) 0xfac-0xfb1.7 (6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| pps{}: (avc_pps) 0x0-0x4.7 (5)
| | | pps{}: (avc_pps) 0x0-0x4.7 (5)
0x000|eb |. | pic_parameter_set_id: 0 0x0-0x0 (0.1)
0x000|eb |. | seq_parameter_set_id: 0 0x0.1-0x0.1 (0.1)
0x000|eb |. | entropy_coding_mode_flag: true 0x0.2-0x0.2 (0.1)
@ -457,7 +457,7 @@ $ fq -d mp4 dv /avc.mp4
| | | [0]{}: nalu 0x30-0x2e0.7 (689)
0x0030|00 00 02 ad |.... | length: 685 0x30-0x33.7 (4)
| | | nalu{}: (avc_nalu) 0x34-0x2e0.7 (685)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sei{}: (avc_sei) 0x0-0x2ab.7 (684)
| | | sei{}: (avc_sei) 0x0-0x2ab.7 (684)
0x000|05 |. | payload_type: "user_data_unregistered" (5) 0x0-0x0.7 (1)
0x000| ff ff a9 | ... | payload_size: 679 0x1-0x3.7 (3)
0x000| dc 45 e9 bd e6 d9 48 b7 96 2c d8 20| .E....H..,. | uuid: "x264" (raw bits) 0x4-0x13.7 (16)

View File

@ -732,7 +732,7 @@ $ fq -d mp4 dv /dash_video_init.mp4
| | | [0]{}: set 0x280-0x295.7 (22)
0x280|00 14 |.. | length: 20 0x280-0x281.7 (2)
| | | nal{}: (avc_nalu) 0x282-0x295.7 (20)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sps{}: (avc_sps) 0x0-0x11.7 (18)
| | | sps{}: (avc_sps) 0x0-0x11.7 (18)
0x00|f4 |. | profile_idc: "high_444_predictive_profile" (244) 0x0-0x0.7 (1)
0x00| 10 | . | constraint_set0_flag: false 0x1-0x1 (0.1)
0x00| 10 | . | constraint_set1_flag: false 0x1.1-0x1.1 (0.1)
@ -785,7 +785,7 @@ $ fq -d mp4 dv /dash_video_init.mp4
| | | [0]{}: set 0x297-0x29e.7 (8)
0x290| 00 06 | .. | length: 6 0x297-0x298.7 (2)
| | | nal{}: (avc_nalu) 0x299-0x29e.7 (6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| pps{}: (avc_pps) 0x0-0x4.7 (5)
| | | pps{}: (avc_pps) 0x0-0x4.7 (5)
0x00|ee |. | pic_parameter_set_id: 0 0x0-0x0 (0.1)
0x00|ee |. | seq_parameter_set_id: 0 0x0.1-0x0.1 (0.1)
0x00|ee |. | entropy_coding_mode_flag: true 0x0.2-0x0.2 (0.1)

View File

@ -1,5 +1,5 @@
$ fq -o decode_samples=false -d mp4 '.tracks | dv' /aac.mp4
| | |.tracks[0:1]: 0x2c-0x59c.7 (1393)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.tracks[0:1]: 0x2c-0x59c.7 (1393)
| | | [0]{}: track 0x2c-0x59c.7 (1393)
| | | samples[0:4]: 0x2c-0x291.7 (614)
0x020| de 02 00 4c| ...L| [0]: raw bits sample 0x2c-0xf8.7 (205)

View File

@ -194,7 +194,7 @@ $ fq -d mp4 dv /fragmented.mp4
| | | [0]{}: set 0x20d-0x222.7 (22)
0x0200| 00 14 | .. | length: 20 0x20d-0x20e.7 (2)
| | | nal{}: (avc_nalu) 0x20f-0x222.7 (20)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sps{}: (avc_sps) 0x0-0x11.7 (18)
| | | sps{}: (avc_sps) 0x0-0x11.7 (18)
0x000|f4 |. | profile_idc: "high_444_predictive_profile" (244) 0x0-0x0.7 (1)
0x000| 10 | . | constraint_set0_flag: false 0x1-0x1 (0.1)
0x000| 10 | . | constraint_set1_flag: false 0x1.1-0x1.1 (0.1)
@ -247,7 +247,7 @@ $ fq -d mp4 dv /fragmented.mp4
| | | [0]{}: set 0x224-0x22b.7 (8)
0x0220| 00 06 | .. | length: 6 0x224-0x225.7 (2)
| | | nal{}: (avc_nalu) 0x226-0x22b.7 (6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| pps{}: (avc_pps) 0x0-0x4.7 (5)
| | | pps{}: (avc_pps) 0x0-0x4.7 (5)
0x000|ee |. | pic_parameter_set_id: 0 0x0-0x0 (0.1)
0x000|ee |. | seq_parameter_set_id: 0 0x0.1-0x0.1 (0.1)
0x000|ee |. | entropy_coding_mode_flag: true 0x0.2-0x0.2 (0.1)
@ -1109,7 +1109,7 @@ $ fq -d mp4 dv /fragmented.mp4
0x0650| 00 00 02| ...| length: 605 0x65d-0x660.7 (4)
0x0660|5d |] |
| | | nalu{}: (avc_nalu) 0x661-0x8bd.7 (605)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sei{}: (avc_sei) 0x0-0x25b.7 (604)
| | | sei{}: (avc_sei) 0x0-0x25b.7 (604)
0x000|05 |. | payload_type: "user_data_unregistered" (5) 0x0-0x0.7 (1)
0x000| ff ff 59 | ..Y | payload_size: 599 0x1-0x3.7 (3)
0x000| dc 45 e9 bd e6 d9 48 b7 96 2c d8 20| .E....H..,. | uuid: "x264" (raw bits) 0x4-0x13.7 (16)

View File

@ -122,7 +122,7 @@ $ fq -d mp4 dv /heic.mp4
| | | [0]{}: nal 0xf2-0x10c.7 (27)
0x0f0| 00 19 | .. | nal_unit_length: 25 0xf2-0xf3.7 (2)
| | | nal{}: (hevc_nalu) 0xf4-0x10c.7 (25)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| vps{}: (hevc_vps) 0x0-0x13.7 (20)
| | | vps{}: (hevc_vps) 0x0-0x13.7 (20)
0x00|0c |. | vps_video_parameter_set_id: 0 0x0-0x0.3 (0.4)
0x00|0c |. | vps_base_layer_internal_flag: true 0x0.4-0x0.4 (0.1)
0x00|0c |. | vps_base_layer_available_flag: true 0x0.5-0x0.5 (0.1)
@ -203,7 +203,7 @@ $ fq -d mp4 dv /heic.mp4
| | | [0]{}: nal 0x110-0x139.7 (42)
0x110|00 28 |.( | nal_unit_length: 40 0x110-0x111.7 (2)
| | | nal{}: (hevc_nalu) 0x112-0x139.7 (40)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sps{}: (hevc_sps) 0x0-0x20.7 (33)
| | | sps{}: (hevc_sps) 0x0-0x20.7 (33)
0x00|01 |. | sps_video_parameter_set_id: 0 0x0-0x0.3 (0.4)
0x00|01 |. | sps_max_sub_layers_minus1: 0 0x0.4-0x0.6 (0.3)
0x00|01 |. | sps_temporal_id_nesting_flag: true 0x0.7-0x0.7 (0.1)
@ -319,7 +319,7 @@ $ fq -d mp4 dv /heic.mp4
| | | [0]{}: nal 0x13d-0x144.7 (8)
0x130| 00 06 | .. | nal_unit_length: 6 0x13d-0x13e.7 (2)
| | | nal{}: (hevc_nalu) 0x13f-0x144.7 (6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| pps{}: (hevc_pps) 0x0-0x3.7 (4)
| | | pps{}: (hevc_pps) 0x0-0x3.7 (4)
0x00|c1 |. | pps_pic_parameter_set_id: 0 0x0-0x0 (0.1)
0x00|c1 |. | pps_seq_parameter_set_id: 0 0x0.1-0x0.1 (0.1)
0x00|c1 |. | dependent_slice_segments_enabled_flag: false 0x0.2-0x0.2 (0.1)

View File

@ -257,7 +257,7 @@ $ fq -d mp4 dv /hevc.mp4
| | | [0]{}: nal 0xaa2-0xaba.7 (25)
0x0aa0| 00 17 | .. | nal_unit_length: 23 0xaa2-0xaa3.7 (2)
| | | nal{}: (hevc_nalu) 0xaa4-0xaba.7 (23)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| vps{}: (hevc_vps) 0x0-0x12.7 (19)
| | | vps{}: (hevc_vps) 0x0-0x12.7 (19)
0x000|0c |. | vps_video_parameter_set_id: 0 0x0-0x0.3 (0.4)
0x000|0c |. | vps_base_layer_internal_flag: true 0x0.4-0x0.4 (0.1)
0x000|0c |. | vps_base_layer_available_flag: true 0x0.5-0x0.5 (0.1)
@ -347,7 +347,7 @@ $ fq -d mp4 dv /hevc.mp4
| | | [0]{}: nal 0xabe-0xaea.7 (45)
0x0ab0| 00 2b| .+| nal_unit_length: 43 0xabe-0xabf.7 (2)
| | | nal{}: (hevc_nalu) 0xac0-0xaea.7 (43)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sps{}: (hevc_sps) 0x0-0x25.7 (38)
| | | sps{}: (hevc_sps) 0x0-0x25.7 (38)
0x000|01 |. | sps_video_parameter_set_id: 0 0x0-0x0.3 (0.4)
0x000|01 |. | sps_max_sub_layers_minus1: 0 0x0.4-0x0.6 (0.3)
0x000|01 |. | sps_temporal_id_nesting_flag: true 0x0.7-0x0.7 (0.1)
@ -476,7 +476,7 @@ $ fq -d mp4 dv /hevc.mp4
| | | [0]{}: nal 0xaee-0xaf7.7 (10)
0x0ae0| 00 08| ..| nal_unit_length: 8 0xaee-0xaef.7 (2)
| | | nal{}: (hevc_nalu) 0xaf0-0xaf7.7 (8)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| pps{}: (hevc_pps) 0x0-0x5.7 (6)
| | | pps{}: (hevc_pps) 0x0-0x5.7 (6)
0x000|c1 |. | pps_pic_parameter_set_id: 0 0x0-0x0 (0.1)
0x000|c1 |. | pps_seq_parameter_set_id: 0 0x0.1-0x0.1 (0.1)
0x000|c1 |. | dependent_slice_segments_enabled_flag: false 0x0.2-0x0.2 (0.1)

View File

@ -1,5 +1,5 @@
$ fq -d mp4 'mp4_path(".moov.trak[1]")' /fragmented.mp4
| | |.boxes[1].boxes[2]{}: box
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.boxes[1].boxes[2]{}: box
0x280| 00 00 01 bf | .... | size: 447
0x280| 74 72 61 6b | trak | type: "trak" (Container for an individual track or stream)
0x280| 00 00 00 5c| ...\| boxes[0:2]:

View File

@ -2,7 +2,7 @@
# fq -d raw 'tobytes[0:100]' size64.mp4 > size64
# TODO: test that don't uses decode failure?
$ fq -d mp4 '.boxes[] | d' /size64
| | |.boxes[0]{}: box
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.boxes[0]{}: box
0x00|00 00 00 1c |.... | size: 28
0x00| 66 74 79 70 | ftyp | type: "ftyp" (File type and compatibility)
0x00| 69 73 6f 6d | isom | major_brand: "isom"
@ -11,7 +11,7 @@ $ fq -d mp4 '.boxes[] | d' /size64
0x10|69 73 6f 6d |isom | [0]: "isom" (All files based on the ISO Base Media File Format)
0x10| 69 73 6f 32 | iso2 | [1]: "iso2" (All files based on the 2004 edition of the ISO file format)
0x10| 6d 70 34 31 | mp41 | [2]: "mp41" (MP4 version 1)
| | |.boxes[1]{}: box
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.boxes[1]{}: box
0x10| 00 00 00 01| ....| size: 1 (Use 64 bit size)
0x20|6d 64 61 74 |mdat | type: "mdat" (Media data container)
0x20| 00 00 00 01 ad 85 9d aa | ........ | size64: 7206182314

View File

@ -3,7 +3,7 @@ $ fq -d avc_annexb dv /avc_annexb
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.[0:8]: /avc_annexb (avc_annexb) 0x0-0xae4.7 (2789)
0x0000|00 00 00 01 |.... | [0]: raw bits start_code 0x0-0x3.7 (4)
| | | [1]{}: nalu (avc_nalu) 0x4-0x1c.7 (25)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sps{}: (avc_sps) 0x0-0x15.7 (22)
| | | sps{}: (avc_sps) 0x0-0x15.7 (22)
0x000|f4 |. | profile_idc: "high_444_predictive_profile" (244) 0x0-0x0.7 (1)
0x000| 00 | . | constraint_set0_flag: false 0x1-0x1 (0.1)
0x000| 00 | . | constraint_set1_flag: false 0x1.1-0x1.1 (0.1)
@ -62,7 +62,7 @@ $ fq -d avc_annexb dv /avc_annexb
0x0010| 00 00 00| ...| [2]: raw bits start_code 0x1d-0x20.7 (4)
0x0020|01 |. |
| | | [3]{}: nalu (avc_nalu) 0x21-0x26.7 (6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| pps{}: (avc_pps) 0x0-0x4.7 (5)
| | | pps{}: (avc_pps) 0x0-0x4.7 (5)
0x000|eb |. | pic_parameter_set_id: 0 0x0-0x0 (0.1)
0x000|eb |. | seq_parameter_set_id: 0 0x0.1-0x0.1 (0.1)
0x000|eb |. | entropy_coding_mode_flag: true 0x0.2-0x0.2 (0.1)
@ -88,7 +88,7 @@ $ fq -d avc_annexb dv /avc_annexb
0x0020| eb e3 c4 48 44 | ...HD | data: raw bits 0x22-0x26.7 (5)
0x0020| 00 00 01 | ... | [4]: raw bits start_code 0x27-0x29.7 (3)
| | | [5]{}: nalu (avc_nalu) 0x2a-0x2d6.7 (685)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sei{}: (avc_sei) 0x0-0x2ab.7 (684)
| | | sei{}: (avc_sei) 0x0-0x2ab.7 (684)
0x000|05 |. | payload_type: "user_data_unregistered" (5) 0x0-0x0.7 (1)
0x000| ff ff a9 | ... | payload_size: 679 0x1-0x3.7 (3)
0x000| dc 45 e9 bd e6 d9 48 b7 96 2c d8 20| .E....H..,. | uuid: "x264" (raw bits) 0x4-0x13.7 (16)

View File

@ -3,7 +3,7 @@ $ fq -d hevc_annexb dv /hevc_annexb
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.[0:10]: /hevc_annexb (hevc_annexb) 0x0-0x1193.7 (4500)
0x0000|00 00 00 01 |.... | [0]: raw bits start_code 0x0-0x3.7 (4)
| | | [1]{}: nalu (hevc_nalu) 0x4-0x1a.7 (23)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| vps{}: (hevc_vps) 0x0-0x12.7 (19)
| | | vps{}: (hevc_vps) 0x0-0x12.7 (19)
0x000|0c |. | vps_video_parameter_set_id: 0 0x0-0x0.3 (0.4)
0x000|0c |. | vps_base_layer_internal_flag: true 0x0.4-0x0.4 (0.1)
0x000|0c |. | vps_base_layer_available_flag: true 0x0.5-0x0.5 (0.1)
@ -86,7 +86,7 @@ $ fq -d hevc_annexb dv /hevc_annexb
0x0010|9e 08 00 00 03 00 00 3c 95 98 09 |.......<... |
0x0010| 00 00 00 01 | .... | [2]: raw bits start_code 0x1b-0x1e.7 (4)
| | | [3]{}: nalu (hevc_nalu) 0x1f-0x49.7 (43)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| sps{}: (hevc_sps) 0x0-0x25.7 (38)
| | | sps{}: (hevc_sps) 0x0-0x25.7 (38)
0x000|01 |. | sps_video_parameter_set_id: 0 0x0-0x0.3 (0.4)
0x000|01 |. | sps_max_sub_layers_minus1: 0 0x0.4-0x0.6 (0.3)
0x000|01 |. | sps_temporal_id_nesting_flag: true 0x0.7-0x0.7 (0.1)
@ -209,7 +209,7 @@ $ fq -d hevc_annexb dv /hevc_annexb
0x0040|40 00 00 03 00 40 00 00 06 42 |@....@...B |
0x0040| 00 00 00 01 | .... | [4]: raw bits start_code 0x4a-0x4d.7 (4)
| | | [5]{}: nalu (hevc_nalu) 0x4e-0x55.7 (8)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| pps{}: (hevc_pps) 0x0-0x5.7 (6)
| | | pps{}: (hevc_pps) 0x0-0x5.7 (6)
0x000|c1 |. | pps_pic_parameter_set_id: 0 0x0-0x0 (0.1)
0x000|c1 |. | pps_seq_parameter_set_id: 0 0x0.1-0x0.1 (0.1)
0x000|c1 |. | dependent_slice_segments_enabled_flag: false 0x0.2-0x0.2 (0.1)

View File

@ -73,7 +73,7 @@ $ fq -d ogg dv /flac.ogg
| | | [0]{}: stream 0x4f-NA (0)
| | | serial_number: 599479009 0x4f-NA (0)
| | | packets[0:3]: 0x4f-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: packet 0x0-0x32.7 (51)
| | | [0]{}: packet 0x0-0x32.7 (51)
0x000|7f |. | type: 127 0x0-0x0.7 (1)
0x000| 46 4c 41 43 | FLAC | signature: "FLAC" 0x1-0x4.7 (4)
0x000| 01 | . | major: 1 0x5-0x5.7 (1)
@ -96,7 +96,7 @@ $ fq -d ogg dv /flac.ogg
0x020|00 00 00 |... |
0x020| 00 00 00 00 00 00 00 00 00 00 00 00 00| .............| md5: "00000000000000000000000000000000" (raw bits) 0x23-0x32.7 (16)
0x030|00 00 00| |...| |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: packet (flac_metadatablock) 0x0-0x37.7 (56)
| | | [1]{}: packet (flac_metadatablock) 0x0-0x37.7 (56)
0x000|84 |. | last_block: true 0x0-0x0 (0.1)
0x000|84 |. | type: "vorbis_comment" (4) 0x0.1-0x0.7 (0.7)
0x000| 00 00 34 | ..4 | length: 52 0x1-0x3.7 (3)
@ -111,7 +111,7 @@ $ fq -d ogg dv /flac.ogg
0x010| 65 6e 63| enc| comment: "encoder=Lavc58.134.100 flac" 0x1d-0x37.7 (27)
0x020|6f 64 65 72 3d 4c 61 76 63 35 38 2e 31 33 34 2e|oder=Lavc58.134.|
0x030|31 30 30 20 66 6c 61 63| |100 flac| |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: packet (flac_frame) 0x0-0x259.7 (602)
| | | [2]{}: packet (flac_frame) 0x0-0x259.7 (602)
| | | header{}: 0x0-0x7.7 (8)
0x000|ff f8 |.. | sync: 0b11111111111110 (valid) 0x0-0x1.5 (1.6)
0x000| f8 | . | reserved0: 0 (valid) 0x1.6-0x1.6 (0.1)

View File

@ -78,7 +78,7 @@ $ fq -d ogg dv /opus.ogg
| | | [0]{}: stream 0x2f-NA (0)
| | | serial_number: 1949835335 0x2f-NA (0)
| | | packets[0:5]: 0x2f-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: packet (opus_packet) 0x0-0x12.7 (19)
| | | [0]{}: packet (opus_packet) 0x0-0x12.7 (19)
| | | type: "head" 0x0-NA (0)
0x000|4f 70 75 73 48 65 61 64 |OpusHead | prefix: "OpusHead" 0x0-0x7.7 (8)
0x000| 01 | . | version: 1 0x8-0x8.7 (1)
@ -87,7 +87,7 @@ $ fq -d ogg dv /opus.ogg
0x000| 80 bb 00 00| ....| sample_rate: 48000 0xc-0xf.7 (4)
0x010|00 00 |.. | output_gain: 0 0x10-0x11.7 (2)
0x010| 00| | .| | map_family: 0 0x12-0x12.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: packet (opus_packet) 0x0-0x3e.7 (63)
| | | [1]{}: packet (opus_packet) 0x0-0x3e.7 (63)
| | | type: "tags" 0x0-NA (0)
0x000|4f 70 75 73 54 61 67 73 |OpusTags | prefix: "OpusTags" 0x0-0x7.7 (8)
| | | comment{}: (vorbis_comment) 0x8-0x3e.7 (55)
@ -101,7 +101,7 @@ $ fq -d ogg dv /opus.ogg
0x020|00 |. |
0x020| 65 6e 63 6f 64 65 72 3d 4c 61 76 63 35 38 2e| encoder=Lavc58.| comment: "encoder=Lavc58.134.100 libopus" 0x21-0x3e.7 (30)
0x030|31 33 34 2e 31 30 30 20 6c 69 62 6f 70 75 73| |134.100 libopus||
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: packet (opus_packet) 0x0-0x12b.7 (300)
| | | [2]{}: packet (opus_packet) 0x0-0x12b.7 (300)
| | | type: "audio" 0x0-NA (0)
| | | toc{}: 0x0-0x12b.7 (300)
| | | config{}: 0x0-0x0.4 (0.5)
@ -117,7 +117,7 @@ $ fq -d ogg dv /opus.ogg
0x000| b4 af ca aa e5 b5 b0 a6 1c b1 7a e9 fe 3a d0| ..........z..:.| data: raw bits 0x1-0x12b.7 (299)
0x010|06 85 51 4c e9 29 01 cf 97 74 f4 80 4d 5b 0b 4a|..QL.)...t..M[.J|
* |until 0x12b.7 (end) (299) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [3]{}: packet (opus_packet) 0x0-0x9f.7 (160)
| | | [3]{}: packet (opus_packet) 0x0-0x9f.7 (160)
| | | type: "audio" 0x0-NA (0)
| | | toc{}: 0x0-0x9f.7 (160)
| | | config{}: 0x0-0x0.4 (0.5)
@ -133,7 +133,7 @@ $ fq -d ogg dv /opus.ogg
0x000| b1 72 9a 6a 33 7d 6f 9d d8 6d d7 fb c5 f3 d9| .r.j3}o..m.....| data: raw bits 0x1-0x9f.7 (159)
0x010|31 eb 29 39 95 09 9a de b2 79 ef 2b 26 f1 ed fa|1.)9.....y.+&...|
* |until 0x9f.7 (end) (159) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [4]{}: packet (opus_packet) 0x0-0x13a.7 (315)
| | | [4]{}: packet (opus_packet) 0x0-0x13a.7 (315)
| | | type: "audio" 0x0-NA (0)
| | | toc{}: 0x0-0x13a.7 (315)
| | | config{}: 0x0-0x0.4 (0.5)

View File

@ -126,7 +126,7 @@ $ fq -d ogg dv /vorbis.ogg
| | | [0]{}: stream 0x3a-NA (0)
| | | serial_number: 3971626214 0x3a-NA (0)
| | | packets[0:7]: 0x3a-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: packet (vorbis_packet) 0x0-0x1d.7 (30)
| | | [0]{}: packet (vorbis_packet) 0x0-0x1d.7 (30)
0x000|01 |. | packet_type: "Identification" (1) 0x0-0x0.7 (1)
0x000| 76 6f 72 62 69 73 | vorbis | magic: "vorbis" (valid) 0x1-0x6.7 (6)
0x000| 00 00 00 00 | .... | vorbis_version: 0 (valid) 0x7-0xa.7 (4)
@ -139,7 +139,7 @@ $ fq -d ogg dv /vorbis.ogg
0x010| b8 | . | blocksize_0: 256 0x1c.4-0x1c.7 (0.4)
0x010| 01| | .| | padding0: raw bits (all zero) 0x1d-0x1d.6 (0.7)
0x010| 01| | .| | framing_flag: 1 (valid) 0x1d.7-0x1d.7 (0.1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: packet (vorbis_packet) 0x0-0x40.7 (65)
| | | [1]{}: packet (vorbis_packet) 0x0-0x40.7 (65)
0x000|03 |. | packet_type: "Comment" (3) 0x0-0x0.7 (1)
0x000| 76 6f 72 62 69 73 | vorbis | magic: "vorbis" (valid) 0x1-0x6.7 (6)
| | | comment{}: (vorbis_comment) 0x7-0x3f.7 (57)
@ -154,7 +154,7 @@ $ fq -d ogg dv /vorbis.ogg
0x030|33 34 2e 31 30 30 20 6c 69 62 76 6f 72 62 69 73|34.100 libvorbis|
0x040|01| |.| | padding0: raw bits (all zero) 0x40-0x40.6 (0.7)
0x040|01| |.| | frame_bit: 1 (valid) 0x40.7-0x40.7 (0.1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: packet (vorbis_packet) 0x0-0xc74.7 (3189)
| | | [2]{}: packet (vorbis_packet) 0x0-0xc74.7 (3189)
0x000|05 |. | packet_type: "Setup" (5) 0x0-0x0.7 (1)
0x000| 76 6f 72 62 69 73 | vorbis | magic: "vorbis" (valid) 0x1-0x6.7 (6)
0x000| 22 | " | vorbis_codebook_count: 35 0x7-0x7.7 (1)
@ -163,21 +163,21 @@ $ fq -d ogg dv /vorbis.ogg
0x000| 40 00 00| @..| codebook_entries: 64 0xd-0xf.7 (3)
0x010|24 73 18 2a 46 a5 73 16 84 10 1a 42 50 19 e3 1c|$s.*F.s....BP...| unknown0: raw bits 0x10-0xc74.7 (3173)
* |until 0xc74.7 (end) (3173) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [3]{}: packet (vorbis_packet) 0x0-0x1e.7 (31)
| | | [3]{}: packet (vorbis_packet) 0x0-0x1e.7 (31)
0x000|5c |\ | packet_type: "Audio" (0) 0x0-0x0.7 (1)
0x000| dd ab 3a ab ba b0 ff 5a 02 04 10 00 c0 8c da| ..:....Z.......| unknown0: raw bits 0x1-0x1e.7 (30)
0x010|2d b6 37 df 7c f3 cd 30 0c c3 30 0c c3 7a 00| |-.7.|..0..0..z.||
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [4]{}: packet (vorbis_packet) 0x0-0x3b.7 (60)
| | | [4]{}: packet (vorbis_packet) 0x0-0x3b.7 (60)
0x000|9a |. | packet_type: "Audio" (0) 0x0-0x0.7 (1)
0x000| d8 3d 07 6f d2 9e 5b 5c 05 66 22 40 2a 00 00| .=.o..[\.f"@*..| unknown0: raw bits 0x1-0x3b.7 (59)
0x010|00 00 00 00 00 00 00 00 00 fa fd 60 9f ce 01 d1|...........`....|
* |until 0x3b.7 (end) (59) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [5]{}: packet (vorbis_packet) 0x0-0x33.7 (52)
| | | [5]{}: packet (vorbis_packet) 0x0-0x33.7 (52)
0x000|be |. | packet_type: "Audio" (0) 0x0-0x0.7 (1)
0x000| d8 dd e6 ae 92 f7 23 3e 6f cc 0d 80 7a 00 00| ......#>o...z..| unknown0: raw bits 0x1-0x33.7 (51)
0x010|00 00 01 06 00 00 00 00 00 00 e0 b9 05 42 5c 27|.............B\'|
* |until 0x33.7 (end) (51) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [6]{}: packet (vorbis_packet) 0x0-0x7f.7 (128)
| | | [6]{}: packet (vorbis_packet) 0x0-0x7f.7 (128)
0x000|3e |> | packet_type: "Audio" (0) 0x0-0x0.7 (1)
0x000| 37 dd 37 fe ee 85 47 7c 3c 61 02 9b 31 06 f6| 7.7...G|<a..1..| unknown0: raw bits 0x1-0x7f.7 (127)
0x010|bb ef 9f 04 62 46 41 04 c0 c0 00 00 f0 3d f4 1d|....bFA......=..|

View File

@ -1,7 +1,7 @@
# from https://wiki.wireshark.org/Development/PcapNg
# TODO: move once we can have decode value tests somehow
$ fq '.[0].blocks[0]' /dhcp_little_endian.pcapng
| | |.[0].blocks[0]{}: block
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.[0].blocks[0]{}: block
0x00|0a 0d 0d 0a |.... | type: "section_header" (0xa0d0d0a) (Section Header Block)
0x00| 1c 00 00 00 | .... | length: 28
0x00| 4d 3c 2b 1a | M<+. | byte_order_magic: "little_endian" (0x4d3c2b1a)

View File

@ -615,7 +615,6 @@ $ fq -d pcap dv /http_gzip.cap
| | | has_start: true 0x6ab-NA (0)
| | | has_end: true 0x6ab-NA (0)
| | | skipped_bytes: 0 0x6ab-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|47 45 54 20 2f 74 65 73 74 2f 65 74 68 65 72 65|GET /test/ethere| stream: raw bits 0x0-0x1bc.7 (445)
* |until 0x1bc.7 (end) (445) | |
| | | server{}: 0x6ab-NA (0)
@ -624,6 +623,5 @@ $ fq -d pcap dv /http_gzip.cap
| | | has_start: true 0x6ab-NA (0)
| | | has_end: true 0x6ab-NA (0)
| | | skipped_bytes: 0 0x6ab-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d|HTTP/1.1 200 OK.| stream: raw bits 0x0-0x191.7 (402)
* |until 0x191.7 (end) (402) | |

View File

@ -101,7 +101,7 @@ $ fq -d pcap dv /ipv4frags.pcap
0x0640|08 00 00 00 00 00 10 11 12 13 14 15 16 17 18 19|................|
* |until 0xbad.7 (end) (1404) | |
| | | ipv4_reassembled[0:1]: 0xbae-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: ipv4_packet (ipv4_packet) 0x0-0x593.7 (1428)
| | | [0]{}: ipv4_packet (ipv4_packet) 0x0-0x593.7 (1428)
0x000|45 |E | version: 4 0x0-0x0.3 (0.4)
0x000|45 |E | ihl: 5 0x0.4-0x0.7 (0.4)
0x000| 00 | . | dscp: 0 0x1-0x1.5 (0.6)

View File

@ -3489,7 +3489,6 @@ $ fq -d pcap dv ipv6_http.pcap
| | | has_start: true 0x23c7-NA (0)
| | | has_end: true 0x23c7-NA (0)
| | | skipped_bytes: 0 0x23c7-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|47 45 54 20 2f 20 48 54 54 50 2f 31 2e 30 0d 0a|GET / HTTP/1.0..| stream: raw bits 0x0-0xef.7 (240)
* |until 0xef.7 (end) (240) | |
| | | server{}: 0x23c7-NA (0)
@ -3498,6 +3497,5 @@ $ fq -d pcap dv ipv6_http.pcap
| | | has_start: true 0x23c7-NA (0)
| | | has_end: true 0x23c7-NA (0)
| | | skipped_bytes: 0 0x23c7-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d|HTTP/1.1 200 OK.| stream: raw bits 0x0-0x8d2.7 (2259)
* |until 0x8d2.7 (end) (2259) | |

View File

@ -5493,7 +5493,6 @@ $ fq -d pcapng dv /many_interfaces.pcapng
| | | has_start: true 0x51b8-NA (0)
| | | has_end: false 0x51b8-NA (0)
| | | skipped_bytes: 0 0x51b8-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|16 03 01 02 00 01 00 01 fc 03 03 f0 91 bc 87 3e|...............>| stream: raw bits 0x0-0x7b0.7 (1969)
* |until 0x7b0.7 (end) (1969) | |
| | | server{}: 0x51b8-NA (0)
@ -5502,7 +5501,6 @@ $ fq -d pcapng dv /many_interfaces.pcapng
| | | has_start: true 0x51b8-NA (0)
| | | has_end: false 0x51b8-NA (0)
| | | skipped_bytes: 0 0x51b8-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|16 03 03 00 5a 02 00 00 56 03 03 55 d0 e5 ff ab|....Z...V..U....| stream: raw bits 0x0-0x35b.7 (860)
* |until 0x35b.7 (end) (860) | |
| | | [1]{}: tcp_connection 0x51b8-NA (0)
@ -5512,7 +5510,6 @@ $ fq -d pcapng dv /many_interfaces.pcapng
| | | has_start: true 0x51b8-NA (0)
| | | has_end: false 0x51b8-NA (0)
| | | skipped_bytes: 0 0x51b8-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|16 03 01 00 d3 01 00 00 cf 03 03 c0 a6 33 83 e1|.............3..| stream: raw bits 0x0-0xd7.7 (216)
* |until 0xd7.7 (end) (216) | |
| | | server{}: 0x51b8-NA (0)
@ -5521,5 +5518,4 @@ $ fq -d pcapng dv /many_interfaces.pcapng
| | | has_start: true 0x51b8-NA (0)
| | | has_end: false 0x51b8-NA (0)
| | | skipped_bytes: 0 0x51b8-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
| | | stream: raw bits 0x0-NA (0)

View File

@ -341,7 +341,6 @@ $ fq -d pcap dv /sll2_tcp.pcap
| | | has_start: true 0x1e5-NA (0)
| | | has_end: false 0x1e5-NA (0)
| | | skipped_bytes: 0 0x1e5-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|74 65 73 74 0a| |test.| | stream: raw bits 0x0-0x4.7 (5)
| | | server{}: 0x1e5-NA (0)
| | | ip: "127.0.0.1" 0x1e5-NA (0)
@ -349,5 +348,4 @@ $ fq -d pcap dv /sll2_tcp.pcap
| | | has_start: true 0x1e5-NA (0)
| | | has_end: false 0x1e5-NA (0)
| | | skipped_bytes: 0 0x1e5-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
| | | stream: raw bits 0x0-NA (0)

View File

@ -118,7 +118,7 @@ $ fq -d png dv /4x4.png
0x100| 00 | . | compression_method: "deflate" (0) 0x108-0x108.7 (1)
0x100| 08 99 4b 2c 49 ad 28| ..K,I.(| compressed: raw bits 0x109-0x115.7 (13)
0x110|01 00 06 4d 02 27 |...M.' |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| uncompressed{}: () 0x0-0x4.7 (5)
| | | uncompressed{}: () 0x0-0x4.7 (5)
0x00|61 74 65 78 74| |atext| | text: "atext" 0x0-0x4.7 (5)
0x110| 4c f5 a2 bc | L... | crc: 0x4cf5a2bc (valid) 0x116-0x119.7 (4)
| | | [9]{}: chunk 0x11a-0x125.7 (12)

View File

@ -16,7 +16,7 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
0x0610|4e 89 6c c5 26 a9 8e da 73 f6 77 3b cd 1a 2d 25|N.l.&...s.w;..-%|
* |until 0xc00.7 (1528) | |
| | | messages[0:98]: 0xc01-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: message 0x0-0x200.7 (513)
| | | [0]{}: message 0x0-0x200.7 (513)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
@ -161,16 +161,16 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | value: "" 0x200-NA (0)
| | | value{}: 0x200-0x200.7 (1)
0x200|09| |.| | type: "object_end" (9) 0x200-0x200.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: message 0x0-0x3.7 (4)
| | | [1]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "window_acknowledgement_size" (5) 0x0-NA (0)
0x000|00 13 12 d0| |....| | window_size: 1250000 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: message 0x0-0x5.7 (6)
| | | [2]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x000|00 07 |.. | type: "ping_response" (7) 0x0-0x1.7 (2)
0x000| 17 ab da a3| | ....| | timestamp: 397138595 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [3]{}: message 0x0-0x18.7 (25)
| | | [3]{}: message 0x0-0x18.7 (25)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
@ -184,13 +184,13 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
0x010| 05| | .| | type: "null" (5) 0x18-0x18.7 (1)
| | | value: null 0x19-NA (0)
| | | arguments[0:0]: 0x19-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [4]{}: message 0x0-0x9.7 (10)
| | | [4]{}: message 0x0-0x9.7 (10)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x000|00 03 |.. | type: "set_buffer_length" (3) 0x0-0x1.7 (2)
0x000| 00 00 00 00 | .... | stream_id: 0 0x2-0x5.7 (4)
0x000| 00 00 13 88| | ....| | length: 5000 0x6-0x9.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [5]{}: message 0x0-0x47.7 (72)
| | | [5]{}: message 0x0-0x47.7 (72)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x8.7 (9)
@ -232,7 +232,7 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | value: "" 0x47-NA (0)
| | | value{}: 0x47-0x47.7 (1)
0x040| 09| | .| | type: "object_end" (9) 0x47-0x47.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [6]{}: message 0x0-0x47.7 (72)
| | | [6]{}: message 0x0-0x47.7 (72)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x8.7 (9)
@ -274,7 +274,7 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | value: "" 0x47-NA (0)
| | | value{}: 0x47-0x47.7 (1)
0x040| 09| | .| | type: "object_end" (9) 0x47-0x47.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [7]{}: message 0x0-0x1a.7 (27)
| | | [7]{}: message 0x0-0x1a.7 (27)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
@ -291,7 +291,7 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | [0]{}: argument (amf0) 0x19-0x1a.7 (2)
0x010| 01 | . | type: "boolean" (1) 0x19-0x19.7 (1)
0x010| 01| | .| | value: 1 0x1a-0x1a.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [8]{}: message 0x0-0x36.7 (55)
| | | [8]{}: message 0x0-0x36.7 (55)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x6.7 (7)
@ -311,7 +311,7 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
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| |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [9]{}: message 0x0-0x1c.7 (29)
| | | [9]{}: 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-0x7.7 (8)
@ -332,7 +332,7 @@ $ fq -d rtmp 'dv({array_truncate: 10})' client_stream
| | | [1]{}: argument (amf0) 0x14-0x1c.7 (9)
0x010| 00 | . | type: "number" (0) 0x14-0x14.7 (1)
0x010| 00 00 00 00 00 00 00 00| | ........| | value: 0 0x15-0x1c.7 (8)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [10:98]: ...
| | | [10:98]: ...
| | | chunks[0:102]: 0xc01-0x1276.7 (1654)
| | | [0]{}: chunk 0xc01-0xc8c.7 (140)
0x0c00| 03 | . | fmt: 0 0xc01-0xc01.1 (0.2)

View File

@ -16,7 +16,7 @@ $ fq -d rtmp dv ffmpeg_client_stream
0x610|11 65 b1 a2 55 28 d5 69 f0 4f 76 41 25 75 5d 6a|.e..U(.i.OvA%u]j|
* |until 0xc00.7 (1528) | |
| | | messages[0:8]: 0xc01-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: message 0x0-0xd1.7 (210)
| | | [0]{}: message 0x0-0xd1.7 (210)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
@ -108,11 +108,11 @@ $ fq -d rtmp dv ffmpeg_client_stream
| | | value{}: 0xd1-0xd1.7 (1)
0xd0| 09| | .| | type: "object_end" (9) 0xd1-0xd1.7 (1)
| | | arguments[0:0]: 0xd2-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: message 0x0-0x3.7 (4)
| | | [1]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "window_acknowledgement_size" (5) 0x0-NA (0)
0x00|00 26 25 a0| |.&%.| | window_size: 2500000 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: message 0x0-0x18.7 (25)
| | | [2]{}: message 0x0-0x18.7 (25)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
@ -126,7 +126,7 @@ $ fq -d rtmp dv ffmpeg_client_stream
0x10| 05| | .| | type: "null" (5) 0x18-0x18.7 (1)
| | | value: null 0x19-NA (0)
| | | arguments[0:0]: 0x19-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [3]{}: message 0x0-0x14.7 (21)
| | | [3]{}: message 0x0-0x14.7 (21)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
@ -141,7 +141,7 @@ $ fq -d rtmp dv ffmpeg_client_stream
0x10| 05| | .| | type: "null" (5) 0x14-0x14.7 (1)
| | | value: null 0x15-NA (0)
| | | arguments[0:0]: 0x15-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [4]{}: message 0x0-0x1e.7 (31)
| | | [4]{}: message 0x0-0x1e.7 (31)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x11.7 (18)
@ -160,7 +160,7 @@ $ fq -d rtmp dv ffmpeg_client_stream
0x10| 02 | . | type: "string" (2) 0x1c-0x1c.7 (1)
0x10| 00 00| | ..|| length: 0 0x1d-0x1e.7 (2)
| | | value: "" 0x1f-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [5]{}: message 0x0-0x1c.7 (29)
| | | [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)
@ -181,13 +181,13 @@ $ fq -d rtmp dv ffmpeg_client_stream
| | | [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)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [6]{}: message 0x0-0x9.7 (10)
| | | [6]{}: message 0x0-0x9.7 (10)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 03 |.. | type: "set_buffer_length" (3) 0x0-0x1.7 (2)
0x00| 00 00 00 01 | .... | stream_id: 1 0x2-0x5.7 (4)
0x00| 00 00 0b b8| | ....| | length: 3000 0x6-0x9.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [7]{}: message 0x0-0x21.7 (34)
| | | [7]{}: message 0x0-0x21.7 (34)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)

View File

@ -16,25 +16,25 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x00610|1e 36 2f 07 c5 86 8a 70 b2 66 d4 02 20 e5 08 61|.6/....p.f.. ..a|
* |until 0xc00.7 (1528) | |
| | | messages[0:421]: 0xc01-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: message 0x0-0x3.7 (4)
| | | [0]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "window_acknowledgement_size" (5) 0x0-NA (0)
0x0000|00 26 25 a0| |.&%.| | window_size: 2500000 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: message 0x0-0x4.7 (5)
| | | [1]{}: message 0x0-0x4.7 (5)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "set_peer_bandwidth" (6) 0x0-NA (0)
0x0000|00 26 25 a0 |.&%. | chunk_size: 2500000 0x0-0x3.7 (4)
0x0000| 02| | .| | limit_type: "dynamic" (2) 0x4-0x4.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: message 0x0-0x5.7 (6)
| | | [2]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x0000|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x0000| 00 00 00 00| | ....| | stream_id: 0 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [3]{}: message 0x0-0x3.7 (4)
| | | [3]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "set_chunk_size" (1) 0x0-NA (0)
0x0000|00 00 00 80| |....| | size: 128 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [4]{}: message 0x0-0xbd.7 (190)
| | | [4]{}: message 0x0-0xbd.7 (190)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
@ -119,7 +119,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | value: "" 0xbd-NA (0)
| | | value{}: 0xbd-0xbd.7 (1)
0x00b0| 09| | .| | type: "object_end" (9) 0xbd-0xbd.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [5]{}: message 0x0-0x1d.7 (30)
| | | [5]{}: message 0x0-0x1d.7 (30)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
@ -137,7 +137,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | [0]{}: argument (amf0) 0x15-0x1d.7 (9)
0x0010| 00 | . | type: "number" (0) 0x15-0x15.7 (1)
0x0010| 40 c0 00 00 00 00 00 00| | @.......| | value: 8192 0x16-0x1d.7 (8)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [6]{}: message 0x0-0x1c.7 (29)
| | | [6]{}: message 0x0-0x1c.7 (29)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
@ -155,7 +155,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | [0]{}: argument (amf0) 0x14-0x1c.7 (9)
0x0010| 00 | . | type: "number" (0) 0x14-0x14.7 (1)
0x0010| 3f f0 00 00 00 00 00 00| | ?.......| | value: 1 0x15-0x1c.7 (8)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [7]{}: message 0x0-0x13.7 (20)
| | | [7]{}: message 0x0-0x13.7 (20)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
@ -170,12 +170,12 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0010| 05| | .| | type: "null" (5) 0x13-0x13.7 (1)
| | | value: null 0x14-NA (0)
| | | arguments[0:0]: 0x14-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [8]{}: message 0x0-0x5.7 (6)
| | | [8]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x0000|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x0000| 00 00 00 01| | ....| | stream_id: 1 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [9]{}: message 0x0-0x7a.7 (123)
| | | [9]{}: message 0x0-0x7a.7 (123)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
@ -235,7 +235,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | value: "" 0x7a-NA (0)
| | | value{}: 0x7a-0x7a.7 (1)
0x0070| 09| | .| | type: "object_end" (9) 0x7a-0x7a.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [10]{}: message 0x0-0xea.7 (235)
| | | [10]{}: message 0x0-0xea.7 (235)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "data_message" (18) 0x0-NA (0)
| | | messages[0:3]: 0x0-0xea.7 (235)
@ -334,7 +334,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
| | | value: "" 0xea-NA (0)
| | | value{}: 0xea-0xea.7 (1)
0x00e0| 09| | .| | type: "object_end" (9) 0xea-0xea.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [11]{}: message 0x0-0x6.7 (7)
| | | [11]{}: message 0x0-0x6.7 (7)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x0000|af |. | codec: "aac" (10) 0x0-0x0.3 (0.4)
@ -347,7 +347,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0000| 12 10 | .. | sampling_frequency: 44100 (4) 0x2.5-0x3 (0.4)
0x0000| 10 | . | channel_configuration: 2 (front-left, front-right) 0x3.1-0x3.4 (0.4)
0x0000| 10 56 e5 00| | .V..| | var_aot_or_byte_align: raw bits 0x3.5-0x6.7 (3.3)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [12]{}: message 0x0-0x14f.7 (336)
| | | [12]{}: message 0x0-0x14f.7 (336)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x0000|af |. | codec: "aac" (10) 0x0-0x0.3 (0.4)
@ -358,7 +358,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0000| de 04 00 4c 61 76 63 35 38 2e 31 33 34 2e| ...Lavc58.134.| data: raw bits 0x2-0x14f.7 (334)
0x0010|31 30 30 00 42 55 9f ff ff ff e0 01 29 68 a6 43|100.BU......)h.C|
* |until 0x14f.7 (end) (334) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [13]{}: message 0x0-0x13a.7 (315)
| | | [13]{}: message 0x0-0x13a.7 (315)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x0000|af |. | codec: "aac" (10) 0x0-0x0.3 (0.4)
@ -369,7 +369,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0000| 21 4c 6c ff 87 fc 7f c7 fc 3f db 6b b2 d5| !Ll......?.k..| data: raw bits 0x2-0x13a.7 (313)
0x0010|56 42 80 da 88 88 50 2b c8 c5 82 f8 a7 9e b5 3b|VB....P+.......;|
* |until 0x13a.7 (end) (313) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [14]{}: message 0x0-0x19e.7 (415)
| | | [14]{}: message 0x0-0x19e.7 (415)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x0000|af |. | codec: "aac" (10) 0x0-0x0.3 (0.4)
@ -380,7 +380,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0000| 21 7a cf ff ff ff ff 00 7f b9 53 18 e8 60| !z........S..`| data: raw bits 0x2-0x19e.7 (413)
0x0010|00 47 15 35 12 d0 00 00 1d 3a 44 69 22 f8 c4 66|.G.5.....:Di"..f|
* |until 0x19e.7 (end) (413) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [15]{}: message 0x0-0xc5.7 (198)
| | | [15]{}: message 0x0-0xc5.7 (198)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x0000|af |. | codec: "aac" (10) 0x0-0x0.3 (0.4)
@ -391,7 +391,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0000| 21 1a d3 95 a9 1e 32 76 e7 91 c7 93 59 65| !.....2v....Ye| data: raw bits 0x2-0xc5.7 (196)
0x0010|40 2a a9 45 12 a8 be 74 1a 98 46 14 62 91 b7 33|@*.E...t..F.b..3|
* |until 0xc5.7 (end) (196) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [16]{}: message 0x0-0xc5.7 (198)
| | | [16]{}: message 0x0-0xc5.7 (198)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x0000|af |. | codec: "aac" (10) 0x0-0x0.3 (0.4)
@ -402,7 +402,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0000| 21 1a cf ff ff ff ff fa 74 b3 b2 d5 23 07| !.......t...#.| data: raw bits 0x2-0xc5.7 (196)
0x0010|33 9e 45 f9 97 08 00 55 2a 94 29 54 aa 0d 2d 49|3.E....U*.)T..-I|
* |until 0xc5.7 (end) (196) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [17]{}: message 0x0-0xca.7 (203)
| | | [17]{}: message 0x0-0xca.7 (203)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x0000|af |. | codec: "aac" (10) 0x0-0x0.3 (0.4)
@ -413,7 +413,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0000| 21 1a cf ff ff ff ff f2 74 b3 c1 50 ea 81| !.......t..P..| data: raw bits 0x2-0xca.7 (201)
0x0010|66 84 45 a1 73 2b d0 9d 74 84 00 2a 95 4a 14 a7|f.E.s+..t..*.J..|
* |until 0xca.7 (end) (201) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [18]{}: message 0x0-0xc3.7 (196)
| | | [18]{}: message 0x0-0xc3.7 (196)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x0000|af |. | codec: "aac" (10) 0x0-0x0.3 (0.4)
@ -424,7 +424,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0000| 21 1a cf ff ff ff ff f2 75 b5 a3 94 42 cd| !.......u...B.| data: raw bits 0x2-0xc3.7 (194)
0x0010|08 8b 42 dc 7b 87 9e 22 40 01 55 4a a1 4a 3e 71|..B.{.."@.UJ.J>q|
* |until 0xc3.7 (end) (194) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [19]{}: message 0x0-0xc2.7 (195)
| | | [19]{}: message 0x0-0xc2.7 (195)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x0000|af |. | codec: "aac" (10) 0x0-0x0.3 (0.4)
@ -435,7 +435,7 @@ $ fq -d rtmp 'dv({array_truncate: 20})' ffmpeg_server_stream
0x0000| 21 1a cf ff ff ff ff fe 75 21 da 15 c3 1d| !.......u!....| data: raw bits 0x2-0xc2.7 (193)
0x0010|0b 7a f5 b1 7e d6 ba 40 02 aa 95 42 94 aa 3e 02|.z..~..@...B..>.|
* |until 0xc2.7 (end) (193) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [20:421]: ...
| | | [20:421]: ...
| | | chunks[0:837]: 0xc01-0x1644c.7 (88140)
| | | [0]{}: chunk 0xc01-0xc10.7 (16)
0x00c00| 02 | . | fmt: 0 0xc01-0xc01.1 (0.2)

View File

@ -1,5 +1,5 @@
$ fq '.tcp_connections | dv' rtmp_sample.cap
| | |.tcp_connections[0:1]: 0x2268-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.tcp_connections[0:1]: 0x2268-NA (0)
| | | [0]{}: tcp_connection 0x2268-NA (0)
| | | client{}: 0x2268-NA (0)
| | | ip: "192.168.43.1" 0x2268-NA (0)
@ -7,7 +7,7 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | has_start: true 0x2268-NA (0)
| | | has_end: false 0x2268-NA (0)
| | | skipped_bytes: 0 0x2268-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| stream{}: (rtmp) 0x0-0xd7b.7 (3452)
| | | stream{}: (rtmp) 0x0-0xd7b.7 (3452)
| | | handshake{}: 0x0-0xc00.7 (3073)
| | | c0{}: 0x0-0x0.7 (1)
0x000|03 |. | version: 3 0x0-0x0.7 (1)
@ -24,7 +24,7 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
0x610|00 6d 00 d2 00 fb 00 b8 00 19 00 6e 00 47 00 74|.m.........n.G.t|
* |until 0xc00.7 (1528) | |
| | | messages[0:5]: 0xc01-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: message 0x0-0xe0.7 (225)
| | | [0]{}: message 0x0-0xe0.7 (225)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
@ -122,11 +122,11 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | value{}: 0xe0-0xe0.7 (1)
0xe0|09| |.| | type: "object_end" (9) 0xe0-0xe0.7 (1)
| | | arguments[0:0]: 0xe1-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: message 0x0-0x3.7 (4)
| | | [1]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "window_acknowledgement_size" (5) 0x0-NA (0)
0x00|00 14 00 00| |....| | window_size: 1310720 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: message 0x0-0x18.7 (25)
| | | [2]{}: message 0x0-0x18.7 (25)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xe.7 (15)
@ -140,7 +140,7 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
0x10| 05| | .| | type: "null" (5) 0x18-0x18.7 (1)
| | | value: null 0x19-NA (0)
| | | arguments[0:0]: 0x19-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [3]{}: message 0x0-0x3d.7 (62)
| | | [3]{}: message 0x0-0x3d.7 (62)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x6.7 (7)
@ -160,7 +160,7 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
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/| |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [4]{}: message 0x0-0x9.7 (10)
| | | [4]{}: message 0x0-0x9.7 (10)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 03 |.. | type: "set_buffer_length" (3) 0x0-0x1.7 (2)
@ -234,7 +234,7 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | has_start: true 0x2268-NA (0)
| | | has_end: false 0x2268-NA (0)
| | | skipped_bytes: 0 0x2268-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| stream{}: (rtmp) 0x0-0xda7.7 (3496)
| | | stream{}: (rtmp) 0x0-0xda7.7 (3496)
| | | handshake{}: 0x0-0xc00.7 (3073)
| | | s0{}: 0x0-0x0.7 (1)
0x000|03 |. | version: 3 0x0-0x0.7 (1)
@ -251,26 +251,26 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
0x610|ff c0 00 c1 00 36 00 af 00 fc 00 2d 00 92 ff bb|.....6.....-....|
* |until 0xc00.7 (1528) | |
| | | messages[0:8]: 0xc01-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: message 0x0-0x3.7 (4)
| | | [0]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "window_acknowledgement_size" (5) 0x0-NA (0)
0x00|00 14 00 00| |....| | window_size: 1310720 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: message 0x0-0x4.7 (5)
| | | [1]{}: message 0x0-0x4.7 (5)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "set_peer_bandwidth" (6) 0x0-NA (0)
0x00|00 14 00 00 |.... | chunk_size: 1310720 0x0-0x3.7 (4)
0x00| 02| | .| | limit_type: "dynamic" (2) 0x4-0x4.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: message 0x0-0xd.7 (14)
| | | [2]{}: message 0x0-0xd.7 (14)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 08 |.. | type: 8 0x0-0x1.7 (2)
0x00| 00 00 00 00 00 00 00 01 07 e9 34 b0| | ..........4.| | data: raw bits 0x2-0xd.7 (12)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [3]{}: message 0x0-0x5.7 (6)
| | | [3]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x00| 00 00 00 00| | ....| | stream_id: 0 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [4]{}: message 0x0-0x72.7 (115)
| | | [4]{}: message 0x0-0x72.7 (115)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
@ -323,7 +323,7 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | value: "" 0x72-NA (0)
| | | value{}: 0x72-0x72.7 (1)
0x70| 09| | .| | type: "object_end" (9) 0x72-0x72.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [5]{}: message 0x0-0x1c.7 (29)
| | | [5]{}: message 0x0-0x1c.7 (29)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
@ -341,12 +341,12 @@ $ fq '.tcp_connections | dv' rtmp_sample.cap
| | | [0]{}: argument (amf0) 0x14-0x1c.7 (9)
0x10| 00 | . | type: "number" (0) 0x14-0x14.7 (1)
0x10| 3f f0 00 00 00 00 00 00| | ?.......| | value: 1 0x15-0x1c.7 (8)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [6]{}: message 0x0-0x5.7 (6)
| | | [6]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x00| 00 00 00 01| | ....| | stream_id: 1 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [7]{}: message 0x0-0x92.7 (147)
| | | [7]{}: message 0x0-0x92.7 (147)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)

View File

@ -16,21 +16,21 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x000610|7a b8 cf 7a 2d df fd df 9c 09 ee 90 f6 12 7f d1|z..z-...........|
* |until 0xc00.7 (1528) | |
| | | messages[0:39]: 0xc01-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [0]{}: message 0x0-0x3.7 (4)
| | | [0]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "window_acknowledgement_size" (5) 0x0-NA (0)
0x00000|00 13 12 d0| |....| | window_size: 1250000 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [1]{}: message 0x0-0x4.7 (5)
| | | [1]{}: message 0x0-0x4.7 (5)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "set_peer_bandwidth" (6) 0x0-NA (0)
0x00000|00 13 12 d0 |.... | chunk_size: 1250000 0x0-0x3.7 (4)
0x00000| 02| | .| | limit_type: "dynamic" (2) 0x4-0x4.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [2]{}: message 0x0-0x5.7 (6)
| | | [2]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00000|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x00000| 00 00 00 00| | ....| | stream_id: 0 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [3]{}: message 0x0-0xbd.7 (190)
| | | [3]{}: message 0x0-0xbd.7 (190)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
@ -115,12 +115,12 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | value: "" 0xbd-NA (0)
| | | value{}: 0xbd-0xbd.7 (1)
0x000b0| 09| | .| | type: "object_end" (9) 0xbd-0xbd.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [4]{}: message 0x0-0x5.7 (6)
| | | [4]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00000|00 06 |.. | type: "ping_request" (6) 0x0-0x1.7 (2)
0x00000| 17 ab da a3| | ....| | timestamp: 397138595 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [5]{}: message 0x0-0x18.7 (25)
| | | [5]{}: message 0x0-0x18.7 (25)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xb.7 (12)
@ -139,7 +139,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00010| 02 | . | type: "string" (2) 0x16-0x16.7 (1)
0x00010| 00 00| | ..| | length: 0 0x17-0x18.7 (2)
| | | value: "" 0x19-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [6]{}: message 0x0-0x2a4a.7 (10827)
| | | [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)
@ -297,7 +297,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00170| 3f e6 af bb f4| ?....| value: 0.7089519283045137 0x17b-0x182.7 (8)
0x00180|50 20 f5 |P . |
| | | [40:1200]: ...
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [7]{}: message 0x0-0x1c.7 (29)
| | | [7]{}: message 0x0-0x1c.7 (29)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0x9.7 (10)
@ -315,16 +315,16 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | [0]{}: argument (amf0) 0x14-0x1c.7 (9)
0x00010| 00 | . | type: "number" (0) 0x14-0x14.7 (1)
0x00010| 3f f0 00 00 00 00 00 00| | ?.......| | value: 1 0x15-0x1c.7 (8)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [8]{}: message 0x0-0x3.7 (4)
| | | [8]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "set_chunk_size" (1) 0x0-NA (0)
0x00000|00 00 10 00| |....| | size: 4096 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [9]{}: message 0x0-0x5.7 (6)
| | | [9]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00000|00 04 |.. | type: "stream_is_recorded" (4) 0x0-0x1.7 (2)
0x00000| 00 00 00 01| | ....| | stream_id: 1 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [10]{}: message 0x0-0xd3.7 (212)
| | | [10]{}: message 0x0-0xd3.7 (212)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
@ -397,26 +397,26 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | value: "" 0xd3-NA (0)
| | | value{}: 0xd3-0xd3.7 (1)
0x000d0| 09| | .| | type: "object_end" (9) 0xd3-0xd3.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [11]{}: message 0x0-0x5.7 (6)
| | | [11]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00000|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x00000| 00 00 00 01| | ....| | stream_id: 1 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [12]{}: message 0x0-0x5.7 (6)
| | | [12]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00000|00 01 |.. | type: "stream_eof" (1) 0x0-0x1.7 (2)
0x00000| 00 00 00 01| | ....| | stream_id: 1 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [13]{}: message 0x0-0x3.7 (4)
| | | [13]{}: message 0x0-0x3.7 (4)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "set_chunk_size" (1) 0x0-NA (0)
0x00000|00 00 10 00| |....| | size: 4096 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [14]{}: message 0x0-0x5.7 (6)
| | | [14]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00000|00 04 |.. | type: "stream_is_recorded" (4) 0x0-0x1.7 (2)
0x00000| 00 00 00 01| | ....| | stream_id: 1 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [15]{}: message 0x0-0x9e.7 (159)
| | | [15]{}: message 0x0-0x9e.7 (159)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
@ -477,12 +477,12 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | value: "" 0x9e-NA (0)
| | | value{}: 0x9e-0x9e.7 (1)
0x00090| 09| | .|| type: "object_end" (9) 0x9e-0x9e.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [16]{}: message 0x0-0x5.7 (6)
| | | [16]{}: message 0x0-0x5.7 (6)
| | | message_stream_id: 0 0x0-NA (0)
| | | message_type_id: "user_control_message" (4) 0x0-NA (0)
0x00000|00 00 |.. | type: "stream_begin" (0) 0x0-0x1.7 (2)
0x00000| 00 00 00 01| | ....| | stream_id: 1 0x2-0x5.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [17]{}: message 0x0-0x17.7 (24)
| | | [17]{}: message 0x0-0x17.7 (24)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "data_message" (18) 0x0-NA (0)
| | | messages[0:3]: 0x0-0x17.7 (24)
@ -497,10 +497,10 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | [2]{}: message (amf0) 0x16-0x17.7 (2)
0x00010| 01 | . | type: "boolean" (1) 0x16-0x16.7 (1)
0x00010| 00| | .| | value: 0 0x17-0x17.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [18]{}: message 0x0-NA (0)
| | | [18]{}: message 0x0-NA (0)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [19]{}: message 0x0-0x2b.7 (44)
| | | [19]{}: message 0x0-0x2b.7 (44)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "data_message" (18) 0x0-NA (0)
| | | messages[0:2]: 0x0-0x2b.7 (44)
@ -527,7 +527,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | value: "" 0x2b-NA (0)
| | | value{}: 0x2b-0x2b.7 (1)
0x00020| 09| | .| | type: "object_end" (9) 0x2b-0x2b.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [20]{}: message 0x0-0xcb.7 (204)
| | | [20]{}: message 0x0-0xcb.7 (204)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "command_message" (20) 0x0-NA (0)
| | | command_name{}: (amf0) 0x0-0xa.7 (11)
@ -600,13 +600,13 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
| | | value: "" 0xcb-NA (0)
| | | value{}: 0xcb-0xcb.7 (1)
0x000c0| 09| | .| | type: "object_end" (9) 0xcb-0xcb.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [21]{}: message 0x0-0x1.7 (2)
| | | [21]{}: message 0x0-0x1.7 (2)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|52 |R | type: "video_info_or_command_frame" (5) 0x0-0x0.3 (0.4)
0x00000|52 |R | codec: "h263" (2) 0x0.4-0x0.7 (0.4)
0x00000| 00| | .| | data: raw bits 0x1-0x1.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [22]{}: message 0x0-0x160c.7 (5645)
| | | [22]{}: message 0x0-0x160c.7 (5645)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|12 |. | type: "keyframe" (1) 0x0-0x0.3 (0.4)
@ -614,7 +614,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| 00 00 84 2a 83 a6 6c 70 74 74 f1 11 33 b3 d3| ...*..lptt..3..| data: raw bits 0x1-0x160c.7 (5644)
0x00010|b3 c7 98 8c 9e 9e 9c 9e 3c aa fd e2 57 88 a7 9d|........<...W...|
* |until 0x160c.7 (end) (5644) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [23]{}: message 0x0-0xaa5.7 (2726)
| | | [23]{}: message 0x0-0xaa5.7 (2726)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|32 |2 | type: "disposable_inter_frame" (3) 0x0-0x0.3 (0.4)
@ -622,7 +622,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| 00 00 84 2e c3 b8 fc da 3c 85 e8 42 40 a5 de| ........<..B@..| data: raw bits 0x1-0xaa5.7 (2725)
0x00010|97 42 74 85 a9 89 02 e2 01 5e 12 90 42 f9 87 b5|.Bt......^..B...|
* |until 0xaa5.7 (end) (2725) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [24]{}: message 0x0-0xe50.7 (3665)
| | | [24]{}: message 0x0-0xe50.7 (3665)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|22 |" | type: "inter_frame" (2) 0x0-0x0.3 (0.4)
@ -630,7 +630,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| 00 00 84 32 a3 b5 b1 78 5f 30 75 4c f0 5a 32| ...2...x_0uL.Z2| data: raw bits 0x1-0xe50.7 (3664)
0x00010|e7 83 b1 78 0e 20 c2 de f1 ab 6f 15 ef 20 1f be|...x. ....o.. ..|
* |until 0xe50.7 (end) (3664) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [25]{}: message 0x0-0xa4a.7 (2635)
| | | [25]{}: message 0x0-0xa4a.7 (2635)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|32 |2 | type: "disposable_inter_frame" (3) 0x0-0x0.3 (0.4)
@ -638,7 +638,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| 00 00 84 36 c3 b8 db 36 6d 26 12 71 ec 00 81| ...6...6m&.q...| data: raw bits 0x1-0xa4a.7 (2634)
0x00010|ae c3 21 20 c4 2f 17 90 0f df 6f 76 d6 f1 fb eb|..! ./....ov....|
* |until 0xa4a.7 (end) (2634) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [26]{}: message 0x0-0xbc8.7 (3017)
| | | [26]{}: message 0x0-0xbc8.7 (3017)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|22 |" | type: "inter_frame" (2) 0x0-0x0.3 (0.4)
@ -646,7 +646,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| 00 00 84 3a a3 ba d9 b4 98 2d 5b 78 5e 87 a5| ...:.....-[x^..| data: raw bits 0x1-0xbc8.7 (3016)
0x00010|d0 98 2f d8 c8 3a fb de 38 de fe de 49 5b 3d 1f|../..:..8...I[=.|
* |until 0xbc8.7 (end) (3016) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [27]{}: message 0x0-0x957.7 (2392)
| | | [27]{}: message 0x0-0x957.7 (2392)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|32 |2 | type: "disposable_inter_frame" (3) 0x0-0x0.3 (0.4)
@ -654,7 +654,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| 00 00 84 3e c3 b8 a3 21 34 85 82 d1 86 43 48| ...>...!4....CH| data: raw bits 0x1-0x957.7 (2391)
0x00010|65 ac 13 c5 78 27 90 46 16 74 2e 3c de ed ad fa|e...x'.F.t.<....|
* |until 0x957.7 (end) (2391) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [28]{}: message 0x0-0xbaa.7 (2987)
| | | [28]{}: message 0x0-0xbaa.7 (2987)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|22 |" | type: "inter_frame" (2) 0x0-0x0.3 (0.4)
@ -662,7 +662,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| 00 00 84 42 a3 b8 fc 25 42 d1 80 c6 00 42 7b| ...B...%B....B{| data: raw bits 0x1-0xbaa.7 (2986)
0x00010|c1 90 7f 70 27 11 8b d1 1c 8a 30 58 10 b5 82 c6|...p'.....0X....|
* |until 0xbaa.7 (end) (2986) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [29]{}: message 0x0-0x90a.7 (2315)
| | | [29]{}: message 0x0-0x90a.7 (2315)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|32 |2 | type: "disposable_inter_frame" (3) 0x0-0x0.3 (0.4)
@ -670,13 +670,13 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| 00 00 84 46 c3 b8 fc da 16 64 16 28 78 27 02| ...F.....d.(x'.| data: raw bits 0x1-0x90a.7 (2314)
0x00010|7b 78 27 d8 c1 62 d6 16 0f dd 6b 78 fd df 8f dc|{x'..b....kx....|
* |until 0x90a.7 (end) (2314) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [30]{}: message 0x0-0x1.7 (2)
| | | [30]{}: message 0x0-0x1.7 (2)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|52 |R | type: "video_info_or_command_frame" (5) 0x0-0x0.3 (0.4)
0x00000|52 |R | codec: "h263" (2) 0x0.4-0x0.7 (0.4)
0x00000| 01| | .| | data: raw bits 0x1-0x1.7 (1)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [31]{}: message 0x0-0x80.7 (129)
| | | [31]{}: message 0x0-0x80.7 (129)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x00000|66 |f | codec: "nellymoser" (6) 0x0-0x0.3 (0.4)
@ -686,7 +686,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| e7 32 f9 92 66 1d 64 10 ca 99 26 74 52 32 c9| .2..f.d...&tR2.| data: raw bits 0x1-0x80.7 (128)
0x00010|e0 54 d0 17 fa 58 98 2a 93 4b a4 11 dd ef d5 3b|.T...X.*.K.....;|
* |until 0x80.7 (end) (128) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [32]{}: message 0x0-0xd37.7 (3384)
| | | [32]{}: message 0x0-0xd37.7 (3384)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "video_message" (9) 0x0-NA (0)
0x00000|22 |" | type: "inter_frame" (2) 0x0-0x0.3 (0.4)
@ -694,7 +694,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| 00 00 84 4a a3 b8 50 f0 1e 42 12 04 8a ef 0f| ...J..P..B.....| data: raw bits 0x1-0xd37.7 (3383)
0x00010|0c a1 ec 02 c4 13 db c1 63 63 05 8b 58 2c 36 b7|........cc..X,6.|
* |until 0xd37.7 (end) (3383) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [33]{}: message 0x0-0x80.7 (129)
| | | [33]{}: message 0x0-0x80.7 (129)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "audio_message" (8) 0x0-NA (0)
0x00000|66 |f | codec: "nellymoser" (6) 0x0-0x0.3 (0.4)
@ -704,7 +704,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x00000| 65 7b ae a6 c8 68 53 b5 c9 a8 66 74 b5 c1 57| e{...hS...ft..W| data: raw bits 0x1-0x80.7 (128)
0x00010|19 47 58 d1 e2 15 21 ab 78 6e 49 95 a7 9d ae f4|.GX...!.xnI.....|
* |until 0x80.7 (end) (128) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [34]{}: message 0x0-0x10778.7 (67449)
| | | [34]{}: message 0x0-0x10778.7 (67449)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "aggregate_message" (22) 0x0-NA (0)
| | | messages[0:112]: 0x0-0x10778.7 (67449)
@ -1224,7 +1224,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
* |until 0x5f26.7 (128) | |
0x05f20| 00 00 00 8c | .... | back_pointer: 140 0x5f27-0x5f2a.7 (4)
| | | [40:112]: ...
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [35]{}: message 0x0-0x1140b.7 (70668)
| | | [35]{}: message 0x0-0x1140b.7 (70668)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "aggregate_message" (22) 0x0-NA (0)
| | | messages[0:103]: 0x0-0x1140b.7 (70668)
@ -1762,7 +1762,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
0x06100| 00 00 00| ...| back_pointer: 140 0x610d-0x6110.7 (4)
0x06110|8c |. |
| | | [40:103]: ...
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [36]{}: message 0x0-0x10071.7 (65650)
| | | [36]{}: message 0x0-0x10071.7 (65650)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "aggregate_message" (22) 0x0-NA (0)
| | | messages[0:99]: 0x0-0x10071.7 (65650)
@ -2293,7 +2293,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
* |until 0x48d7.7 (128) | |
0x048d0| 00 00 00 8c | .... | back_pointer: 140 0x48d8-0x48db.7 (4)
| | | [40:99]: ...
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [37]{}: message 0x0-0x5d80.7 (23937)
| | | [37]{}: message 0x0-0x5d80.7 (23937)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "aggregate_message" (22) 0x0-NA (0)
| | | messages[0:35]: 0x0-0x5d80.7 (23937)
@ -2761,7 +2761,7 @@ $ fq -d rtmp 'dv({array_truncate: 40})' server_stream
* |until 0x5d7c.7 (128) | |
0x05d70| e2 aa 39| ..9| back_pointer: 3802806717 0x5d7d-0x5d80.7 (4)
0x05d80|bd| |.| |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| [38]{}: message 0x0-0x10069.7 (65642)
| | | [38]{}: message 0x0-0x10069.7 (65642)
| | | message_stream_id: 1 0x0-NA (0)
| | | message_type_id: "aggregate_message" (22) 0x0-NA (0)
| | | messages[0:95]: 0x0-0x10069.7 (65642)

View File

@ -19,7 +19,7 @@ $ fq -d vorbis_comment dv /vorbis-comment-picture
0x030| 4d 45 54| MET| comment: "METADATA_BLOCK_PICTURE=AAAAAAAAAAlpbWFnZS9wbmcAAAA"... 0x3d-0x11f.7 (227)
0x040|41 44 41 54 41 5f 42 4c 4f 43 4b 5f 50 49 43 54|ADATA_BLOCK_PICT|
* |until 0x11f.7 (end) (227) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| picture{}: (flac_picture) 0x0-0x98.7 (153)
| | | picture{}: (flac_picture) 0x0-0x98.7 (153)
0x00|00 00 00 00 |.... | picture_type: "Other" (0) 0x0-0x3.7 (4)
0x00| 00 00 00 09 | .... | mime_length: 9 0x4-0x7.7 (4)
0x00| 69 6d 61 67 65 2f 70 6e| image/pn| mime: "image/png" 0x8-0x10.7 (9)

View File

@ -136,7 +136,6 @@ $ fq -d zip dv /test-macos.zip
0x00c0| 75 78 | ux | header_id: 0x7875 (UNIX UID/GID) 0xc1-0xc2.7 (2)
0x00c0| 0b 00 | .. | data_size: 11 0xc3-0xc4.7 (2)
0x00c0| 01 04 f5 01 00 00 04 14 00 00 00| ...........| data: raw bits 0xc5-0xcf.7 (11)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61|aaaaaaaaaaaaaaaa| uncompressed: raw bits 0x0-0x34.7 (53)
* |until 0x34.7 (end) (53) | |
0x00d0|4b 4c 24 03 00 00 |KL$... | compressed: raw bits 0xd0-0xd5.7 (6)
@ -188,7 +187,7 @@ $ fq -d zip dv /test-macos.zip
0x0120|78 |x |
0x0120| 0b 00 | .. | data_size: 11 0x121-0x122.7 (2)
0x0120| 01 04 f5 01 00 00 04 14 00 00 00 | ........... | data: raw bits 0x123-0x12d.7 (11)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| uncompressed{}: (png) 0x0-0x102.7 (259)
| | | uncompressed{}: (png) 0x0-0x102.7 (259)
0x000|89 50 4e 47 0d 0a 1a 0a |.PNG.... | signature: raw bits (valid) 0x0-0x7.7 (8)
| | | chunks[0:9]: 0x8-0x102.7 (251)
| | | [0]{}: chunk 0x8-0x20.7 (25)
@ -355,7 +354,6 @@ $ fq -d zip dv /test-macos.zip
0x0240| 0b 00 | .. | data_size: 11 0x24b-0x24c.7 (2)
0x0240| 01 04 f5| ...| data: raw bits 0x24d-0x257.7 (11)
0x0250|01 00 00 04 14 00 00 00 |........ |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|61 61 61 61| |aaaa| | uncompressed: raw bits 0x0-0x3.7 (4)
0x0250| 4b 4c 4c 4c 04 00 | KLLL.. | compressed: raw bits 0x258-0x25d.7 (6)
| | | data_indicator{}: 0x25e-0x26d.7 (16)

View File

@ -180,7 +180,6 @@ $ fq -d zip dv /test0.zip
0x0100|78 |x |
0x0100| 0b 00 | .. | data_size: 11 0x101-0x102.7 (2)
0x0100| 01 04 f5 01 00 00 04 14 00 00 00 | ........... | data: raw bits 0x103-0x10d.7 (11)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61|aaaaaaaaaaaaaaaa| uncompressed: raw bits 0x0-0x34.7 (53)
* |until 0x34.7 (end) (53) | |
0x0100| 4b 4c| KL| compressed: raw bits 0x10e-0x113.7 (6)
@ -227,7 +226,7 @@ $ fq -d zip dv /test0.zip
0x0140| 0b 00 | .. | data_size: 11 0x14b-0x14c.7 (2)
0x0140| 01 04 f5| ...| data: raw bits 0x14d-0x157.7 (11)
0x0150|01 00 00 04 14 00 00 00 |........ |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| uncompressed{}: (png) 0x0-0x102.7 (259)
| | | uncompressed{}: (png) 0x0-0x102.7 (259)
0x000|89 50 4e 47 0d 0a 1a 0a |.PNG.... | signature: raw bits (valid) 0x0-0x7.7 (8)
| | | chunks[0:9]: 0x8-0x102.7 (251)
| | | [0]{}: chunk 0x8-0x20.7 (25)

View File

@ -180,7 +180,6 @@ $ fq -d zip dv /test9.zip
0x0100|78 |x |
0x0100| 0b 00 | .. | data_size: 11 0x101-0x102.7 (2)
0x0100| 01 04 f5 01 00 00 04 14 00 00 00 | ........... | data: raw bits 0x103-0x10d.7 (11)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61|aaaaaaaaaaaaaaaa| uncompressed: raw bits 0x0-0x34.7 (53)
* |until 0x34.7 (end) (53) | |
0x0100| 4b 4c| KL| compressed: raw bits 0x10e-0x113.7 (6)
@ -227,7 +226,7 @@ $ fq -d zip dv /test9.zip
0x0140| 0b 00 | .. | data_size: 11 0x14b-0x14c.7 (2)
0x0140| 01 04 f5| ...| data: raw bits 0x14d-0x157.7 (11)
0x0150|01 00 00 04 14 00 00 00 |........ |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef| uncompressed{}: (png) 0x0-0x102.7 (259)
| | | uncompressed{}: (png) 0x0-0x102.7 (259)
0x000|89 50 4e 47 0d 0a 1a 0a |.PNG.... | signature: raw bits (valid) 0x0-0x7.7 (8)
| | | chunks[0:9]: 0x8-0x102.7 (251)
| | | [0]{}: chunk 0x8-0x20.7 (25)

View File

@ -42,8 +42,20 @@ func isCompound(v *decode.Value) bool {
}
}
func dumpEx(v *decode.Value, buf []byte, cw *columnwriter.Writer, depth int, rootV *decode.Value, rootDepth int, addrWidth int, opts *Options) error {
deco := opts.Decorator
type dumpCtx struct {
opts Options
buf []byte
cw *columnwriter.Writer
hexHeader string
asciiHeader string
}
func dumpEx(v *decode.Value, ctx *dumpCtx, depth int, rootV *decode.Value, rootDepth int, addrWidth int) error {
opts := ctx.opts
cw := ctx.cw
buf := ctx.buf
deco := ctx.opts.Decorator
// no error check as we write into buffering column
// we check for err later for Flush()
cprint := func(c int, a ...interface{}) {
@ -59,20 +71,6 @@ func dumpEx(v *decode.Value, buf []byte, cw *columnwriter.Writer, depth int, roo
cprint(5, deco.Column, "\n")
}
var hexHeader string
var asciiHeader string
if v.IsRoot {
for i := 0; i < opts.LineBytes; i++ {
s := mathextra.PadFormatInt(int64(i), opts.AddrBase, false, 2)
hexHeader += s
if i < opts.LineBytes-1 {
hexHeader += " "
}
asciiHeader += s[len(s)-1:]
}
}
isInArray := false
inArrayLen := 0
if v.Parent != nil {
@ -97,12 +95,12 @@ func dumpEx(v *decode.Value, buf []byte, cw *columnwriter.Writer, depth int, roo
rootIndent := strings.Repeat(" ", rootDepth)
indent := strings.Repeat(" ", depth)
if v.IsRoot {
if depth == 0 {
if !isCompound(v) {
columns()
}
cfmt(colHex, "%s", deco.DumpHeader.F(hexHeader))
cfmt(colASCII, "%s", deco.DumpHeader.F(asciiHeader))
cfmt(colHex, "%s", deco.DumpHeader.F(ctx.hexHeader))
cfmt(colASCII, "%s", deco.DumpHeader.F(ctx.asciiHeader))
if !isCompound(v) {
cw.Flush()
}
@ -381,8 +379,27 @@ func dump(v *decode.Value, w io.Writer, opts Options) error {
cw.DisplayTruncateFn = ansi.Truncate
}
var hexHeader string
var asciiHeader string
for i := 0; i < opts.LineBytes; i++ {
s := mathextra.PadFormatInt(int64(i), opts.AddrBase, false, 2)
hexHeader += s
if i < opts.LineBytes-1 {
hexHeader += " "
}
asciiHeader += s[len(s)-1:]
}
ctx := &dumpCtx{
opts: opts,
buf: buf,
cw: cw,
hexHeader: hexHeader,
asciiHeader: asciiHeader,
}
return v.WalkPreOrder(makeWalkFn(func(v *decode.Value, rootV *decode.Value, depth int, rootDepth int) error {
return dumpEx(v, buf, cw, depth, rootV, rootDepth, maxAddrIndentWidth-rootDepth, &opts)
return dumpEx(v, ctx, depth, rootV, rootDepth, maxAddrIndentWidth-rootDepth)
}))
}

View File

@ -1,23 +1,33 @@
$ fq -d mp3 '.headers[0].magic._bits[8:16] | hd' /test.mp3
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 44 | D |.: raw bits 0x1-0x1.7 (1)
$ fq -d mp3 '.headers[0].magic._bits | [.[8:16], .[0:8]] | hd' /test.mp3
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|44 49| |DI| |.: raw bits 0x0-0x1.7 (2)
$ fq -d mp3 '.headers[0].magic._bits | [.[8:16], .[0:8]] | tobits | hd' /test.mp3
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|44 49| |DI| |.: raw bits 0x0-0x1.7 (2)
$ fq -d mp3 '.headers[0].magic._bits | [.[8:16], .[0:8]] | tobytes | hd' /test.mp3
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|44 49| |DI| |.: raw bits 0x0-0x1.7 (2)
$ fq -n '"12" | tobytes | hd'
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|31 32| |12| |.: raw bits 0x0-0x1.7 (2)
$ fq -n '"12" | tobits | hd'
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|31 32| |12| |.: raw bits 0x0-0x1.7 (2)
$ fq -n '["12", "3"] | tobytes | hd'
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|31 32 33| |123| |.: raw bits 0x0-0x2.7 (3)
$ fq -n '["12", "3"] | tobits | hd'
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|31 32 33| |123| |.: raw bits 0x0-0x2.7 (3)
$ fq -n '[("11" | hex), ("22" | hex)] | tobits | hd'
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|11 22| |."| |.: raw bits 0x0-0x1.7 (2)
# TODO: bug, hexdump uses io.Copy which is byte oritneted
$ fq -n '[("12" | hex | .bits[4:]), ("34" | hex | .bits[0:4])] | tobits | hd'
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|23| |#| |.: raw bits 0x0-0x0.7 (1)
$ fq -d mp3 '.frames[]._bits[0:12] | tonumber' /test.mp3
4095
@ -32,10 +42,13 @@ $ fq -d mp3 '.frames[0].padding | ("", "md5", "base64", "snippet") as $f | toval
"<5>AAAAAAA="
$ fq -d mp3 -i . /test.mp3
mp3> [1, 2, 3] | tobytes
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|01 02 03| |...| |.: raw bits 0x0-0x2.7 (3)
mp3> [1, 2, 3, [1, 2, 3]] | tobytes
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|01 02 03 01 02 03| |......| |.: raw bits 0x0-0x5.7 (6)
mp3> [1, 2, 3, [1, 2, 3], .headers[0].magic] | tobytes
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|01 02 03 01 02 03 49 44 33| |......ID3| |.: raw bits 0x0-0x8.7 (9)
mp3> [-1] | tobytes
error: byte in binary list must be bytes (0-255) got -1
@ -44,143 +57,183 @@ error: byte in binary list must be bytes (0-255) got 256
mp3> ^D
$ fq -d mp3 -i . /test.mp3
mp3> .frames[1] | tobits | ., .start, .stop, .size, .[4:17], (tobits, tobytes, tobitsrange, tobytesrange | ., .start, .stop, .size, .[4:17])
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
1664
1664
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|ff fb 50 |..P |.: raw bits 0x0.4-0x2 (1.5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
1664
1664
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|ff fb 50 |..P |.: raw bits 0x0.4-0x2 (1.5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
208
208
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| 00 00 0a 2c 43 2e 55 94 80 01 80 93| ...,C.U.....|.: raw bits 0x4-0x10.7 (13)
0x10|6b |k |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
1664
1664
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|ff fb 50 |..P |.: raw bits 0x0.4-0x2 (1.5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
208
208
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| 00 00 0a 2c 43 2e 55 94 80 01 80 93| ...,C.U.....|.: raw bits 0x4-0x10.7 (13)
0x10|6b |k |
mp3> .frames[1] | tobytes | ., .start, .stop, .size, .[4:17], (tobits, tobytes, tobitsrange, tobytesrange | ., .start, .stop, .size, .[4:17])
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
208
208
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| 00 00 0a 2c 43 2e 55 94 80 01 80 93| ...,C.U.....|.: raw bits 0x4-0x10.7 (13)
0x10|6b |k |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
1664
1664
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|ff fb 50 |..P |.: raw bits 0x0.4-0x2 (1.5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
208
208
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| 00 00 0a 2c 43 2e 55 94 80 01 80 93| ...,C.U.....|.: raw bits 0x4-0x10.7 (13)
0x10|6b |k |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
1664
1664
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|ff fb 50 |..P |.: raw bits 0x0.4-0x2 (1.5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
208
208
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| 00 00 0a 2c 43 2e 55 94 80 01 80 93| ...,C.U.....|.: raw bits 0x4-0x10.7 (13)
0x10|6b |k |
mp3> .frames[1] | tobitsrange | ., .start, .stop, .size, .[4:17], (tobits, tobytes, tobitsrange, tobytesrange | ., .start, .stop, .size, .[4:17])
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0e0| ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80| ..P....,C.U..|.: raw bits 0xe3-0x1b2.7 (208)
0x0f0|01 80 93 6b 27 30 80 00 07 aa c3 8e 33 85 d3 64|...k'0......3..d|
* |until 0x1b2.7 (208) | |
1816
3480
1664
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| ff fb 50 | ..P |.: raw bits 0xe3.4-0xe5 (1.5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
1664
1664
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|ff fb 50 |..P |.: raw bits 0x0.4-0x2 (1.5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
208
208
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| 00 00 0a 2c 43 2e 55 94 80 01 80 93| ...,C.U.....|.: raw bits 0x4-0x10.7 (13)
0x10|6b |k |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0e0| ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80| ..P....,C.U..|.: raw bits 0xe3-0x1b2.7 (208)
0x0f0|01 80 93 6b 27 30 80 00 07 aa c3 8e 33 85 d3 64|...k'0......3..d|
* |until 0x1b2.7 (208) | |
1816
3480
1664
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| ff fb 50 | ..P |.: raw bits 0xe3.4-0xe5 (1.5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0e0| ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80| ..P....,C.U..|.: raw bits 0xe3-0x1b2.7 (208)
0x0f0|01 80 93 6b 27 30 80 00 07 aa c3 8e 33 85 d3 64|...k'0......3..d|
* |until 0x1b2.7 (208) | |
227
435
208
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| 00 00 0a 2c 43 2e 55 94 80| ...,C.U..|.: raw bits 0xe7-0xf3.7 (13)
0xf0|01 80 93 6b |...k |
mp3> .frames[1] | tobytesrange | ., .start, .stop, .size, .[4:17], (tobits, tobytes, tobitsrange, tobytesrange | ., .start, .stop, .size, .[4:17])
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0e0| ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80| ..P....,C.U..|.: raw bits 0xe3-0x1b2.7 (208)
0x0f0|01 80 93 6b 27 30 80 00 07 aa c3 8e 33 85 d3 64|...k'0......3..d|
* |until 0x1b2.7 (208) | |
227
435
208
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| 00 00 0a 2c 43 2e 55 94 80| ...,C.U..|.: raw bits 0xe7-0xf3.7 (13)
0xf0|01 80 93 6b |...k |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
1664
1664
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|ff fb 50 |..P |.: raw bits 0x0.4-0x2 (1.5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80 01 80 93|..P....,C.U.....|.: raw bits 0x0-0xcf.7 (208)
* |until 0xcf.7 (end) (208) | |
0
208
208
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| 00 00 0a 2c 43 2e 55 94 80 01 80 93| ...,C.U.....|.: raw bits 0x4-0x10.7 (13)
0x10|6b |k |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0e0| ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80| ..P....,C.U..|.: raw bits 0xe3-0x1b2.7 (208)
0x0f0|01 80 93 6b 27 30 80 00 07 aa c3 8e 33 85 d3 64|...k'0......3..d|
* |until 0x1b2.7 (208) | |
1816
3480
1664
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| ff fb 50 | ..P |.: raw bits 0xe3.4-0xe5 (1.5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0e0| ff fb 50 c4 00 00 0a 2c 43 2e 55 94 80| ..P....,C.U..|.: raw bits 0xe3-0x1b2.7 (208)
0x0f0|01 80 93 6b 27 30 80 00 07 aa c3 8e 33 85 d3 64|...k'0......3..d|
* |until 0x1b2.7 (208) | |
227
435
208
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| 00 00 0a 2c 43 2e 55 94 80| ...,C.U..|.: raw bits 0xe7-0xf3.7 (13)
0xf0|01 80 93 6b |...k |
mp3> .frames[1].data | tobytes | match([0x33, 0x85]), first(scan([0x33, 0x85]) | hex), first(splits([0x33, 0x85]) | hex)
@ -193,9 +246,12 @@ mp3> .frames[1].data | tobytes | match([0x33, 0x85]), first(scan([0x33, 0x85]) |
"3385"
"07aac38e"
mp3> scan("")
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
| | |.: raw bits 0x0-NA (0)
mp3> .frames[1] | tobytes | mp3_frame | ., ((.header.bitrate | tobitsrange) as $v | tobitsrange | [.[:$v.start], (0xf | tobits), .[$v.start+$v.size:]] | mp3_frame) | .header.bitrate
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 50 | P |.header.bitrate: 64000 (5)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| f0 | . |.header.bitrate: 15 (bad)
mp3> ^D
$ fq -i
@ -273,8 +329,10 @@ null> range(17) | [range(.) | 1 | tobits] | tobytes | hex
"7fff"
"ffff"
null> "c9dfdac2f6ef68e5db666b6fbeee66d9c7deda66bebfbfe860bfbfbfe9d1636bbfbebf" | hex | tobits | reduce chunk(8)[] as $c ({h:[],g:[]}; .h += [(0|tobits), $c[0:7]] | .g |= . + [if length % 8 == 0 then (0|tobits) else empty end, $c[7:8]]) | .h, .g | tobytes
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|64 6f 6d 61 7b 77 34 72 6d 33 35 37 5f 77 33 6c|doma{w4rm357_w3l|.: raw bits 0x0-0x22.7 (35)
* |until 0x22.7 (end) (35) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|62 6c 30 67 7d| |bl0g}| |.: raw bits 0x0-0x4.7 (5)
null> "åäö" | tobytes | explode, (tobits | explode)
[
@ -394,34 +452,48 @@ null> "å(?<n>å)(å)" as $p | "cbbcåååccåååcbc", "åååcbbc", "cbbcåå
"cc"
"cbc"
"binary_rune"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|63 62 62 63 |cbbc |.: raw bits 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| 63 63 c3 a5 c3 a5| cc....|.: raw bits 0xa-0x11.7 (8)
0x10|c3 a5 |.. |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x10| 63 62 63| | cbc| |.: raw bits 0x12-0x14.7 (3)
"binary_byte"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|63 62 62 63 |cbbc |.: raw bits 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| 63 63 c3 a5 c3 a5| cc....|.: raw bits 0xa-0x11.7 (8)
0x10|c3 a5 |.. |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x10| 63 62 63| | cbc| |.: raw bits 0x12-0x14.7 (3)
"åååcbbc"
"orig"
""
"cbbc"
"binary_rune"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
| | |.: raw bits 0x0-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 63 62 62 63| | cbbc| |.: raw bits 0x6-0x9.7 (4)
"binary_byte"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
| | |.: raw bits 0x0-NA (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 63 62 62 63| | cbbc| |.: raw bits 0x6-0x9.7 (4)
"cbbcååå"
"orig"
"cbbc"
""
"binary_rune"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|63 62 62 63 |cbbc |.: raw bits 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
| | |.: raw bits 0xa-NA (0)
"binary_byte"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|63 62 62 63 |cbbc |.: raw bits 0x0-0x3.7 (4)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
| | |.: raw bits 0xa-NA (0)
null> "å(?<n>å)(å)" as $p | "cbbcåååccåååcbc", "åååcbbc", "cbbcååå" | ., "orig", scan($p), "binary_rune", (tobytes | scan($p)), "binary_byte", (tobytes | scan("ååå" | tobytes; "b"))
"cbbcåååccåååcbc"
@ -435,11 +507,15 @@ null> "å(?<n>å)(å)" as $p | "cbbcåååccåååcbc", "åååcbbc", "cbbcåå
"å"
]
"binary_rune"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| c3 a5 c3 a5 c3 a5 | ...... |.: raw bits 0x4-0x9.7 (6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| c3 a5 c3 a5| ....|.: raw bits 0xc-0x11.7 (6)
0x10|c3 a5 |.. |
"binary_byte"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| c3 a5 c3 a5 c3 a5 | ...... |.: raw bits 0x4-0x9.7 (6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| c3 a5 c3 a5| ....|.: raw bits 0xc-0x11.7 (6)
0x10|c3 a5 |.. |
"åååcbbc"
@ -449,8 +525,10 @@ null> "å(?<n>å)(å)" as $p | "cbbcåååccåååcbc", "åååcbbc", "cbbcåå
"å"
]
"binary_rune"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|c3 a5 c3 a5 c3 a5 |...... |.: raw bits 0x0-0x5.7 (6)
"binary_byte"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|c3 a5 c3 a5 c3 a5 |...... |.: raw bits 0x0-0x5.7 (6)
"cbbcååå"
"orig"
@ -459,7 +537,9 @@ null> "å(?<n>å)(å)" as $p | "cbbcåååccåååcbc", "åååcbbc", "cbbcåå
"å"
]
"binary_rune"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| c3 a5 c3 a5 c3 a5| | ......| |.: raw bits 0x4-0x9.7 (6)
"binary_byte"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| c3 a5 c3 a5 c3 a5| | ......| |.: raw bits 0x4-0x9.7 (6)
null> ^D

View File

@ -51,7 +51,7 @@ mp3> display({width: 30, depth: 1})
* |until 0x283| |
| | | footers[0:0]:
mp3> .frames[0] | dv({depth: 1, addrbase: 10})
| | |.frames[0]{}: frame (mp3_frame) 45-226.7 (182)
|00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15|0123456789012345|.frames[0]{}: frame (mp3_frame) 45-226.7 (182)
032| ff fb 40| ..@| header{}: 45-48.7 (4)
048|c0 |. |
048| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00| ...............| side_info{}: 49-65.7 (17)
@ -63,7 +63,7 @@ mp3> .frames[0] | dv({depth: 1, addrbase: 10})
224|00 00 00 |... |
| | | crc_calculated: "827a" (raw bits) 227-NA (0)
mp3> .frames[0] | dv({depth: 1, sizebase: 16})
| | |.frames[0]{}: frame (mp3_frame) 0x2d-0xe2.7 (0xb6)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.frames[0]{}: frame (mp3_frame) 0x2d-0xe2.7 (0xb6)
0x20| ff fb 40| ..@| header{}: 0x2d-0x30.7 (0x4)
0x30|c0 |. |
0x30| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00| ...............| side_info{}: 0x31-0x41.7 (0x11)
@ -76,7 +76,7 @@ mp3> .frames[0] | dv({depth: 1, sizebase: 16})
| | | crc_calculated: "827a" (raw bits) 0xe3-NA (0x0)
mp3> .frames[0].xing | "d", d, "da", da, "dd", dd, "dv", dv, "ddv", ddv
"d"
| | |.frames[0].xing{}: (xing)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.frames[0].xing{}: (xing)
0x40| 49 6e 66 6f | Info | header: "Info"
| | | present_flags{}:
0x40| 00 00 00 0f | .... | unused: 0
@ -162,7 +162,7 @@ mp3> .frames[0].xing | "d", d, "da", da, "dd", dd, "dv", dv, "ddv", ddv
0xd0| 62 f0 | b. | music_crc: 25328
0xd0| 5a 35 | Z5 | tag_crc: 23093
"da"
| | |.frames[0].xing{}: (xing)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.frames[0].xing{}: (xing)
0x40| 49 6e 66 6f | Info | header: "Info"
| | | present_flags{}:
0x40| 00 00 00 0f | .... | unused: 0
@ -297,7 +297,7 @@ mp3> .frames[0].xing | "d", d, "da", da, "dd", dd, "dv", dv, "ddv", ddv
0xd0| 62 f0 | b. | music_crc: 25328
0xd0| 5a 35 | Z5 | tag_crc: 23093
"dd"
| | |.frames[0].xing{}: (xing)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.frames[0].xing{}: (xing)
0x40| 49 6e 66 6f | Info | header: "Info"
| | | present_flags{}:
0x40| 00 00 00 0f | .... | unused: 0
@ -432,7 +432,7 @@ mp3> .frames[0].xing | "d", d, "da", da, "dd", dd, "dv", dv, "ddv", ddv
0xd0| 62 f0 | b. | music_crc: 25328
0xd0| 5a 35 | Z5 | tag_crc: 23093
"dv"
| | |.frames[0].xing{}: (xing) 0x42-0xdd.7 (156)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.frames[0].xing{}: (xing) 0x42-0xdd.7 (156)
0x40| 49 6e 66 6f | Info | header: "Info" 0x42-0x45.7 (4)
| | | present_flags{}: 0x46-0x49.7 (4)
0x40| 00 00 00 0f | .... | unused: 0 0x46-0x49.3 (3.4)
@ -567,7 +567,7 @@ mp3> .frames[0].xing | "d", d, "da", da, "dd", dd, "dv", dv, "ddv", ddv
0xd0| 62 f0 | b. | music_crc: 25328 0xda-0xdb.7 (2)
0xd0| 5a 35 | Z5 | tag_crc: 23093 0xdc-0xdd.7 (2)
"ddv"
| | |.frames[0].xing{}: (xing) 0x42-0xdd.7 (156)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.frames[0].xing{}: (xing) 0x42-0xdd.7 (156)
0x40| 49 6e 66 6f | Info | header: "Info" 0x42-0x45.7 (4)
| | | present_flags{}: 0x46-0x49.7 (4)
0x40| 00 00 00 0f | .... | unused: 0 0x46-0x49.3 (3.4)

View File

@ -144,7 +144,7 @@ $ fq -d mp3 '.frames | map(.header) | sort_by(.bitrate)' /test.mp3
}
]
$ fq -d mp3 '.frames | map(.header) | sort_by(.bitrate)[0]' /test.mp3
| | |.frames[0].header{}:
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.frames[0].header{}:
0x20| ff fb | .. | sync: 0b11111111111 (valid)
0x20| fb | . | mpeg_version: "1" (3) (MPEG Version 1)
0x20| fb | . | layer: 3 (1) (MPEG Layer 3)
@ -160,7 +160,7 @@ $ fq -d mp3 '.frames | map(.header) | sort_by(.bitrate)[0]' /test.mp3
0x30|c0 |. | original: 0
0x30|c0 |. | emphasis: "none" (0b0)
$ fq -d mp3 '.frames | map(.header) | min_by(.bitrate)' /test.mp3
| | |.frames[0].header{}:
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.frames[0].header{}:
0x20| ff fb | .. | sync: 0b11111111111 (valid)
0x20| fb | . | mpeg_version: "1" (3) (MPEG Version 1)
0x20| fb | . | layer: 3 (1) (MPEG Layer 3)
@ -176,7 +176,7 @@ $ fq -d mp3 '.frames | map(.header) | min_by(.bitrate)' /test.mp3
0x30|c0 |. | original: 0
0x30|c0 |. | emphasis: "none" (0b0)
$ fq -d mp3 '.frames | map(.header) | max_by(.bitrate)' /test.mp3
| | |.frames[2].header{}:
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.frames[2].header{}:
0x1b0| ff fb | .. | sync: 0b11111111111 (valid)
0x1b0| fb | . | mpeg_version: "1" (3) (MPEG Version 1)
0x1b0| fb | . | layer: 3 (1) (MPEG Layer 3)
@ -212,6 +212,7 @@ $ fq -d mp3 '.frames[0] | . + .header | keys, .bitrate' /test.mp3
"sync",
"xing"
]
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x20| 40| @|.frames[0].header.bitrate: 56000 (4)
$ fq -d mp3 '[.frames[0] | ., .header] | add | keys, .bitrate' /test.mp3
[
@ -234,4 +235,5 @@ $ fq -d mp3 '[.frames[0] | ., .header] | add | keys, .bitrate' /test.mp3
"sync",
"xing"
]
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x20| 40| @|.frames[0].header.bitrate: 56000 (4)

View File

@ -1,43 +1,70 @@
$ fq -i -d mp3 . /test.mp3
mp3> grep(44100, "ID", "^ID3$", "^ID.?$", "Info", "magic", "\u00ff", [0x49, 0x44])
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x20| 40| @|.frames[0].header.sample_rate: 44100 (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| 50 | P |.frames[1].header.sample_rate: 44100 (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x1b0| 52 | R |.frames[2].header.sample_rate: 44100 (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x1c0| 11 4b 36 4a 08 83 58 c9| .K6J..X.|.frames[2].data: raw bits
0x1d0|20 d4 29 52 98 c8 c8 f9 13 80 40 24 bc 91 23 42| .)R......@$..#B|
* |until 0x279.7 (178) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x40| 49 6e 66 6f | Info |.frames[0].xing.header: "Info"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
mp3> vgrep(44100, "ID", "^ID3$", "^ID.?$", "Info", "magic", "\u00ff", [0x49, 0x44])
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x20| 40| @|.frames[0].header.sample_rate: 44100 (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| 50 | P |.frames[1].header.sample_rate: 44100 (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x1b0| 52 | R |.frames[2].header.sample_rate: 44100 (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x40| 49 6e 66 6f | Info |.frames[0].xing.header: "Info"
mp3> fgrep(44100, "ID", "^ID3$", "^ID.?$", "Info", "magic", "\u00ff", [0x49, 0x44])
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
mp3> bgrep(44100, "ID", "^ID3$", "^ID.?$", "Info", "magic", "\u00ff", [0x49, 0x44])
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x1c0| 11 4b 36 4a 08 83 58 c9| .K6J..X.|.frames[2].data: raw bits
0x1d0|20 d4 29 52 98 c8 c8 f9 13 80 40 24 bc 91 23 42| .)R......@$..#B|
* |until 0x279.7 (178) | |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x40| 49 6e 66 6f | Info |.frames[0].xing.header: "Info"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
mp3> "64ff65ff66" | hex | bgrep("\u00ff"; "b")
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|64 ff 65 ff 66| |d.e.f| |.: raw bits 0x0-0x4.7 (5)
mp3> grep_by(. == 44100)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x20| 40| @|.frames[0].header.sample_rate: 44100 (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| 50 | P |.frames[1].header.sample_rate: 44100 (0)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x1b0| 52 | R |.frames[2].header.sample_rate: 44100 (0)
mp3> grep_by(format == "id3v2")
| | |.headers[0]{}: header (id3v2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.headers[0]{}: header (id3v2)
0x00|49 44 33 |ID3 | magic: "ID3" (valid)
0x00| 04 | . | version: 4
0x00| 00 | . | revision: 0

View File

@ -1,8 +1,11 @@
# ffmpeg -f lavfi -i sine -t 10ms test.mp3
$ fq -d mp3 '._bits[0:(16+8)*8] | hexdump' /test.mp3
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|49 44 33 04 00 00 00 00 00 23 54 53 53 45 00 00|ID3......#TSSE..|.: raw bits 0x0-0x17.7 (24)
0x10|00 0f 00 00 03 4c 61 76 |.....Lav |
$ fq -d mp3 '.frames[1].header.layer | hexdump' /test.mp3
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| fb | . |.: raw bits 0xe4.5-0xe4.6 (0.2)
$ fq -d mp3 '.frames[1].header.layer._bytes | hexdump' /test.mp3
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0xe0| fb | . |.: raw bits 0xe4.5-0xe4.6 (0.2)

View File

@ -56,6 +56,7 @@ null> [range(256)] | . as $b | tobytes | match($b) | ., (.string | hd)
"offset": 0,
"string": "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u007f\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd"
}
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|................|.: raw bits 0x0-0xff.7 (256)
0x010|10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f|................|
0x020|20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f| !"#$%&'()*+,-./|
@ -277,23 +278,31 @@ null> "å(?<n>å)(å)" as $p | "cbbcåååccåååcbc", "åååcbbc", "cbbcåå
null> "å(?<n>å)(å)" as $p | "cbbcåååccåååcbc", "åååcbbc", "cbbcååå" | ., "binary_rune", (tobytes | .[match($p; "g").offset:]), "binary_byte", (tobytes | .[match("ååå" | tobytes; "gb").offset:])
"cbbcåååccåååcbc"
"binary_rune"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| c3 a5 c3 a5 c3 a5 63 63 c3 a5 c3 a5| ......cc....|.: raw bits 0x4-0x14.7 (17)
0x10|c3 a5 63 62 63| |..cbc| |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| c3 a5 c3 a5| ....|.: raw bits 0xc-0x14.7 (9)
0x10|c3 a5 63 62 63| |..cbc| |
"binary_byte"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| c3 a5 c3 a5 c3 a5 63 63 c3 a5 c3 a5| ......cc....|.: raw bits 0x4-0x14.7 (17)
0x10|c3 a5 63 62 63| |..cbc| |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| c3 a5 c3 a5| ....|.: raw bits 0xc-0x14.7 (9)
0x10|c3 a5 63 62 63| |..cbc| |
"åååcbbc"
"binary_rune"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|c3 a5 c3 a5 c3 a5 63 62 62 63| |......cbbc| |.: raw bits 0x0-0x9.7 (10)
"binary_byte"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|c3 a5 c3 a5 c3 a5 63 62 62 63| |......cbbc| |.: raw bits 0x0-0x9.7 (10)
"cbbcååå"
"binary_rune"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| c3 a5 c3 a5 c3 a5| | ......| |.: raw bits 0x4-0x9.7 (6)
"binary_byte"
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| c3 a5 c3 a5 c3 a5| | ......| |.: raw bits 0x4-0x9.7 (6)
null> ^D

View File

@ -1,4 +1,5 @@
$ fq -n '"test" | tobytes'
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|74 65 73 74| |test| |.: raw bits 0x0-0x3.7 (4)
$ fq -n -o raw_output=true '"test" | tobytes'
test\

View File

@ -88,7 +88,7 @@ null> ^D
$ fq -d mp3 -i . /test.mp3
mp3> .frames[0] | slurp("f")
mp3> $f[]
| | |.frames[0]{}: frame (mp3_frame)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.frames[0]{}: frame (mp3_frame)
0x20| ff fb 40| ..@| header{}:
0x30|c0 |. |
0x30| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00| ...............| side_info{}:

View File

@ -3,23 +3,29 @@
$ fq -d mp3 '.headers[].frames[0].flags.unsync // 123' /test.mp3
123
$ fq -d mp3 '.headers[].frames[0].size // 123' /test.mp3
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00| 00 00| ..|.headers[0].frames[0].size: 15
0x10|00 0f |.. |
# test each in decoded order
$ fq -d mp3 '.headers[0][]' /test.mp3
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 04 | . |.headers[0].version: 4
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 00 | . |.headers[0].revision: 0
| | |.headers[0].flags{}:
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.headers[0].flags{}:
0x0| 00 | . | unsynchronisation: false
0x0| 00 | . | extended_header: false
0x0| 00 | . | experimental_indicator: false
0x0| 00 | . | unused: 0
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 00 00 00 23 | ...# |.headers[0].size: 35
| | |.headers[0].frames[0:1]:
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.headers[0].frames[0:1]:
0x00| 54 53 53 45 00 00| TSSE..| [0]{}: frame
0x10|00 0f 00 00 03 4c 61 76 66 35 38 2e 34 35 2e 31|.....Lavf58.45.1|
0x20|30 30 00 |00. |
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x20| 00 00 00 00 00 00 00 00 00 00 | .......... |.headers[0].padding: raw bits (all zero)
# TODO: proper buffer_root test
$ fq -d mp3 -i . /test.mp3
@ -240,9 +246,11 @@ mp3> todescription
mp3> topath
[]
mp3> ._bits
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|49 44 33 04 00 00 00 00 00 23 54 53 53 45 00 00|ID3......#TSSE..|.: raw bits 0x0-0x283.7 (644)
* |until 0x283.7 (end) (644) | |
mp3> ._bytes
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x000|49 44 33 04 00 00 00 00 00 23 54 53 53 45 00 00|ID3......#TSSE..|.: raw bits 0x0-0x283.7 (644)
* |until 0x283.7 (end) (644) | |
mp3> ._error

View File

@ -1,6 +1,6 @@
$ fq -i -d mp3 . /test.mp3
mp3> .headers | ., tovalue, type, length?
| | |.headers[0:1]:
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.headers[0:1]:
0x00|49 44 33 04 00 00 00 00 00 23 54 53 53 45 00 00|ID3......#TSSE..| [0]{}: header (id3v2)
* |until 0x2c.7 (45) | |
[
@ -42,7 +42,7 @@ mp3> .headers | ., tovalue, type, length?
"array"
1
mp3> .headers[0] | ., type, length?
| | |.headers[0]{}: header (id3v2)
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.headers[0]{}: header (id3v2)
0x00|49 44 33 |ID3 | magic: "ID3" (valid)
0x00| 04 | . | version: 4
0x00| 00 | . | revision: 0
@ -163,12 +163,14 @@ mp3> .headers._path | ., type, length?
"array"
1
mp3> .headers._bits | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|49 44 33 04 00 00 00 00 00 23 54 53 53 45 00 00|ID3......#TSSE..|.: raw bits 0x0-0x2c.7 (45)
* |until 0x2c.7 (45) | |
"binary"
360
mp3>
mp3> .headers._bytes | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x00|49 44 33 04 00 00 00 00 00 23 54 53 53 45 00 00|ID3......#TSSE..|.: raw bits 0x0-0x2c.7 (45)
* |until 0x2c.7 (45) | |
"binary"

View File

@ -1,5 +1,6 @@
$ fq -i -d mp3 . /test.mp3
mp3> .headers[0].flags.unsynchronisation | ., tovalue, type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 00 | . |.headers[0].flags.unsynchronisation: false
false
"boolean"
@ -69,11 +70,13 @@ mp3> .headers[0].flags.unsynchronisation._path | ., type, length?
"array"
4
mp3> .headers[0].flags.unsynchronisation._bits | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 00 | . |.: raw bits 0x5-0x5 (0.1)
"binary"
1
mp3>
mp3> .headers[0].flags.unsynchronisation._bytes | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 00 | . |.: raw bits 0x5-0x5 (0.1)
"binary"
0

View File

@ -79,11 +79,13 @@ json> (.)._path | ., type, length?
"array"
0
json> (.)._bits | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|5b 5d| |[]| |.: raw bits 0x0-0x1.7 (2)
"binary"
16
json>
json> (.)._bytes | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|5b 5d| |[]| |.: raw bits 0x0-0x1.7 (2)
"binary"
2

View File

@ -69,11 +69,13 @@ json> (.)._path | ., type, length?
"array"
0
json> (.)._bits | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|7b 7d| |{}| |.: raw bits 0x0-0x1.7 (2)
"binary"
16
json>
json> (.)._bytes | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|7b 7d| |{}| |.: raw bits 0x0-0x1.7 (2)
"binary"
2

View File

@ -1,5 +1,6 @@
$ fq -i -d mp3 . /test.mp3
mp3> .headers[0].padding | ., tovalue, type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x20| 00 00 00 00 00 00 00 00 00 00 | .......... |.headers[0].padding: raw bits (all zero)
"<10>AAAAAAAAAAAAAA=="
"string"
@ -81,11 +82,13 @@ mp3> .headers[0].padding._path | ., type, length?
"array"
3
mp3> .headers[0].padding._bits | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x20| 00 00 00 00 00 00 00 00 00 00 | .......... |.: raw bits 0x23-0x2c.7 (10)
"binary"
80
mp3>
mp3> .headers[0].padding._bytes | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x20| 00 00 00 00 00 00 00 00 00 00 | .......... |.: raw bits 0x23-0x2c.7 (10)
"binary"
10

View File

@ -1,5 +1,6 @@
$ fq -i -d mp3 . /test.mp3
mp3> .headers[0].version | ., tovalue, type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 04 | . |.headers[0].version: 4
4
"number"
@ -69,11 +70,13 @@ mp3> .headers[0].version._path | ., type, length?
"array"
3
mp3> .headers[0].version._bits | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 04 | . |.: raw bits 0x3-0x3.7 (1)
"binary"
8
mp3>
mp3> .headers[0].version._bytes | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 04 | . |.: raw bits 0x3-0x3.7 (1)
"binary"
1

View File

@ -1,6 +1,6 @@
$ fq -i -d mp3 . /test.mp3
mp3> .headers[0].flags | ., tovalue, type, length?
| | |.headers[0].flags{}:
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|.headers[0].flags{}:
0x0| 00 | . | unsynchronisation: false
0x0| 00 | . | extended_header: false
0x0| 00 | . | experimental_indicator: false
@ -86,11 +86,13 @@ mp3> .headers[0].flags._path | ., type, length?
"array"
3
mp3> .headers[0].flags._bits | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 00 | . |.: raw bits 0x5-0x5.7 (1)
"binary"
8
mp3>
mp3> .headers[0].flags._bytes | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0| 00 | . |.: raw bits 0x5-0x5.7 (1)
"binary"
1

View File

@ -1,5 +1,6 @@
$ fq -i -d mp3 . /test.mp3
mp3> .headers[0].magic | ., tovalue, type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.headers[0].magic: "ID3" (valid)
"ID3"
"string"
@ -81,11 +82,13 @@ mp3> .headers[0].magic._path | ., type, length?
"array"
3
mp3> .headers[0].magic._bits | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.: raw bits 0x0-0x2.7 (3)
"binary"
24
mp3>
mp3> .headers[0].magic._bytes | ., type, length?
|00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f|0123456789abcdef|
0x0|49 44 33 |ID3 |.: raw bits 0x0-0x2.7 (3)
"binary"
3