C++ opencv 读取rtsp视频流

读取rtsp视频流
完整演示:

#include 
#include 
#include 

int main()
{

    // rtsp地址变量
    // 一般main 主码流,sub 子码流
    std::string rtsp1 = "rtsp://admin:[email protected]:554/h264/ch1/sub/av_stream";

    // std::string rtsp1 = "rtsp://localhost:8554/live1.sdp";


    // CAP_FFMPEG:使用ffmpeg解码
    cv::VideoCapture stream1 = cv::VideoCapture(rtsp1, cv::CAP_FFMPEG);


    if (!stream1.isOpened())
    {
        std::cout << "有视频流未打开" << std::endl;
        return -1;
    }

    cv::Mat frame1;


    // // 使用namedWindow创建窗口,WINDOW_AUTOSIZE:自动调整窗口大小
    // cv::namedWindow("rtsp_demo", cv::WINDOW_AUTOSIZE);

    while (true)
    {
        if (!stream1.read(frame1))
        {
            std::cout << "有视频流未读取" << std::endl;
            continue;
        }


        cv::imshow("rtsp_demo", frame1);

        if (cv::waitKey(1) == 27)
        {
            break;
        }
    }

    return 0;
}

你可能感兴趣的:(C++,opencv,学习笔记,c++,opencv,ffmpeg)