0

有什么方法可以读取 RTP 数据包(将通过预先构建的 tcp 连接从服务器发送)并对其进行解码以创建要显示的 h264 流?数据将作为字符缓冲区发送/接收,但可以在接收时轻松更改/转换。不幸的是,我还没有在 OpenCV 中看到这样做的方法。

编辑:在openCV(读取)中不需要这样做,但一旦解码,它需要能够被openCV数据类型(Mat/IplImage)接收。我记得看到一个关于创建流的,并且会尝试再次找到它,但是有谁知道一种从每个数据包创建单个帧的方法?

4

1 回答 1

0

您将需要针对您的特定流的 RTP depayloader。

RTP(针对 UDP - 即:面向数据包的协议)在数据包(传输时)和帧之间没有 1:1 映射。大多数情况下,单个帧将通过多个数据包传输(以太网帧(不要与您的图像帧混淆)通常限制为大约 1500 字节,这只会产生很小的图像......)

将有效负载块拆分和重新组装到网络数据包中是 RTP 的任务payloaderdepayloader.

最简单的方法可能是通过gstreamer,它已经为 h.264 提供(de)payloaders

于 2013-06-17T13:13:34.617 回答