gpt4 book ai didi

visual-c++ - 如何在 Visual Studio C++ 中使用 LibVLC 通过网络流式传输存储在内存缓冲区中的原始图像数据?

转载 作者:太空宇宙 更新时间:2023-11-03 21:04:13 25 4
gpt4 key购买 nike

因为我的目标是:

  1. 使用 LibVLC 从 IP 摄像机流式传输视频
  2. 使用 OpenCV 处理视频
  3. 然后使用 LibVLC 通过网络重新流式传输处理后的视频/图像,以便其他连接的客户端可以实时看到处理后的视频/图像(无需先将视频/图像存储到磁盘)。

我已经成功完成了前两个任务,但现在我想通过网络从内存缓冲区流式传输处理过的视频/图像作为源,内存缓冲区是一个 iplimage 变量,它可以是 Mat 变量。因此,如果有人知道如何使用 libvlc 流式传输此类原始数据,请帮忙,或者为我指明正确的方向或示例代码或链接。将不胜感激..!

最佳答案

尝试 imem ,那么你可以使用内存输入作为流源。通过实现模块的 get-release 回调,您可以指向缓冲区的位置并设置解码演示时间戳的值。以下是 get 和 release 的原型(prototype):

    int imemGetCallback(void *userdata, const char* cookie, int64_t *dts, int64_t *pts, unsigned *flags, size_t *bufferSize, void **buffer);
int imemReleaseCallback(void *data, const char *cookie, size_t bufferSize, void *buffer);

关于visual-c++ - 如何在 Visual Studio C++ 中使用 LibVLC 通过网络流式传输存储在内存缓冲区中的原始图像数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055046/

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