我有2个p2p wifi间谍相机模块。它们在本地局域网内工作,但不在外部局域网内工作,因为它们使用的服务器存在问题。它们通过适用于Android的BVCAM或适用于Windows和IOS的BVCAM进行工作,但不适用于Linux。我尝试了解它们的工作方式,并在Linux中使用它们。我尝试将BVCAM与wine一起使用时没有成功,而且它们没有Web界面。 摄像头模块为FH-W1 V1.1,带有Fullhan的WiFi芯片88W8801和Bilian Electronics的DSP BL-R8801。有适用于他们的数据表。 我使用Wireshark捕获了LAN内的UDP数据包,并试图了解它们与APP通信的方式。据我了解,它们交换一些小数据包进行通信,然后相机发送更大的数据包。我认为它们是视频流。它不是RTP,而是字节流,我想了解它并对其进行解码。我发布了第一个“大”数据包(我已经删除了eth和ip标头),我从udp标头的第8个字节(从第9个0x03开始)离开了,然后我认为是流
c002bebf0078c8a40的 03 006a010100000001000000d82000004a01000045010000010000004001f000705a0d0003000001a000000001419a0006000c233f0378aa3c658b4c96d4c46a3b5e8ae077097cc1de446be78425c892df1088882bf3fd2eb02b1446b5e61fc46df7f99566286cbdd572c0be7137ce6a377472e4a18be26feded27666fd40ddfe8568c3dcbe846d698843f1b74cfd6d716c6f52864c3ae66895e7d5d62ba7628e869f1cbdc185c97fc2c002a0ffe2fe546cd0a9f914a6fa8ff97d8ca0f313d0fa0d955c979be97aed6a7489e36ea8b99eb50cb1e67a4431bc1a4e0d1cbb91544297aafe69b64c5a4f6067bd4d55328ab638f110a0a4242153459d7f433ede364f62af0fcf78c62d5fc3e56742eb48320c7a542cfba9406c7ced098268c5c49364cb5b42c00aaceb8ccf837c41a2b88188691363917d6742e362cb4a9770bbefa8bb267bddc302e50fd344b147b879f98985aaf144099b04aa88ce474c3fe5c1075f3f2b06e7c9939ece598859ac0
在设备端口10210和17900交换的小数据包,来自摄像头的49154的流和来自移动电话的49000附近的随机端口进行交换。 我认为在相机和应用程序之间交换的小数据包是用于“彼此相遇”的设备,并且在APP发出一些ACK之后,相机将继续传输,否则它将停止传输。我认为,如果我们对流进行解码之后,复制消息并使用应用程序发送消息很简单。 我的问题是 有人可以帮助我了解中文使用的协议吗? NAL的起始位置等。我已经对APP进行了反编译,并且看到了H264 / AVC的一个功能,但主要解码是使用libZGP2PComm.so来完成的,因此是Android的c lib。
也有声音,所以我想到了mp4流。
请原谅我可怜的英语。还是计算机技术员,但没有程序员。
答案 0 :(得分:0)
网络转储分析:
每个数据包都有从摄像机源发送的冗余/重复数据包。
H.264数据开始前有9个字节的标头-需要进一步分析(libZGP2PComm.so-Peer 2 Peer通信)-可以是专有协议。
所有视频数据包(00 00 00 01 NALU数据)都有起始代码。
SPS和PPS视频数据也可用于视频解码。
我将根据进一步的分析来更新答案。
答案 1 :(得分:0)
我有一个非常相似的相机,它使用相同的端口,而android应用程序使用该库。 阅读该手册时,它表示存在PC应用程序,并且与VLC兼容,但未提供详细信息。 寻找PC的应用程序时,我说要下载,在google中寻找,我总是得到相同的IP,但是该IP没有响应。 (另一个讨论他们的链接 http://112.124.40.254:808/PCTools.zip) 我认为,如果我们可以看到Windows应用程序,那么我们可以看到其他配置来查看其连接方式。