Forum: PC-Programmierung RTSP Stream verwenden welche Programmiersparache


von Melone (Gast)


Lesenswert?

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

von Alt G. (altgr)


Lesenswert?

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
von Reichskanzler (Gast)


Lesenswert?

zeichne doch einfach ein fadenkreuz auf den bildschirm

von Melone_ (Gast)


Lesenswert?

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

von Tom (Gast)


Lesenswert?

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.

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

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

von PittyJ (Gast)


Lesenswert?

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.

von Tek (Gast)


Lesenswert?

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/

von mm (Gast)


Lesenswert?

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...

von Εrnst B. (ernst)


Lesenswert?

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.

von Melone (Gast)


Lesenswert?

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.

von Εrnst B. (ernst)


Lesenswert?

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.

von Melone (Gast)


Lesenswert?

Ε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

von physicist (Gast)


Lesenswert?

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

von Melone (Gast)


Lesenswert?

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

von Melone (Gast)


Lesenswert?

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

von Melone (Gast)


Lesenswert?

Habe ich die letzte Frage falsch gestellt

Danke und Mahlzeit

von Εrnst B. (ernst)


Lesenswert?

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.

von Melone (Gast)


Lesenswert?

Ε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

von Ich (Gast)


Lesenswert?


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
Noch kein Account? Hier anmelden.