| |
VB.NET - FortgeschritteneWer verwendet aktuell das ActiveX-Control des VLC media players? | | | Autor: Der kleine Hacker | Datum: 10.03.19 16:49 |
| Liebe Gemeinde,
seit nunmehr zahllosen Stunden suche ich eine Lösung, den Video-Stream meiner IP-Kamera in ein Visual-Basic-Programm einzubinden.
Die Verwendung des Windows–Mediaplayer- oder des WebBrowser-Steuerelements habe ich nach erfolglosen Versuchen und Googeln der Problematik schnell verworfen.
Auf meiner Suche bin ich auf den offenbar häufig dafür verwendeten VLC media player und das damit verbundene ActiveX-Control (axvlc.dll) gestoßen.
Meinen Video-Stream über RTSP
rtsp://<GERÄTE IP>:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif
funktionierte in der aktuellsten Version nicht mal im VLC-Player selbst, aber in der Version 2.2.2 Weatherwax , die in einem Tutorial verwendet wird, lässt sich der Video-Stream wunderbar abrufen.
Im Gegensatz zur aktuellsten Version (Fehler bei der Registrierung) ließ sich das ActiveX-Control der Version 2.2.2 auch problemlos in mein Programm einbinden.
Die Problematik mit 64- und 32-Bit-Strukturen ist mir beim Googeln natürlich begegnet – mein Programm steht (derzeit wieder) auf "Debug" "x86".
Im Programm läuft aber der RTSP-Stream nicht an – es läuft nicht mal ein Musiktitel an:
Me.AxVLCPlugin21.playlist.add("D:\Musik\Lied.mp3")
Me.AxVLCPlugin21.playlist.play
'(oder auch)
Me.AxVLCPlugin21.playlist.playitem(0)
'(oder auch)
Me.AxVLCPlugin21.playlist.playitem(1) Meine Fragen an Euch lauten daher: Wer verwendet aktuell (alte Beispiele, unter anderen Voraussetzungen gibt’s ja genug) in Windows 10 das ActiveX-Control des VLC media player im Basic des Visual Studios 2015 oder neuer? Welche Version des VLC media player läuft und in welcher Umgebung (AnyCPU oder X86)?
Ganz herzlichen Dank für Eure Unterstützung! | |
Re: Wer verwendet aktuell das ActiveX-Control des VLC media players? | | | Autor: Kuno60 | Datum: 11.03.19 01:31 |
| Hallo,
ich habe das ActiveX des VLC-Players in der Version "3.0.6 Vetinari". Diese läuft bei mir nur auf 64-Bit, also mit den Einstellungen x64 oder AnyCPU (nicht 32-Bit bevorzugen).
Alle Sound- und Videodateien werden problemlos abgespielt.
Dim WithEvents VLC As AXVLC.VLCPlugin2
Private Sub ButtonPlay_Click(sender As Object, e As EventArgs) Handles _
ButtonPlay.Click
With New OpenFileDialog
.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyMusic
If .ShowDialog = Windows.Forms.DialogResult.OK Then
Try
VLC = New AXVLC.VLCPlugin2
VLC.playlist.add(New Uri(.FileName).AbsoluteUri)
VLC.playlist.play()
Catch ex As Exception
MsgBox(ex.Message) 'Fehler bei 32-Bit
End Try
End If
End With
End Sub
Private Sub ButtonStop_Click(sender As Object, e As EventArgs) Handles _
ButtonStop.Click
VLC.playlist.stop()
End Sub
Private Sub VLC_MediaPlayerEncounteredError() Handles _
VLC.MediaPlayerEncounteredError
MsgBox("Ladefehler!")
End Sub | |
Re: Wer verwendet aktuell das ActiveX-Control des VLC media players? | | | Autor: Der kleine Hacker | Datum: 14.03.19 23:36 |
| Hallo Kuno,
vielen Dank für Deine schnelle Antwort. Leider komme ich beruflich nicht immer dazu, mich mit meinen Programmier-Hobby zu befassen, daher habe ich ein paar Tage gebraucht, bis ich Deine Hinweise umsetzten konnte.
Also: Die von Dir verwendete Version „3.o.6 Vetinari“ konnte ich bei mir problemlos installieren – auch das dazugehörende Plugin in Visual Basic ließ sich einbinden und ein Steuerelement auf dem Formular platzieren… Daher erstmal ein ganz herzliches Dankeschön für eine Version, die unter meinen Systembedingungen laufen müsste – allein diese Information war nicht zu googeln!
Mein eigenes Programmbeispiel funktioniert aber dennoch nicht. Nachdem ich Dank Deiner Hinweise wusste, dass es nicht am System liegt, kam ich – auch Dank Deines Code-Beispiels dahinter, dass
Me.AxVLCPlugin21.playlist.add("D:\Musik\Lied.mp3") nicht funktioniert – es muss vielmehr
Me.AxVLCPlugin21.playlist.add("file:///D:/Musik/Lied.mp3") heißen – dann läuft’s. Hier also nochmal ganz herzlichen Dank für Deine Unterstützung!
Nach weiteren googeln habe ich auch einen Stream zum Laufen gebracht, mit
Me.AxVLCPlugin21.playlist.add("http://stream.lokalradio.nrw/radiobonnrheinsieg")
Me.AxVLCPlugin21.playlist.play() Aber mein ursprüngliches Problem bleibt ungelöst – der Stream meiner IP-Kamera funktioniert nicht – er führt zu einem VLC_MediaPlayerEncounteredError():
Me.AxVLCPlugin21.playlist.add( _
"rtsp://[ip-Adresse]:554/cam/realmonitor?channel=1&subtype=0&unicast=true&pr" & _
"to=Onvif") Wie schon erwähnt – diese URL direkt in den VCL-Player unter Medien -> Netzwerkstream öffnen eingegeben läuft…
Die URL kann man auch in den VCL-Player eingeben als
Me.AxVLCPlugin21.MRL = _
"rtsp://[ip-Adresse]:554/cam/realmonitor?channel=1&subtype=0&unicast=true&pr" & _
"to=Onvif" Das scheint der Player auch „zu behalten“ – wie eine Msg-Box-Ausgabe der AxVLCPlugin21.MRL zeigt – aber so läuft der Stream nicht an. Auch nicht mit
Me.AxVLCPlugin21.playlist.play() Dieses Problem habe – so hat mein Googeln ergeben – nicht nur ich. Aber eine Lösung konnte ich nicht finden…
Viele Grüße an alle, die dies lesen
vom kleinen Hacker
Beitrag wurde zuletzt am 14.03.19 um 23:42:51 editiert. | |
Re: Wer verwendet aktuell das ActiveX-Control des VLC media players? | | | Autor: Kuno60 | Datum: 15.03.19 02:02 |
| Hallo,
ja der Player unterstützt keine Windows-Pfade, da er ein universal Player ist. Deshalb die Umwandlung über Uri.
Ich kann bei mir keinen RTSP Stream testen.
Das Internetradio läuft und Video-Streaming übers Heimnetz funktioniert auch, nach Freigabe der FireWall.
Schau auch mal hier:
https://wiki.videolan.org/Documentation:WebPlugin/
Vielleicht sind noch Optionen nötig.
Das Beispiel aus der Doku in VB:
Dim options = {":aspect-ratio=4:3", "--rtsp-tcp"}
'oder: Dim options = ":aspect-ratio=4:3 --rtsp-tcp"
Dim id = VLC.playlist.add("rtsp://servername/item/to/play", "fancy name", _
options)
VLC.playlist.playItem(id) | |
Re: Wer verwendet aktuell das ActiveX-Control des VLC media players? | | | Autor: Der kleine Hacker | Datum: 15.03.19 06:34 |
| Hallo Kuno,
vielen Dank für die mal wieder sehr schnelle Antwort und Deine Hinweise.
Das wiki.videolan.org hatte ich bereits entdeckt, kam aber damit nicht wirklich zurecht. Dein erneutes Beispiel hatte ich aber nicht gefunden - auch dafür vielen Dank.
Im Prinzip unterscheidet sich das neue Beispiel von meinem aktuellen Versuch nur durch zusätzliche oder andere Optionen. Mit Optionen hatte ich bereits rumgespielt - sie zeigten keine Änderung: Bei Files oder Streams, die funktionierten, funktionierte es unverändert weiter - mein RTSP-Stream funktioniert leider auch mit Deinen Optionen nicht (VLCPlayer.MediaPlayerEncounteredError)…
Trotzdem nochmals ganz herzlichen Dank für Deine Unterstützung
und Grüße, auch an alle anderen die dies lesen
vom kleinen Hacker | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|