微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

QT rtspsrc 到 qtquick2videosink 对于 1080p 视频流很慢

如何解决QT rtspsrc 到 qtquick2videosink 对于 1080p 视频流很慢

  • QT 版本 - 5.14.1
  • Android NDK 版本 - 21.3.6528147
  • Android 平台 - 29

我正在开发 QT android 应用程序。其中视频播放器是使用 android gstreamer 1.18.1 实现的。代码库取自 https://github.com/CubePilot/qgroundcontrol-herelink/tree/master/src/VideoStreaming。此应用程序运行良好代码VideoReceiver.cc 文件相同。

我的代码面临的问题是设备屏幕上的视频滞后。视频延迟增加,因为相机上的帧像素变化过多。当我将视频质量降低到 720p 时,它可以毫无延迟地工作。但是当我将视频质量设置为 1080p 时,视频开始滞后。

以下是我的qt视频插件代码

   if ((_data->videosink = gst_element_factory_make("qtquick2videosink",NULL)) == NULL) {
        qCritical("Failed to create qtquick2videosink. Make sure it is installed correctly");
        return NULL;
    }
    else
    {
        qDebug("Success to create qtquick2videosink.");
    }
    g_object_set(G_OBJECT(_data->videosink),"sync",gboolean(false),NULL);
    g_signal_connect(_data->videosink,"update",G_CALLBACK(onUpdateThunk),(void* )this);

以下是我正在使用的管道。 element 属性与我采用的代码相同。

gst_bin_add_many(GST_BIN(_pipeline),rtspsrc,queue,_teeStream,rtph264depay_demux,h264parse_parser,avdec_h264_decoder,_videosink,NULL);

问题
这是否可以将视频帧大小(上限过滤器)减少到 720p,然后转到 _videosink?
在 _teeStream 之前不更改视频。

如何让视频无延迟?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。