- QT version - 5.14.1
- Android NDK verison - 21.3.6528147
- Android Platform - 29
I am developing QT android application. where video player is implemented using android gstreamer 1.18.1 . code base is taken from https://github.com/CubePilot/qgroundcontrol-herelink/tree/master/src/VideoStreaming. this application working good. code is same from VideoReceiver.cc file.
Problem I am facing with my code is video lagging on device screen. video lag increase as there is too much frame pixel change on camera. when I reduce video quality to 720p it work without lag. but when I set video quality to 1080p video start lagging.
follwing is the code for my qt video plugin
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);
following is the pipeline I am using. element property is same from the code where I have taken this.
gst_bin_add_many(GST_BIN(_pipeline), rtspsrc ,queue,_teeStream,queue, rtph264depay_demux, h264parse_parser, avdec_h264_decoder, queue, _videoSink, NULL);
Question
Is this possible to reduce video frame size(cap filter) to 720p which goes to _videoSink?
without changing video before _teeStream.
Or
How to make video lag free?
Aucun commentaire:
Enregistrer un commentaire