Wie spiele ich einen Stream mit QMediaPlayer ab?

9

Ich habe einen Server und Video-Streaming eingerichtet, so dass ich mit ffplay eine Verbindung zum Stream herstellen kann, indem ich die folgende Befehlszeile benutze:

%Vor%

Ist es möglich, QMediaPlayer QMediaContent oder etwas zu verwenden, um sich mit diesem Stream zu verbinden?

Oder vielleicht eine andere Art von Stream, den ich mit ffserver erstellen kann.

mit dem gleichen Pfad wie bei ffplay führt zu "Nicht unterstütztes URL-Schema!"

Mit weiteren Experimenten habe ich versucht, httpserver server streaming, aber das endete mit Qt Absturz in MFStreamer :: doRead ()

Anscheinend hätte es BeginRead für MFStreamer aufrufen sollen, aber nicht.

Wie kann ich Videostreams mit QMediaPlayer abspielen?

Bearbeiten: Hier ist mein Code

videotest.cpp

%Vor%

Videotest.h

%Vor%     
0xbaadf00d 28.05.2015, 12:59
quelle

1 Antwort

2

Ich habe einen Weg gefunden, es zum Laufen zu bringen.

Ich habe Qt aufgegeben. Die Leute bei Qt bestanden darauf, dass es funktionieren sollte, konnten aber keine funktionierende Konfiguration erzeugen. Sie sagten, dass es funktionieren sollte, wenn Sie von VLC streamen, aber ich habe es nicht zum Laufen gebracht. Ich habe auch versucht, ffmpeg, ffserver und nginx rtmp Streaming. Ich habe diese Dinge mit MPlayer, ffplay, VLC und einige sogar mit Windows Media Player arbeiten, aber nie QMediaPlayer.

Ich habe versucht, die URL zu setMedia zu geben. Ich habe versucht, einen benutzerdefinierten QIODevice zu machen, der die Stream-Daten liest und diese Daten dem QMediaPlayer gibt, der mit StreamPlayback initialisiert wurde, aber es wäre einfach nicht möglich, die Daten zu lesen.

Am Ende brauchte ich nur etwas, um einen Stream abzuspielen, ist ein QWidget und ist nicht GPL-lizenziert.

Ich habe libVLC und vlc-qt , die beide wunderbar funktionieren.

Nach ​​diese Anweisungen war einfach, aber Sie müssen daran denken Kopieren Sie die Headerdateien von vlc-qt / windows / vlc_headers / 2.2 / in vlc / sdk / include / vlc / plugins (sic). Dies ist wichtig, wenn Sie dies nicht tun, können Fehler beim Kompilieren auftreten. Beachten Sie, dass sich diese Pfade möglicherweise unterscheiden, wenn Ihre Plattform nicht mit verschiedenen Versionen übereinstimmt. Außerdem ist es möglicherweise nicht notwendig, wenn Sie dies lesen.

VideoTest.h

%Vor%

videotest.cpp

%Vor%

VideoTest.ui

Mach dein eigenes, ich arbeite nicht für dich: D

Stellen Sie nur sicher, dass pauseButton, playButton, videoUrlEdit (QLineEdit) und videoLayout vorhanden sind, in denen das Video-Widget eingefügt wird.

    
0xbaadf00d 05.06.2015, 07:17
quelle

Tags und Links