Ich arbeite an einem Projekt, bei dem mehrere lokale Netzwerk-Videostreams empfangen, angezeigt und erneut gesendet werden. LibVLC scheint der richtige Weg zu sein, ich würde es gerne in Qt Creator/C++/OSX 10.12.1 verwenden und ich muss das Projekt auch auf einigen Windows 10 Computern kompilieren können, auf denen ich Qt installiert habe.Qt 5 und LibVLC: Wie kann ich es funktionieren lassen?
Ich habe einige Funktionalitäten erfolgreich getestet, indem ich den offiziellen QT-LibVLC-Wrapper von projects.tano.si/vlc-qt installiert habe. Leider fehlen dem Wrapper viele LibVLC-Methoden, die für mein Projekt essentiell sind. Daher entschied ich mich für die Installation von LibVLC.
Für jetzt bin ich fest, wie LibVLC arbeiten. Ich folgte alle Richtungen bei https://wiki.videolan.org/OSXCompile/#Apple_Software für die Installation und Bibliotheken bauen, und alles ging gut.
Dann habe ich ein neues Projekt in QT gestartet, versucht, INCLUDEPATH + = hinzuzufügen. vlc und LIBS + = - lvlc Pfade zu der .pro-Datei in Qt, aber es funktioniert nicht. Das Hinzufügen von Pfaden zum Ordner "Framework" des VLC-Build-Ordners funktioniert nicht.
Wer weiß, wie der Zaubertrick? Sorry, ich weiß, ich bin ein bisschen naiv, aber das ist es ... Vielen Dank im Voraus für jede Antwort!
UPDATE:
dank eyllanesc Vorschlag nun diese Struktur für den Compiler funktioniert:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = testVLC
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
player.cpp \
main.cpp
HEADERS += \
player.h
macx: LIBS += -L$$PWD/../../../../Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/lib/ -lvlc.5
INCLUDEPATH += $$PWD/../../../../Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/include
DEPENDPATH += $$PWD/../../../../Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/include
Leider ist die Anwendung gestartet wird, aber VLC-Instanz wird nicht initialisiert. Scheint, dass meine VLC Installation etwas falsch gemacht hat.
GELÖST:
Nachdem einige das Projekt Tweaking richtig kompiliert und startet. Ich verstehe nicht, warum, aber die Umgebungsvariable VLC_PLUGIN_PATH hat nur gesetzt werden, bevor VLC instanziiert wird, sonst verweigert VLC zu initialisieren:
//set environment variable VLC_PLUGIN_PATH
int s = setenv ("VLC_PLUGIN_PATH", "/Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/lib/vlc/plugins", 1);
// Initialize libVLC
vlcInstance = libvlc_new(0, NULL);
Eigentlich ist es überhaupt nicht funktionieren, wenn Sie es im Build eingestellt Umgebung von QtCreator.
öffnen Sie die Struktur Ihres Projekts zeigen konnte, das ist, wie die Ordner befinden, in dem die Bibliothek befindet, usw. – eyllanesc
Warum Sie verwenden '.vlc' in' INCLUDEPATH'? In 'INCLUDEPATH' müssen Sie den Pfad der .h Dateien setzen – eyllanesc
Danke, jetzt weiß ich noch etwas mehr. Ich habe es nur gemacht, weil es in einem Beispielcode war, den ich in einem VLC-Forum gefunden habe. –