Sadece eglfs
ile çalışıyorum, eglfs
i.e, pencereleme sistemi yok. Bu Qt Multimedia
şeyler nedeniyle video ve kamera Qt
Gstreamer
kullanıyor ve X
gerekir. Bu yüzden here olan QtGstreamer
kitaplığı kullanıyorum.QtGstreamer camerabin2 kullanımı
examples'u takip ettim ve beklendiği gibi çalışan bir ortam yürütücüsü oluşturdum. Şimdi, plugins numaralı telefondan camerabin2
numaralı telefonu kullanarak fotoğraf makinesi kullanmak istiyorum.
//init QGst
QGst::init(&argc, &argv);
//create video surface
QGst::Quick::VideoSurface* videoSurface = new QGst::Quick::VideoSurface(&engine);
CameraPlayer player;
player.setVideoSink(videoSurface->videoSink());
//cameraplayer.cpp
void open()
{
if (!m_pipeline) {
m_pipeline = QGst::ElementFactory::make("camerabin").dynamicCast<QGst::Pipeline>();
if (m_pipeline) {
m_pipeline->setProperty("video-sink", m_videoSink);
//watch the bus for messages
QGst::BusPtr bus = m_pipeline->bus();
bus->addSignalWatch();
QGlib::connect(bus, "message", this, &CameraPlayer::onBusMessage);
//QGlib::connect(bus, "image-done", this, &CameraPlayer::onImageDone);
} else {
qCritical() << "Failed to create the pipeline";
}
}
}
//-----------------------------------
void CameraPlayer::setVideoSink(const QGst::ElementPtr & sink)
{
m_videoSink = sink;
}
//-----------------------------------
void CameraPlayer::start()
{
m_pipeline->setState(QGst::StateReady);
m_pipeline->setState(QGst::StatePlaying);
}
Sonra yani çalışmıyor cameraPlayer.start()
, hiçbir videoyu çağırır:
Bu benim kodudur. Burada bir şey mi eksik? Hiç kimse web kamerası için QtGstreamer
kullandı mı? Şimdiden teşekkürler.
Bu sorunu çözmeyi başardınız mı? Aynı sorunu yaşıyorum, videomda video görüntüsü yok. – Luca
@Luca, lütfen cevabımı kontrol edin. Teşekkürler – ramtheconqueror