2012-12-27 20 views
3

作为我的目标是:在使用LibVLC 如何在Visual Studio C++中使用LibVLC通过网络传输存储在内存缓冲区中的原始图像数据?

  • 过程中使用的OpenCV
  • 视频然后再流过网络使用LibVLC使得经处理的视频/图像从IP相机

    1. 流视频等连接的客户端可以实时查看已处理的视频/图像(无需首先将视频/图像存储到磁盘)。

    我已经成功地完成前两项任务,但现在我想从存储器缓冲器为源流经网络所处理的视频/图像,存储器缓冲器是一个可变的IplImage,它可能太变量。 因此,如果有人知道如何使用libvlc传输这样的原始数据,那么请帮忙,或者指向我正确的方向或示例代码或链接。会很感激..!

  • 回答

    4

    尝试imem,那么你可以使用内存输入作为流源。通过实现模块的获取释放回调,您可以指定缓冲区的位置并设置解码呈现时间戳的值。这里是获取和释放的原型:

    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); 
    
    +0

    这将更适合作为注释 – Ren

    +0

    对不起。我应该删除帖子吗? – flekz

    +0

    您可以通过单击编辑按钮并添加更多关于此方法有用的原因的详细信息来改善您的帖子。尽量避免发布依赖链接的答案,因为如果链接停止工作,答案变得毫无用处。 – Ren

    相关问题