首页 > 其他分享 >qt5multimedia播放rtsp延迟高

qt5multimedia播放rtsp延迟高

时间:2024-10-24 14:21:31浏览次数:1  
标签:qt5multimedia rtsp Qt5Multimedia renderer 播放 videoSink 延迟

  Qt5Multimedia在Liunux平台已实现对Gstreamer的支持,近期在RK3588平台,使用Qt5Multimedia播放RTSP流时,遇到延迟高问题(3s左右),查看API,Qt5Multimedia无法向Gstreamer传递参数。

解决办法:

重新编译qt5multimedia;
修改qt5multimedia/src/gsttools/qgstreamerplayersession.cpp

GstElement *videoSink = 0;
   if (m_renderer && m_renderer->isReady())
       videoSink = m_renderer->videoSink();

   if (!videoSink)
       videoSink = m_nullVideoSink;

#ifdef DEBUG_PLAYBIN
   qDebug() << "Set video output:" << videoOutput;
   qDebug() << "Current sink:" << (m_videoSink ? GST_ELEMENT_NAME(m_videoSink) : "") <<  m_videoSink
            << "pending:" << (m_pendingVideoSink ? GST_ELEMENT_NAME(m_pendingVideoSink) : "") << m_pendingVideoSink
            << "new sink:" << (videoSink ? GST_ELEMENT_NAME(videoSink) : "") << videoSink;
#endif

+	g_object_set(G_OBJECT(videoSink), "sync", false, nullptr); 	

   if (m_pendingVideoSink == videoSink ||
       (m_pendingVideoSink == 0 && m_videoSink == videoSink)) {
#ifdef DEBUG_PLAYBIN
       qDebug() << "Video sink has not changed, skip video output reconfiguration";
#endif
       return;
   }

标签:qt5multimedia,rtsp,Qt5Multimedia,renderer,播放,videoSink,延迟
From: https://www.cnblogs.com/fgmm/p/18499426

相关文章

  • 减少磁盘延迟时间的方法
    其实只需要理解了磁头处理完一个扇区后需要等待一段时间才能处理下一个扇区后,就可以很自然地想到交替命名和错位编号这些优化方法......
  • 使用RabbitMQ实现延迟消息的完整指南
    在分布式系统中,消息队列通常用于解耦服务,RabbitMQ是一个广泛使用的消息队列服务。延迟消息(也称为延时队列或TTL消息)是一种常见的场景应用,特别适合处理某些任务在一段时间后执行的需求,如订单超时处理、延时通知等。本文将以具体代码为例,展示如何使用RabbitMQ来实现延迟消息处理......
  • 金融交易系统延迟,NTP时间同步服务器为其保驾护航
    金融交易系统延迟,NTP时间同步服务器为其保驾护航金融交易系统延迟,NTP时间同步服务器为其保驾护航京准电子科技官微——ahjzsz“2024年9月27日,上海证券交易所(上交所)的交易系统出现了延迟现象,导致投资者在关键时刻无法及时进行操作。这一现象不仅影响了多家交易平台,还引发了投资......
  • 延迟队列实现及其原理详解
    1.绪论本文主要讲解常见的几种延迟队列的实现方式,以及其原理。2.延迟队列的使用场景延迟队列主要用于解决每个被调度的任务开始执行的时间不一致的场景,主要包含如下场景:1.比如订单超过15分钟后,关闭未关闭的订单。2.比如用户可以下发任务,并且可以自定义任务的开始时间。3......
  • 从零开始精通RTSP之深入理解RTP协议
    一、RTP协议概述1.定义   RTP(RealTimeTransportProtocol)即实时传输协议,它是一种用于在IP网络上对多媒体数据进行实时传输的标准协议。在RTSP(RealTimeStreamingProtocol)的应用场景中,RTP起到了至关重要的作用,负责传输实际的音视频数据。2.协议结构   RTP头部......
  • 记录Redis+MQ延迟双删保证缓存一致性
    场景描述在博客系统中,用户可以给博客点赞或者评论,这些操作需要更新数据库中的数据,同时要保证缓存中的博客信息与数据库保持一致。为了提高性能,博客数据会存放在Redis缓存中。但当有大量用户同事点赞或是评论时,缓存和数据库中的数据可能出现不一致。何谓延迟双删?延迟双删......
  • SpringBoot利用redission实现延迟队列
    1.引入依赖<dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.23.3</version></dependency>2、注入redissonClient@AutowiredprivateRedissonClientredissonClient;......
  • RTSP与ONVIF协议的区别及其在EasyCVR视频汇聚平台中的应用
    在视频监控和物联网设备领域,RTSP(RealTimeStreamingProtocol)和ONVIF(OpenNetworkVideoInterfaceForum)是两个重要的协议,它们各自在视频流的传输和控制上发挥着不同的作用,并在实际应用中相辅相成。本文将详细探讨RTSP与ONVIF协议的区别,并介绍它们在EasyCVR平台中的应用。1、RT......
  • 白板书写延迟-触摸屏报点率
    触摸书写延迟,是触摸屏很核心的参数。从用户在触摸屏上进行触控操作到设备作出响应之间的时间差,这个延迟高低会影响快速反应的应用场景使用如白板书写、玩游戏。而触摸延迟主要影响因素有:触摸框报点率、软件框架延时(用于触摸数据接收、线程切换)、软件业务逻辑处理我们这里介绍......
  • 【java 使用 ffmpeg 将rtsp转hls】
    java海康接口ffmpeg提示海康相关文件开发准备工具使用获取监控列表ffmpeg转换视频流视频流转换导入提示java使用SpringBoot框架jdk使用1.8版本海康通过访问OpenAPI文档中心的方式可以验证API网关是否安装成功,访问地址http://IP:Port/artemis-portal/......