gpt4 book ai didi

c++ - 在 Windows 上通过 Live555 服务实时 OpenCV H.264 流

转载 作者:太空宇宙 更新时间:2023-11-03 22:16:08 27 4
gpt4 key购买 nike

这是全新的!正如标题所说,我正在尝试使用从网络摄像头捕获的 H.264 通过 Live555 提供来自 OpenCV 的流。

我试过类似的方法:

 #define LOCALADDRESS "rtsp://localhost:8081"   // Address media is served
#define FOURCCCODEC CV_FOURCC('H','2','6','4') // H.264 codec
#define FPS 25 // Frame rate things run at
m_writer = cvCreateVideoWriter(LOCALADDRESS, FOURCCCODEC, FPS, cvSize(VIDEOWIDTH, VIDEOHEIGHT));

读取 rtsp 流的方法类似:

CvCapture *capture = cvCreateFileCapture(LOCALADDRESS);

这不起作用,所以我转向 Live555。如何将以 H.264 编码的 CvCapture 提供给 Live555 提供服务?似乎没有一种直接的方式来提供一个字节流到另一个字节流,或者我可能遗漏了一些东西。

最佳答案

我真的不知道有什么直接的方法;肯定不会在少于几百行代码的情况下发生任何事情。

我假设您想使用点播 RTSP 服务器(这是服务器就在那里,等待客户端连接,然后在客户端建立连接并发出请求时开始流式传输) ?如果是这样,this item in the Live555 FAQ applies .

However, Live555 is a weird (possibly misguided?) library ,所以不幸的是它比这更复杂一点。 Live555 使用带有事件循环的单线程操作,所以您要做的是将原始字节流插入缓冲区或队列,然后在用于流式传输 H.264 的子 session 类中,您将检查并查看是否队列中有可用数据,如果有,则将其传递。如果没有,请在几毫秒后安排另一次检查。在将它们传递给 live555 之前,您还需要去除任何 NALU 标识符。

关于c++ - 在 Windows 上通过 Live555 服务实时 OpenCV H.264 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6589474/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com