如何解决使用C ++ / Qt解码从TCPReplay收到的视频数据包
我有一个包含编码视频数据的PCAP文件。我正在使用TCPReplay将此PCAP数据广播到我的服务器,在那里我编写了QT UDP套接字程序来成功接收这些数据包并将其数据存储在QByteArray
中。
在这里,我正在使用PCAP文件和TCPReplay作为模拟器。实际上,这些数据包将从其他进程/服务器接收。
问题:
我想解码这些收到的数据包。
-
如何在C ++ / Qt中解码这些数据包?
-
要使用什么数据结构?我需要使用任何FFMPEG或Gstreamer API吗?
我是视频解码的新手,请提供一些示例代码详细说明答案。
这些是我的传入字节:
00 0C 29 02 E2 F7 04 91 62 CA 68 51 08 00 45 00 05 BA 00 00 00 00 80 11 5F F4 0A 00 02 0F C0 A8 08 88 C3 51 C3 51 05 A6 00 00 54 50 54 82 00 00 40 01 01 01 05 88 91 5A FB 3B 37 90 CD C7 11 35 56 03 20 20 02 0B E2 00 0A 80 08 00 09 80 08 00 08 64 64 64 06 00 00 00 00 00 00 00 00 00 00 00 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 F8 02 00 00 00 00 00 00 04 00 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 FF FF 64 64 64 64 64 64 AC E1 00 00 00 00 00 66 00 01 5C 80 FF 80 80 FF 00 01 80 80 FF 80 80 FF 00 02 5C 33 00 00 00 00 00 01 64 64 64 64 64 64 03 EB 00 FF 00 00 FF 00 00 04 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 0D 00 00 66 5C 80 FF 00 01 80 80 B6 33 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 03 DC 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 03 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 0E 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 03 DC 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 03 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 01 1D 48 DB 80 80 FF 00 01 80 80 FF 80 80 FF 00 01 80 80 FF 80 80 B6 00 01 33 00 3A 48 6E FF 00 01 80 80 FF 6E 48 3A 00 01 00 00 3A 48 6E FF 00 01 80 80 FF 6E 48 3A 00 01 00 00 66 5C 80 FF 00 01 80 80 FF 80 80 FF 00 01 80 80 FF 5C 33 00 00 01 00 00 66 5C 80 FF 00 01 80 80 FF 80 80 FF 00 02 80 80 B6 5C 5C FF 00 01 80 80 FF 80 80 FF 00 01 80 80 B6 33 00 00 00 01 00 00 66 5C 80 FF 00 01 80 80 FF 80 80 FF 00 01 80 80 FF 80 5C 66 00 01 00 00 00 00 33 B6 00 01 80 80 FF 80 80 FF 00 01 80 80 FF 80 6E 90 00 01 1D 00 00 00 00 00 00 01 64 64 64 64 64 64 03 D5 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 03 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 FF 00 01 80 80 FF 80 80 FF 00 01 80 80 FF 80 5C 66 00 01 64 64 64 64 64 64 00 02 1D 48 DB 80 80 FF 00 01 6E 48 3A 00 1D 90 00 01 6E 80 FF 80 6E 90 00 01 1D 1D 90 6E 80 FF 00 01 80 80 B6 33 00 3A 00 01 48 6E FF 80 80 FF 00 01 6E 48 3A 00 00 66 00 01 5C 80 FF 80 80 DB 00 01 48 1D 66 5C 80 FF 00 01 80 80 FF 5C 33 00 00 01 00 00 66 5C 80 FF 00 01 80 80 B6 33 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 3A 00 01 48 6E FF 80 80 DB 00 01 48 1D 00 00 00 00 00 01 33 5C FF 80 80 FF 00 01 6E 48 66 48 6E FF 00 01 80 80 DB 48 1D 00 00 01 33 5C FF 80 80 FF 00 01 6E 48 3A 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 02 05 17 00 01 64 64 64 64 64 64 03 C9 00 FF 00 00 00 00 00 01 FF FF 00 FF FF 00 00 02 FF FF 00 00 00 00 00 01 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 01 00 00 3A 48 6E FF 00 01 80 80 FF 80 80 FF 00 02 6E 48 3A 00 00 3A 00 01 48 6E FF 80 80 FF 00 01 80 80 FF 80 80 FF 00 01 80 5C 66 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 1D 48 DB 80 80 FF 00 01 6E 48 90 5C 80 FF 00 01 80 80 B6 33 00 00 00 01 00 00 66 5C 80 FF 00 01 80 80 B6 33 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 66 00 01 5C 80 FF 80 80 FF 00 01 80 80 FF 80 80 FF 00 02 80 5C 66 33 5C FF 00 01 80 80 FF 80 80 FF 00 01 80 6E 90 1D 00 00 00 01 64 64 64 64 64 64 00 0C 00 00 00 02 05 17 00 01 02 04 13 00 01 05 00 01 64 64 64 64 64 64 03 C8 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 03 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 00 00 00 00 00 3A 00 01 48 6E FF 80 80 FF 00 01 5C 33 00 00 00 00 00 01 1D 48 DB 80 80 FF 00 01 6E 48 3A 00 00 00 00 01 1D 48 DB 80 80 FF 00 01 80 80 FF 80 80 DB 00 01 48 1D 00 00 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 1D 48 DB 80 80 FF 00 01 6E 48 90 5C 80 FF 00 01 80 80 B6 33 00 00 00 01 00 00 66 5C 80 FF 00 01 80 80 B6 33 00 66 00 01 5C 80 FF 80 80 B6 00 01 33 00 00 00 1D 90 00 01 6E 80 FF 80 80 B6 00 01 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 02 00 00 00 00 33 B6 00 01 80 80 FF 80 80 FF 00 01 80 5C 66 00 00 00 00 01 64 64 64 64 64 64 00 0B 00 00 00 02 05 17 00 01 E5 E6 E8 02 04 13 00 01 64 64 64 64 64 64 03 C8 00 FF 00 00 00 00 00 01 64 64 64 64 64 64 00 03
下面是从Wireshark复制的十六进制视图:
0000 00 0c 29 02 e2 f7 04 91 62 ca 68 51 08 00 45 00 ..).....b.hQ..E.
0010 05 ba 00 00 00 00 80 11 5f f4 0a 00 02 0f c0 a8 ........_.......
0020 08 88 c3 51 c3 51 05 a6 00 00 54 50 54 82 00 00 ...Q.Q....TPT...
0030 40 01 01 01 05 88 91 5a fb 3b 37 90 cd c7 11 35 @......Z.;7....5
0040 56 03 20 20 02 0b e2 00 0a 80 08 00 09 80 08 00 V. ............
0050 08 64 64 64 06 00 00 00 00 00 00 00 00 00 00 00 .ddd............
0060 64 64 64 64 64 64 ff ff 64 64 64 64 64 64 ff ff dddddd..dddddd..
0070 64 64 64 64 64 64 f8 02 00 00 00 00 00 00 04 00 dddddd..........
0080 64 64 64 64 64 64 ff ff 64 64 64 64 64 64 ff ff dddddd..dddddd..
0090 64 64 64 64 64 64 ff ff 64 64 64 64 64 64 ff ff dddddd..dddddd..
00a0 64 64 64 64 64 64 ff ff 64 64 64 64 64 64 ff ff dddddd..dddddd..
00b0 64 64 64 64 64 64 ac e1 00 00 00 00 00 66 00 01 dddddd.......f..
00c0 5c 80 ff 80 80 ff 00 01 80 80 ff 80 80 ff 00 02 \...............
00d0 5c 33 00 00 00 00 00 01 64 64 64 64 64 64 03 eb \3......dddddd..
00e0 00 ff 00 00 ff 00 00 04 00 ff 00 00 00 00 00 01 ................
00f0 64 64 64 64 64 64 00 0b 00 00 00 00 00 66 00 01 dddddd.......f..
0100 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 00 00 01 \.......3.......
0110 64 64 64 64 64 64 00 0d 00 00 66 5c 80 ff 00 01 dddddd....f\....
0120 80 80 b6 33 00 66 00 01 5c 80 ff 80 80 b6 00 01 ...3.f..\.......
0130 33 00 00 00 00 00 00 01 64 64 64 64 64 64 03 dc 3.......dddddd..
0140 00 ff 00 00 00 00 00 01 64 64 64 64 64 64 00 03 ........dddddd..
0150 00 ff 00 00 00 00 00 01 64 64 64 64 64 64 00 0b ........dddddd..
0160 00 00 00 00 00 66 00 01 5c 80 ff 80 80 b6 00 01 .....f..\.......
0170 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 0e 3.......dddddd..
0180 00 00 00 00 00 66 00 01 5c 80 ff 80 80 b6 00 01 .....f..\.......
0190 33 00 00 00 00 00 00 01 64 64 64 64 64 64 03 dc 3.......dddddd..
01a0 00 ff 00 00 00 00 00 01 64 64 64 64 64 64 00 03 ........dddddd..
01b0 00 ff 00 00 00 00 00 01 64 64 64 64 64 64 00 0b ........dddddd..
01c0 00 00 00 00 00 66 00 01 5c 80 ff 80 80 b6 00 01 .....f..\.......
01d0 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 01 3.......dddddd..
01e0 1d 48 db 80 80 ff 00 01 80 80 ff 80 80 ff 00 01 .H..............
01f0 80 80 ff 80 80 b6 00 01 33 00 3a 48 6e ff 00 01 ........3.:Hn...
0200 80 80 ff 6e 48 3a 00 01 00 00 3a 48 6e ff 00 01 ...nH:....:Hn...
0210 80 80 ff 6e 48 3a 00 01 00 00 66 5c 80 ff 00 01 ...nH:....f\....
0220 80 80 ff 80 80 ff 00 01 80 80 ff 5c 33 00 00 01 ...........\3...
0230 00 00 66 5c 80 ff 00 01 80 80 ff 80 80 ff 00 02 ..f\............
0240 80 80 b6 5c 5c ff 00 01 80 80 ff 80 80 ff 00 01 ...\\...........
0250 80 80 b6 33 00 00 00 01 00 00 66 5c 80 ff 00 01 ...3......f\....
0260 80 80 ff 80 80 ff 00 01 80 80 ff 80 5c 66 00 01 ............\f..
0270 00 00 00 00 33 b6 00 01 80 80 ff 80 80 ff 00 01 ....3...........
0280 80 80 ff 80 6e 90 00 01 1d 00 00 00 00 00 00 01 ....n...........
0290 64 64 64 64 64 64 03 d5 00 ff 00 00 00 00 00 01 dddddd..........
02a0 64 64 64 64 64 64 00 03 00 ff 00 00 00 00 00 01 dddddd..........
02b0 64 64 64 64 64 64 00 0b 00 00 00 00 00 66 00 01 dddddd.......f..
02c0 5c 80 ff 80 80 ff 00 01 80 80 ff 80 80 ff 00 01 \...............
02d0 80 80 ff 80 5c 66 00 01 64 64 64 64 64 64 00 02 ....\f..dddddd..
02e0 1d 48 db 80 80 ff 00 01 6e 48 3a 00 1d 90 00 01 .H......nH:.....
02f0 6e 80 ff 80 6e 90 00 01 1d 1d 90 6e 80 ff 00 01 n...n......n....
0300 80 80 b6 33 00 3a 00 01 48 6e ff 80 80 ff 00 01 ...3.:..Hn......
0310 6e 48 3a 00 00 66 00 01 5c 80 ff 80 80 db 00 01 nH:..f..\.......
0320 48 1d 66 5c 80 ff 00 01 80 80 ff 5c 33 00 00 01 H.f\.......\3...
0330 00 00 66 5c 80 ff 00 01 80 80 b6 33 00 66 00 01 ..f\.......3.f..
0340 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 3a 00 01 \.......3....:..
0350 48 6e ff 80 80 db 00 01 48 1d 00 00 00 00 00 01 Hn......H.......
0360 33 5c ff 80 80 ff 00 01 6e 48 66 48 6e ff 00 01 3\......nHfHn...
0370 80 80 db 48 1d 00 00 01 33 5c ff 80 80 ff 00 01 ...H....3\......
0380 6e 48 3a 00 00 00 00 01 64 64 64 64 64 64 00 0b nH:.....dddddd..
0390 00 00 00 02 05 17 00 01 64 64 64 64 64 64 03 c9 ........dddddd..
03a0 00 ff 00 00 00 00 00 01 ff ff 00 ff ff 00 00 02 ................
03b0 ff ff 00 00 00 00 00 01 00 ff 00 00 00 00 00 01 ................
03c0 64 64 64 64 64 64 00 0b 00 00 00 00 00 66 00 01 dddddd.......f..
03d0 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 00 00 01 \.......3.......
03e0 64 64 64 64 64 64 00 01 00 00 3a 48 6e ff 00 01 dddddd....:Hn...
03f0 80 80 ff 80 80 ff 00 02 6e 48 3a 00 00 3a 00 01 ........nH:..:..
0400 48 6e ff 80 80 ff 00 01 80 80 ff 80 80 ff 00 01 Hn..............
0410 80 5c 66 00 00 66 00 01 5c 80 ff 80 80 b6 00 01 .\f..f..\.......
0420 33 00 00 00 00 00 00 01 1d 48 db 80 80 ff 00 01 3........H......
0430 6e 48 90 5c 80 ff 00 01 80 80 b6 33 00 00 00 01 nH.\.......3....
0440 00 00 66 5c 80 ff 00 01 80 80 b6 33 00 66 00 01 ..f\.......3.f..
0450 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 66 00 01 \.......3....f..
0460 5c 80 ff 80 80 ff 00 01 80 80 ff 80 80 ff 00 02 \...............
0470 80 5c 66 33 5c ff 00 01 80 80 ff 80 80 ff 00 01 .\f3\...........
0480 80 6e 90 1d 00 00 00 01 64 64 64 64 64 64 00 0c .n......dddddd..
0490 00 00 00 02 05 17 00 01 02 04 13 00 01 05 00 01 ................
04a0 64 64 64 64 64 64 03 c8 00 ff 00 00 00 00 00 01 dddddd..........
04b0 64 64 64 64 64 64 00 03 00 ff 00 00 00 00 00 01 dddddd..........
04c0 64 64 64 64 64 64 00 0b 00 00 00 00 00 66 00 01 dddddd.......f..
04d0 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 00 00 01 \.......3.......
04e0 00 00 00 00 00 3a 00 01 48 6e ff 80 80 ff 00 01 .....:..Hn......
04f0 5c 33 00 00 00 00 00 01 1d 48 db 80 80 ff 00 01 \3.......H......
0500 6e 48 3a 00 00 00 00 01 1d 48 db 80 80 ff 00 01 nH:......H......
0510 80 80 ff 80 80 db 00 01 48 1d 00 00 00 66 00 01 ........H....f..
0520 5c 80 ff 80 80 b6 00 01 33 00 00 00 00 00 00 01 \.......3.......
0530 1d 48 db 80 80 ff 00 01 6e 48 90 5c 80 ff 00 01 .H......nH.\....
0540 80 80 b6 33 00 00 00 01 00 00 66 5c 80 ff 00 01 ...3......f\....
0550 80 80 b6 33 00 66 00 01 5c 80 ff 80 80 b6 00 01 ...3.f..\.......
0560 33 00 00 00 1d 90 00 01 6e 80 ff 80 80 b6 00 01 3.......n.......
0570 33 00 00 00 00 00 00 01 64 64 64 64 64 64 00 02 3.......dddddd..
0580 00 00 00 00 33 b6 00 01 80 80 ff 80 80 ff 00 01 ....3...........
0590 80 5c 66 00 00 00 00 01 64 64 64 64 64 64 00 0b .\f.....dddddd..
05a0 00 00 00 02 05 17 00 01 e5 e6 e8 02 04 13 00 01 ................
05b0 64 64 64 64 64 64 03 c8 00 ff 00 00 00 00 00 01 dddddd..........
05c0 64 64 64 64 64 64 00 03 dddddd..
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。