Использование QtGstreamer camerabin2

Я работаю на olimex a13 доска с просто eglfs т.е. нет оконной системы. Из-за этого Qt Multimedia видео и камера не работают как Qt использования Gstreamer который в свою очередь нуждается X, Так что я использую QtGstreamer библиотека, которая Вот.

Я следовал за Примеры и создал медиаплеер, который работает как положено. Теперь я хочу сделать камеру и используя camerabin2 что из плохого плагины.

Это мой код:

//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);
}

Я тогда звоню cameraPlayer.start() который не работает, т.е. нет видео. Я что-то здесь упускаю? Кто-нибудь использовал QtGstreamer транслировать веб-камеру? Заранее спасибо.

2

Решение

Я понял, что некоторые плагины (multifilesink) отсутствуют. Начал мой Qt приложение с --gst-debug-level=4 аргумент и gstreamer Затем сообщается о пропавших плагинах.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]