私はolimex a13
ボード上で、ちょうどeglfs
、つまりウィンドウシステムなしで作業しています。このためQt Multimedia
のスタッフビデオとカメラはQt
として使用されていません。Gstreamer
にはX
が必要です。だから私はですQtGstreamer
ライブラリを使用しています。QtGstreamer camerabin2用法
私はexamplesに続き、期待どおりに動作しているメディアプレーヤーを作成しました。さて、私はカメラをしてを使って、悪いからpluginsです。
//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
を使用していますか?前もって感謝します。
この問題を解決できましたか?私は同じ問題を抱えています。つまり、私のビデオシンクにビデオが表示されていません。 – Luca
@ルーカ、私の答えをチェックしてください。ありがとう – ramtheconqueror