Ich versuche ein Gsrtreamer Video in einer QT App mit QML zu integrieren.Wie wird eine Gstreamer Senke in ein QML VideoItem eingebunden?
Ich habe mit dem Beispiel qmlplayer2 begonnen, die ein entferntes Video verwendet:
player->setUri(QLatin1Literal("http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi"));
ich dieses Beispiel geändert hat eine Pipeline zu verwenden, um eine udpsrc zu bekommen:
m_pipeline = QGst::Pipeline::create();
QGst::ElementPtr udp = QGst::ElementFactory::make(QLatin1Literal("udpsrc"));
udp->setProperty("address", "192.168.1.1");
udp->setProperty("port", 3333);
QGst::ElementPtr decodage = QGst::ElementFactory::make("jpegdec");
QGst::ElementPtr videosink = QGst::ElementFactory::make("autovideosink");
Welches equivaltent ist zu:
Das funktioniert, ich bekomme mein Video gestreamt und mein Spiel/Pause/st Op-Tasten arbeiten.
aber das Video ist in einem anderen Fenster
Während meiner QML ist die Angabe, dass VideoItem im Hauptfenster ist:
Rectangle {
id: window
width: 600
height: 300
Column {
width: 600
height: 544
y : 10;
VideoItem {
id: video
y : 10;
width: window.width
height: 260
surface: videoSurface1 //bound on the context from main()
}
// Other buttons
Jedes Thema, das ich gefunden ist entweder zu alt (gstreamer stammt in Qt seit 5.5 dieses Jahr) oder hat keine Antworten
Gibt es einen Fehler in meiner Arbeit?
Gibt es eine andere Möglichkeit zu tun, was ich will?
Danke.