【发布时间】:2020-02-28 10:17:19
【问题描述】:
我有 2 个 p2p wifi 间谍相机模块。他们在本地局域网内工作,但不在外面,因为他们使用的服务器存在问题。它们通过适用于 Android 的 BVCAM 或适用于 Windows 和 IOS 的类似设备工作,但不适用于 Linux。我试图了解它们的工作方式并将它们与 Linux 一起使用。我试图用葡萄酒工作 BVCAM 也没有成功,他们也没有网络界面。 摄像头模组为FH-W1 V1.1,wifi芯片88W8801来自Fullhan,DSP BL-R8801来自必联电子。他们没有数据表。 我用wireshark捕获局域网内的UDP数据包,并尝试了解它们与APP通信的方式。据我了解,他们交换一些小数据包进行通信,并在相机发送更大的数据包之后。我认为它们是视频流。它不是 RTP,它是字节流,我想理解它并解码它。我发布了第一个“大”数据包(我已经删除了 eth 和 ip 标头),我将 udp 标头的前 8 个字节从第 9 个 0x03 开始,之后我认为是流
c002bebf0078c8a40的 03 强> 006a010100000001000000d82000004a01000045010000010000004001f000705a0d0003000001a000000001419a0006000c233f0378aa3c658b4c96d4c46a3b5e8ae077097cc1de446be78425c892df1088882bf3fd2eb02b1446b5e61fc46df7f99566286cbdd572c0be7137ce6a377472e4a18be26feded27666fd40ddfe8568c3dcbe846d698843f1b74cfd6d716c6f52864c3ae66895e7d5d62ba7628e869f1cbdc185c97fc2c002a0ffe2fe546cd0a9f914a6fa8ff97d8ca0f313d0fa0d955c979be97aed6a7489e36ea8b99eb50cb1e67a4431bc1a4e0d1cbb91544297aafe69b64c5a4f6067bd4d55328ab638f110a0a4242153459d7f433ede364f62af0fcf78c62d5fc3e56742eb48320c7a542cfba9406c7ced098268c5c49364cb5b42c00aaceb8ccf837c41a2b88188691363917d6742e362cb4a9770bbefa8bb267bddc302e50fd344b147b879f98985aaf144099b04aa88ce474c3fe5c1075f3f2b06e7c9939ece598859ac0 P>
在两个设备端口 10210 和 17900 交换的小数据包,来自相机的 49154 的流和来自手机的 49000 附近的随机端口。
我认为相机和应用程序之间交换的小数据包是为了让设备“相互见面”,并且在来自 APP 的一些 ACKS 之后,相机将继续传输,否则它会停止传输。我认为如果我们在之后解码流很容易复制消息并使用应用程序发送它们。
我的问题是
有人可以帮我理解中国人使用的协议吗? NAL 开始的地方等。我已经反编译了 APP,我在一个函数中看到了 H264/AVC,但他们使用 libZGP2PComm.so 用于 Android 的 c lib 进行主要解码。 还有声音,所以我想mp4流。 请原谅我糟糕的英语。我也是计算机技术员,但不是程序员。
【问题讨论】:
-
你能分享一下pcap文件(只有几个包)吗?如果没有,您可以检查 H.264 起始码(3 或 4 字节)00 00 01 SPS 00 00 01 PPS 00 00 01 NALU。
-
你看到消息中的第一个数据包,起始码是可见的 00 00 00 01 但在后面是 00。所有其他数据包都是相同的动机。
-
查看此链接:ispyconnect.com/man.aspx?n=Bvcam。它说它支持基于 RTSP 的流媒体。
-
感谢您的建议。我之前试过没有用。相机需要获取一些 udp 消息才能开始传输。你认为我捕获的数据包是 ASF 格式吗?我没有 Windows 只有 Linux。
-
另外我认为他们不会传输同步数据,如 bps、高度等,因为它们是固定的,并且在最后一步通过他们的应用程序将它们传递给 android 解码器。
标签: android linux reverse-engineering h.264 bytestream