AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DSPack / DirectShow Problem
Thema durchsuchen
Ansicht
Themen-Optionen

DSPack / DirectShow Problem

Ein Thema von sebLA · begonnen am 2. Okt 2018 · letzter Beitrag vom 2. Jan 2019
Antwort Antwort
sebLA

Registriert seit: 2. Okt 2018
2 Beiträge
 
#1

DSPack / DirectShow Problem

  Alt 2. Okt 2018, 14:25
Hallo zusammen,

Ich durfte vor Kurzem ein Projekt eines Kollegen übernehmen, der nun leider nicht mehr erreichbar ist und habe eine Frage bzw. ein Problem. Normalerweise beschäftige ich mich mit Java und muss mich nun um die Softwarepflege des bestehenen Delphi-Programms kümmern. Bislang klappt das ganz gut, nur muss ich nun eine andere IP-Kamera in das Projekt einbinden und stoße auf einige Probleme.

Im Programm wird ein MJPEG-Stream per HTTP über die Axis Media Control API als AVI-Datei eingelesen und gespeichert. Dieser wird anschließend per DirectShow9 ausgegeben.

Code:
FilterGraph.ClearGraph;
FilterGraph.RenderFile(Datei); //Datei ist hierbei Pfad zur AVI-Datei
FilterGraph.Pause;
Nun habe ich das Problem, dass ich bei manchen Dateien die Exception "EDirectShowException" erhalte. Ich habe mir die entsprechenden Dateien und ihre Metadaten angeschaut und musste dabei feststellen, dass korrekte Dateien folgende Metadaten für die Auflösung anzeigen "Width : 1 280 pixels, Height : 720 pixels" und fehlerhafte Dateien "Width : 83128 644 pixels , Height : pixel0". Im VLC-Player lassen sich aber beide Dateien darstellen. Ich schätze also, dass beim Abspielen mittels DirectShow die Metadaten zu einem Problem führen.

Gibt es eine Möglichkeit die Metadaten zu ignorieren oder zu ändern? Mir fehlen leider weitere Ideen und ich bin solangsam am verzweifeln... Dokumentation gibt es leider auch keine.

Vielen Dank und viele Grüße,
Sebastian
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: DSPack / DirectShow Problem

  Alt 2. Okt 2018, 15:38
Sieh dir mal meinen Player an vielleicht kannst du ja meine DLL dafür verwenden.
Aber auch diese funktioniert nur mit Korrekten Daten die vom Axis Media Control gespeichert wurden.
Wenn hier schon die falschen Auflösungen in der AVI abgelegt werden dann geht es genauso wenig.

die API und die DLL kannst du unter finden..

Zitat:
Im VLC-Player lassen sich aber beide Dateien darstellen.
Ich denke die fangen das intern ab.
Also wenn die W/H nicht korrekt sind dann wird versucht diese auf die Aktuelle Video Window Größe zu setzen erst wenn das fehlschlägt bzw. der Typ nicht unterstützt wird gibt's ne Fehlermeldung.

try.. except bla, bla setze die größe selbst und versuche es nochmal.
Zitat:
"Width : 83128 644 pixels , Height : pixel0".
Da liegt wohl ein Speicherproblem vor.. Nulle die Höhe und die Weite bevor du sie abfragst.
Wenn du die vorher nicht abfragen kannst dann liegt ein Design Problem vor. (Schlecht programmiert, nun dann viel spaß dabei)

Wenn eins der beiden 0 dann setze die größe selbst.
Und starte erst dann den stream.

gruss

Geändert von EWeiss ( 2. Okt 2018 um 15:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: DSPack / DirectShow Problem

  Alt 2. Okt 2018, 20:29
Gut wäre, um es nachzuvollziehen, die ersten 2-3 Chunks der .avi einsehen zu können. Metadaten greifen eigentlich nicht in den Abspielpin ein, die dienen nur visuelles blabla darzustellen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
sebLA

Registriert seit: 2. Okt 2018
2 Beiträge
 
#4

AW: DSPack / DirectShow Problem

  Alt 4. Okt 2018, 11:27
Ich habe die Dateien nun noch weiter verglichen und es liegt tatsächlich nur am Header. In den funktionsfähigen Dateien ist die richtige Auflösung hinterlegt und in den nicht funktionsfähigen Dateien eine falsche Auflösung. Wenn ich nun im Hex-Editor den Header entsprechend anpasse, so sind alle Dateien lauffähig. Nun werde ich versuchen das irgendwie in Delphi automatisch anzupassen.

Vielen Dank nochmal und viele Grüße,
Sebastian
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
252 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: DSPack / DirectShow Problem

  Alt 2. Jan 2019, 16:00
Hi,
das klingt eher nach einem Problem des 'Datenlieferanten', hast Du schon mal beim Kamerahersteller nach einem Update der Kamerasoftware gefragt?

Tomy
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz