我正在olimex a13板上工作,只有eglfs,即,没有窗口系统。因为有了这个Qt Multimedia,视频和摄像机无法工作,因为Qt使用Gstreamer,而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());//摄影记者
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来传送摄像头吗?提前谢谢。
发布于 2016-05-03 12:52:20
我意识到一些插件(多文件墨水)丢失了。使用Qt参数和gstreamer启动我的--gst-debug-level=4应用程序,然后报告缺少插件。
https://stackoverflow.com/questions/36424474
复制相似问题