我正在解决一个问题,在该问题中,它从服务器(网络视频录像机)获取视频数据(原始数据),然后仅使用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进行获取和流式传输即可。由于我是新手,因此建议,链接或方法学将不胜感激。如果我尝试捕获视频的方式不正确,请提出其他建议吗?