使用C ++进行视频捕获和流式处理

时间:2019-04-17 14:10:30

标签: c++ opencv video video-streaming libvlc

我正在解决一个问题,在该问题中,它从服务器(网络视频录像机)获取视频数据(原始数据),然后仅使用VLC传输视频。数据以指针形式(在代码部分中提供)提供,我希望能够捕获和流式传输视频。

我已经尝试过使用OpenCV和VLC捕获数据,但是我没有使用C ++进行视频的经验,因此我无法获取这些数据。在OpenCV中,我将服务器IP和登录信息(例如(“ http://username:password@xx.xx.xx.xx:xxxx/yuv/video.yuv”)作为参数传递给VideoCapture(),但是没有用。

视频数据来自NVR Sdk的代码,其中视频作为指针逐帧传递。

...

typedef struct FrameHeadr 
{ 
  unsigned char mediaType;  
  unsigned char * pData;    //video Data as a pointer    
  unsigned int preBufSize;           
  unsigned int dataSize;             
  unsigned char frameRate;          
  unsigned int frameID;             
  unsigned int timeStamp;            
  union 
  { 
    struct { 
      int keyFrame;                 
      unsigned short videoWidth;    
      unsigned short videoHeight;   
    } videoParam; 
        unsigned char audioMode;         
  }; 
} FrameHeadr; 
typedef FrameHeadr * pFrameHeadr; 

...

捕获或保存视频数据时,无需对其进行转码,只需能够在VLC中将数据作为RTSP进行获取和流式传输即可。由于我是新手,因此建议,链接或方法学将不胜感激。如果我尝试捕获视频的方式不正确,请提出其他建议吗?

0 个答案:

没有答案