Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

dvbapiNET - mdvbapi Nachfolge

Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!
Du vielleicht, ich darf das (noch?) nicht :unsure: (OOOH! Doch! nur der Knopf ist soooo hellgrau, den habe ich bislang übersehen! Sorry)
Du musst dich Anmelden oder Registrieren um den Inhalt der Angebote zu sehen!
Das ist falsch. "As you know, if the call to LoadLibrary specifies a DLL module already mapped into the address space of the calling process, the function simply returns a handle of the DLL and increments the module's reference count." Windows merkt sich für jede DLL wie oft sie geladen wurde. Diesen Zähler kann man auslesen. Mag aber zu kompliziert sein oder wird vom MüsliFramework verdeckt. Ist auf jeden Fall eine Basisfunktion der Win32API.

Aber egal, Du hast ja eine andere Methode benutzt um dasselbe Ergebnis zu bekommen (und auch gleich noch einen Kanal zum "Master" zu öffnen)

Und da alles so schön funktioniert, würde ich an Deiner Stelle gar nix ändern. Das, was Du vorhast, mag interne Kosmetik sein, bringt aber keine praktischen Vorteile.
 
Win32 Funktionen kann man im .NET framework ebenfalls importieren und abrufen. Ist allerdings meist ungleich komplizierter.
Jedohc habe ich bisher nie Libraries mit nativem code geschrieben. Außerdem habe ich mich was das angeht ziemlich an mdvapi gehalten.

habe da jetzt noch nicht großartig irgendwas geändert. Also - keine Panik :D


Nachtrag: dein Vorschlag über LoadLibrary geht nur innerhalb des Prozesses. Es soll aber, was mir noch einfiel, Prozessübergreifend funktionieren, wenn z.b. dvbviewer und Media Server auf einem PC sind beißt es sich sonst...
 
Zuletzt bearbeitet:
So, geschafft :)

Ich habe heute nochmal dvbviewer und media server installiert und habe dann dvbnetapi manuell also ohne setup.exe installiert.
Läuft wie eine 1 :)

vielen Dank für Euren Support!
 
so rein ins Blaue vermutet: das Setup
irgendwo hatte ich ein unseeliges Bundle aus Oscam+DLL (für Windows) gesehen, dem würde ich nicht so wirklich viel Vertrauen entgegenbringen. Aber das ist nur eine Vermutung.
Packt man die DLL von Hand ins Plugin Verzeichnis ist alles völlig ok. und funktioniert.
 
Ich habe gestern mal mit dem Sourcecode von Github versucht, einfach ein funktionsfähiges Binary nachzubauen und bin am Code-Zustand verzweifelt... genau genommen sind es 2 Stellen die so nicht mehr funktionieren, wenn man auf einem aktuellen Windows 10 bei 0 anfangen möchte. (Umgebung: VSCode und MS SDK, also nix kostenpflichtiges)

- die .net SDK Target Version ist 4.0. Die nötigen Framework-Definitionen sind ums Verrecken bei MS nicht mehr zu finden. Eine Änderung auf 4.7.2 hat hier geholfen
- der Plugin-Debugger hat noch nicht mitbekommen, daß du den 'old' Parameter rausgeschmissen hast und beschwert sich über die Anzahl der Aufruf-Parameter zu DvbApiClient

Nach den Änderungen konnte ich zumindest das Projekt mit msbuild von der Kommandozeile aus kompilieren. Diff hängt an.
 

Anhänge

  • dvbnetapi-patch.zip
    726 Bytes · Aufrufe: 67
Visual Studio nehmen, gibt eine Community Edition, die kostet nichts,
macht die wenigsten Probleme. Das repo auf GitHub ist nicht ganz aktuell.
im Debugger ist noch altes Zeug drin, weiß ich. Diff brauchst du für mich nicht anhängen, nur bei echten Bugfixes die ich selbst noch nicht habe.
 
jo, die Änderungen für "aktuelles Windows" sind trivial. Aber warum son veraltetes 4.7.2? aktuell ist 5.1
Man muss sich aber nicht auf die Kommandozeile quälen, es funktioniert auch hervorragend von der GUI aus, inkl. Debugging.

(andererseits könnte man auch nach "nur 9 Monaten" mal langsam die aktuelle Version hochladen. :unsure:)
 
Zuletzt bearbeitet:
Hello,
first off thanks for your really nice plugin. It's really very helpful.
I am here because i have some trouble and i can't understand if it's an OSCam problem, dvbapinet or DVBViewer.

Problem: after some time of watching any crypted channel the image freeze and turns black. If I change channel after it freezes, it start to work again.

Hardware/Software: OSCam on linux (OSCam: 1.20_svn Build: r11643 Compiler: x86_64-linux-gnu-pcsc) connected to easymouse with a Tivusat card, DvbViewer (7.0.0.0) on windows pc with dvbapiNET last version, Digital Devices tuner
Example: Rai YoYo HD (see attached image for satellite position but any crypted channel has problem)
See attachment for dvbapinet and oscam log.

Sorry for using english, i tried to translate all the thread but i cannot find a solution
 

Anhänge

  • logs.zip
    86,9 KB · Aufrufe: 11
Mein TV-Server der über Mediaportal 2 die Streams im Haus verteilt, hat 4 Sat Karten, habe dieses WE auf OSCam und dvbapiNET/MDAPI+ umgestellt. Ich habe daher eine "Dummy" Frage zu

"...
# Adapter-Offset, Tweak um mehrere Verbidnungen mit oscam zu ermöglichen.
# Wichtig ist, dass der Offset immer größer ist als die schon in anderen Apps konfigurierten gleichzeitigen Instanzen!
# Grundlegend empfehlenswert ist aber die Verwendung von meheren Oscam-Instanzen.
offset=0
..."

Mehrere OSCAM Instanzen am Rechner ist ja kein Problem, aber wie bringe ich das Plugin dazu sich mit der jeweiligen entsprechenden Instanz zu verbinden?

LG
Sunimod
 
Die Instanzen müssen alle unterschieldiche TCP-Ports für die DVBAPI haben. So wählst du aus welche du verwendest.
 
Danke ... Dass ist mir aber schon bewusst, aber nehmen wir an ich tune einen Sender dann springt er in die Standardinstanz PORT 6330, so die Zweite Instanz hat den Port VWXYZ, ich starte gleichzeitig nen 2 Stream (tune mit der 2. Karte) am Sever und er springt trotzdem in die 1. Instanz ..... Wie verklickere ich der dvbapiNET.dll, die ini liegt ja im Ordner der jeweiligen Instanz, bzw. MDAPI+ mit welchem OSCAM sie sich jetzt verbinden soll :cool: Dafür bin ich zu dumm oder keine Ahnung hab was überlesen etc.
 
Ihr habt da einen kleinen (aber feinen) Denkfehler ;)
Der DMS (und entsprechend die DLL) kennen nur EINE Einstellung: Mit CI oder nicht. Dementsprechend kann man auch nur EIN Oscam als Ziel angeben. Man kann also auf diese Art und Weise nicht auswählen.

Aber damit ist Polen noch nicht verloren. Du brauchst halt VIELE Oscams.
Eins dient als Master (zentraler Eingang für die DLL), dort richtest Du dann entsprechend viele Reader ein (mit den jeweiligen CAIDs) und lässt diese dann auf die verschiedenen anderen Oscams zeigen.
 
Zurück
Oben