【问题标题】:H264 packets from p2p wifi spy camera来自 p2p wifi 间谍相机的 H264 数据包
【发布时间】: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


【解决方案1】:

网络转储分析:

  1. 每个数据包都有从摄像头源发送的冗余/重复数据包。

  2. 在 H.264 数据开始之前有一个 9 字节的标头 - 需要进一步分析(libZGP2PComm.so - Peer 2 Peer 通信) - 可以是专有协议。

  3. 所有视频包(00 00 00 01 NALU 数据)都有起始码。

  4. SPS 和 PPS 视频数据也可用于视频解码。

我会根据进一步分析更新答案。

【讨论】:

  • 谢谢,我等着看我们最终会做什么。请记住,它们不仅可以传输视频,还可以传输音频。
  • 音频数据以单独的数据包(较小的数据包)传输。最有可能是 pcm 数据。
  • 我剪切了前 24 个字节并将其余字节合并到一个文件中。在我删除所有内容直到第一个 00000067 并制作文件二进制文件之后。它与 VLC 和 h264 解复用器偏好 d 配合得很好。所以我认为前 23 个字节是某些东西的标题。需要更多调查。
【解决方案2】:

我有一个非常相似的相机,它使用相同的端口,并且 android 应用程序使用该库。 阅读手册它说有一个 PC 应用程序并且它与 VLC 兼容,但它没有提供详细信息。 寻找适用于 PC 的应用程序我说要下载 http://112.124.40.254:808/PCTools.zip,在谷歌中寻找那个我总是得到相同的 ip,但那个 ip 没有响应。 (另一个谈论它们的链接 https://support.titathink.com/knowledgebase/hdminicam-app-cant-be-found-on-app-store/) 我想如果我们可以看到 Windows 应用程序,我们可以看到一些其他配置来了解它是如何连接的。

【讨论】:

  • 更新,这是应用程序 windows 和 mac support.titathink.com/downloads/software/pctools.zip 但尝试添加相机并连接并显示错误密码 (youtube.com/watch?v=r-sPJR0zleE)
  • 感谢您的回复。我没有windows只有linux。我记得我可以读取大网络数据包并加入它们,我可以观看视频,但我找不到启动相机传输的命令。我记得中国人说过他们会为它重新申请,你读过什么吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多