使用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..

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...