如何解决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 时,视频开始滞后。
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 举报,一经查实,本站将立刻删除。