Guten Abend, ich stehe vor folgender Herausforderung. Ich möchte in eine Windows Anwendung einen RTSP Videostream anzeigen. Über dieses Video möchte ich ein Fadenkreuz zeichnen. Mit welcher Programmiersprache bzw Entwicklungsumgebung würdet Ihr an diese Herausforderung gehen? Ich kann etwas C etwas Basic etwas C# Gibt es Irgendwelche Beispiele wo RTSP bereits verwendet wird? Danke für die Hilfe
Python? LOL. Schau mal wo du eine source herbekommt die das macht und dann modifizieren. Sonst dauert das ewig. Ist denn freiteg?
:
Bearbeitet durch User
zeichne doch einfach ein fadenkreuz auf den bildschirm
Alt G. schrieb: > Python? LOL. > Ist Python dazu eine Geeignete Sprache? Was für eine Entwicklungsumgebung kannst du empfehlen? > Schau mal wo du eine source herbekommt die das macht und dann > modifizieren. Sonst dauert das ewig. > > Ist denn freiteg? Verstehe ich nicht. Reichskanzler schrieb: > zeichne doch einfach ein fadenkreuz auf den bildschirm Da hast du mich falsch verstanden
Unter Nicht-Windows-Betriebssystemen würde ich mit Python, libgstreamer und OpenCV anfangen. Eine Entwicklungsumgebung wird man für die 20 Zeilen Code nicht brauchen, die Installation der Abhängigkeiten wird wahrscheinlich komplizierter als die Software.
Melone schrieb: > Gibt es Irgendwelche Beispiele wo RTSP bereits verwendet wird Schau dir mal das an: - https://trac.ffmpeg.org/wiki/ffserver Nur so als Info zu deinen Vorhaben: "...über RTSP selbst werden keine Nutzdaten übertragen..." - https://de.wikipedia.org/wiki/Real-Time_Streaming_Protocol - https://www.rfc-editor.org/rfc/rfc7826 Wenn du an das Bild kommen wilst wirst du sogar noch etwas mehr benötigen. RTP/RTSP sind ja nur die Übertragungsschicht. Wenn du dann den "rohen" Stream hast sind die Bilddaten meist mit H.264/H.265 oder ähnlichen kodiert. Das darfst du auch noch verarbeiten um überhaupt mal an den Bildinhalt kommen. Und dabei dran denken das da keine ganzen Bilder übertragen werden, sondern nur das Delta zum vorhergehenden (bis mal wieder ein key-frame kommt) usw.. Da mal eben was reinzumalen dürfte spaßig werden:-) - https://de.wikipedia.org/wiki/H.264#Implementierungen - https://de.wikipedia.org/wiki/High_Efficiency_Video_Coding#Implementierungen
Einfach 2 Drähte besorgen und am Bildschirm mit Tesafilm festkleben? Alternativ noch einen Papprahmen basteln, den man bei Bedarf vor den Bildschirm stellen kann.
Zeichne dir ein Fadenkreuz als png und füge es in VLC als Watermark hinzu. Dann kannst damit deinen RTSP Stream öffnen und das Fadenkreuz wird angezeigt. https://www.vlchelp.com/add-logo-watermarks-over-videos-vlc/
Tek schrieb: > Zeichne dir ein Fadenkreuz als png und füge es in VLC als Watermark > hinzu. Over mit mplayer als overlay oder mit gstreamer oder...
Er will ja nicht den Video-Stream modifizieren, er will über dem Fenster mit dem Videoviewer was malen. https://processing.org/ kann das. Zumindest unter Linux, wenn man eine gstreamer-Pipeline verwenden kann. Evtl. auch unter Windows, ist ja schnell ausprobiert. Einfach in der "void draw()" nach jedem "image(stream,0,0)" ein paar Linien und Kreise zeichnen lassen.
Tek schrieb: > Zeichne dir ein Fadenkreuz als png und füge es in VLC als > Watermark > hinzu. > Dann kannst damit deinen RTSP Stream öffnen und das Fadenkreuz wird > angezeigt. > > https://www.vlchelp.com/add-logo-watermarks-over-videos-vlc/ Guten Tag, die Idee mit dem VNC Player gefällt mir sehr gut. Ist es möglich den VNC Player mit einem Skript zu steuern? Ich meine so das ich zB das Fadenkreuz ein oder ausschalten bzw das Bild des Fadenkreuz austauschen kann. Danke für die Hilfe.
Melone schrieb: > Ist es möglich den VNC Player mit einem Skript zu steuern? VLC, nicht VNC. VLC liefert "cvlc" für den Aufruf an der Kommandozeile mit, das ist dann gut scriptbar.
Εrnst B. schrieb: > VLC, nicht VNC. Sorry da habe ich was verwechselt. das klingt gut. Kann man dann VLC auch mit einer eigenen Win Form Anwendung steuern? Oder ist das umständlich? Danke für die Hilfe
Melone schrieb: > das klingt gut. Kann man dann VLC auch mit einer eigenen Win Form > Anwendung steuern? > Oder ist das umständlich? VLC bietet einen eingebauten web server: https://wiki.videolan.org/documentation:modules/http_intf/ Es gibt zig Beispiele wie man fernsteuert / Kommandos schickt, z.B. in Python https://gist.github.com/phenyque/0cbc22077590454cd88dbc0ab39a4bfa aber auch in jeder anderen Sprache die einen port aufmachen kann, sicherlich auch Win Form. Man kann aber auch stattdessen VLC einbetten wenn es nur ein Programm sein soll: https://stackoverflow.com/questions/69610778/embedding-lib-vlc-in-winform-application
Ich habe jetzt etwas mit den VLC Player gespielt. Eine Sache habe ich aber noch nicht herausgefunden. Ich führe folgedes Komando aus
1 | vlc.exe rtsp://admin:PASS@10.1.1.17:554/h265Preview_01_main --fullscreen --no-video-title-show --logo-x 2500 --logo-y 2500 |
Wie kann ich im Nachhinein im Geöffnete Video die Position des Logos ändern? Danke für die Hilfe
Melone schrieb: > Ich habe jetzt etwas mit den VLC Player gespielt. > > Eine Sache habe ich aber noch nicht herausgefunden. > Ich führe folgedes Komando ausvlc.exe > rtsp://admin:PASS@10.1.1.17:554/h265Preview_01_main --fullscreen > --no-video-title-show --logo-x 2500 --logo-y 2500 > > Wie kann ich im Nachhinein im Geöffnete Video die Position des Logos > ändern? > > Danke für die Hilfe Weiß hier jemand Abhilfe? Danke für die Hilfe
Habe ich die letzte Frage falsch gestellt Danke und Mahlzeit
Melone schrieb: > Habe ich die letzte Frage falsch gestellt Und wie ist sie richtig gestellt? Generell: Statt zu versuchen das mit VLC und dessen Fernsteuerung irgendwie hinzufrickeln, wärst du mit processing vmtl. schon längst am Ziel.
Εrnst B. schrieb: > Generell: Statt zu versuchen das mit VLC und dessen Fernsteuerung > irgendwie hinzufrickeln, wärst du mit processing vmtl. schon längst am > Ziel. Was meinst du mit processing vmtl.? Ich verstehe nicht was du damit meinst
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.