菜单

RTSP流媒体播放延迟

下载

HMI屏支持H264\H265硬解码,其他为软件码,推荐RTSP流的分辨率及帧率如下

优先选择H265,其次H264,再是其他。

1. 若摄像头只支持MJPEG格式,推荐分辨率640*480,帧率15;注意这个是软件,会占用较大CPU

2.若摄像头能支持H264,推荐分辨率640*480,帧率10;

3.若摄像头能支持H265,推荐分辨率1920*1080以下,帧率20;

 

仅供参考,实际的延时情况,需用户自行试验。

案例一:

某无品牌摄像头,同时接入三路rtsp,主码流1080P,子码流CIF,仅H支持265格式,可进行如下设置

1. 一般子码流为stream=1,如不确定,可在指定rtsp流时,检测一下分辨率

rtsp://192.168.1.243:554/user=admin&password=&channel=1&stream=1.sdp?

2. 摄像头设置子码流分辨率为CIF (352×288)、帧率为20 (帧率并非越小延迟越少,需自行尝试)

3. 多路摄像头,建议不要直接指定rtsp,而是在onload里延时启动

    AsynWorker *worker = new AsynWorker(getRuntime()->getAppInstance(this_thread::get_id()));
    //如需传入局部变量,可在网上搜索lambda表达式的用法
    worker->invoke([this]() {
        std::this_thread::sleep_for(std::chrono::milliseconds(200));//延时200ms
    })->onFinished([this]() {
        wMVideo1->setMainArg(99, 0, 462, 300, "rtsp://192.168.1.243:554/user=admin&password=&channel=1&stream=1.sdp?");
        wMVideo1->play(1000);
        wMVideo2->setMainArg(560, 0, 466, 300, "rtsp://192.168.1.244:554/user=admin&password=&channel=1&stream=1.sdp?");
        wMVideo2->play(3000);
        wMVideo3->setMainArg(308, 299, 466, 300, "rtsp://192.168.1.245:554/user=admin&password=&channel=1&stream=1.sdp?");
        wMVideo3->play(5000);
    })->start();

最近修改: 2025-07-18Powered by