https://stackoverflow.com/questions/308 ... twebengine
https://github.com/j0r1/qtwebenginewebrtc
ayufan/camera-streamer empfangen decodieren und in pyqt anzeigen
wie helfen einem diese links weiter, der eine behandelt glaube ich dass Problem in c++ und der andere irgendein Projekt dass einen webrtc stream zwar anzeigt aber ich weiß leider auch nicht wie man dass in pyqt anzeigt abgesehen davon kriege ich das Projekt mit meinen bescheidenen Kenntnissen nicht zum laufen.gibt es denn keine Bibliothek mit der dass in pythoncode integrierbar ist? Danke im voraus und
LG sauterle
LG sauterle
Bei Qt muss man *immer* mit C++-Beispielen rechnen, und sich an denen entlanghangeln. Was aber ueblicherweise ziemlich direkt und einfach geht.
Die "Ein Link, eine perfekte Loesung"-Welt ist leider noch nicht existent. Ich habe jedenfalls nichts gefunden, du hast nix gefunden - dann wird es wohl kompliziert sein, und muss mehr erarbeitet werden. Du darfst gerne selbst Dokumentation und Code hinterlassen fuer die naechste arme Seele.
Die "Ein Link, eine perfekte Loesung"-Welt ist leider noch nicht existent. Ich habe jedenfalls nichts gefunden, du hast nix gefunden - dann wird es wohl kompliziert sein, und muss mehr erarbeitet werden. Du darfst gerne selbst Dokumentation und Code hinterlassen fuer die naechste arme Seele.
Danke für deine Antwort __deets__
Ich glaube dieser c++ code tut genau dass was ich will nun kann ich aber kein c++ darum möchte ich euch fragen ob jemand grob zusammenfassen könnte was darin passiert.
LG sauterle
Ich glaube dieser c++ code tut genau dass was ich will nun kann ich aber kein c++ darum möchte ich euch fragen ob jemand grob zusammenfassen könnte was darin passiert.
Code: Alles auswählen
#include <QApplication>
#include <QUrl>
#include <QWebEngineView>
class WebEnginePage: public QWebEnginePage{
Q_OBJECT
public:
WebEnginePage(QObject *parent = Q_NULLPTR):QWebEnginePage(parent){
connect(this, &WebEnginePage::featurePermissionRequested, this, &WebEnginePage::onFeaturePermissionRequested);
}
private Q_SLOTS:
void onFeaturePermissionRequested(const QUrl &securityOrigin, QWebEnginePage::Feature feature){
if(feature == QWebEnginePage::MediaAudioCapture
|| feature == QWebEnginePage::MediaVideoCapture
|| feature == QWebEnginePage::MediaAudioVideoCapture)
setFeaturePermission(securityOrigin, feature, QWebEnginePage::PermissionGrantedByUser);
else
setFeaturePermission(securityOrigin, feature, QWebEnginePage::PermissionDeniedByUser);
}
};
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
QWebEngineView view;
view.setPage(new WebEnginePage);
QUrl url = "https://appr.tc/r/386424467";
// view.setUrl(commandLineUrlArgument());
view.setUrl(url);
view.resize(1024, 750);
view.show();
return app.exec();
}
#include "main.moc"
ich habe hier schon ein programm nur hier siht man leider nur schwarz:
LG sauterle
Code: Alles auswählen
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QPushButton
from PyQt6.QtWebEngineWidgets import QWebEngineView
from PyQt6.QtCore import QUrl
class WebRTCViewer(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("WebRTC Video Viewer")
self.setGeometry(100, 100, 800, 600)
central_widget = QWidget()
self.setCentralWidget(central_widget)
layout = QVBoxLayout()
central_widget.setLayout(layout)
self.web_view = QWebEngineView()
layout.addWidget(self.web_view)
self.web_view.setUrl(QUrl("http://192.168.0.143:8080/webrtc"))
app = QApplication(sys.argv)
window = WebRTCViewer()
window.show()
sys.exit(app.exec())
wenn es auch mit VLC nicht geht, lässt sich denn der Stream mit irgendeinem anderem Programm (welches hoffnungsweise keine Programmfelher enthält) empfangen?
_______________________________________________________________________________
https://www.python-kurs.eu/index.php
https://learnxinyminutes.com/docs/python/ https://learnxinyminutes.com/docs/de-de/python-de/
https://quickref.me/python https://docs.python-guide.org/
Hallo das direkte empfangen mit qwebenginewiew scheint nicht zu funktionieren. Wie sollte man den stream dann am besten empfangen? Mein Ansatz wäre es mit dem modul aiortc die daten zu empfange und den h264 videostrwam mit opencv zu decodiren. und alle 1/30 sekunden ein neues bild in meiner pyqt anwendunge anzuzeigen. Ist in diesem Ansatz ein grundsätzlicher fehler oder geht es besser, bitte sagt es mir. Bei dem empfangen mit aiortc bräuchte ich hilfe wie würde zumindest der empfangscode aussehen: Danke im voraus
LG sauterle

LG sauterle
Ich würde ja eher auf RTSP wechseln. Du hast dir selbst die Auflage gemacht, das es so latenzfrei wie möglich sein soll. Und dabei die Dimension der Machbarkeit ausgelassen. Ich würde da also eher nochmal mit dem QMediaPlayer spielen.