Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   DSPACK Beispiel : video Direkt aus Ressource laden ! (https://www.delphipraxis.net/155133-dspack-beispiel-video-direkt-aus-ressource-laden.html)

thomas2009 10. Okt 2010 14:19

DSPACK Beispiel : video Direkt aus Ressource laden !
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

einige sagen, dass die Komponent DSPACK in der Lage ist, ein Video direkt aus Ressource (Stream) zu laden
Ich habe die Komponente in mein Delphi7 installiert aber ich weiß nicht wie es geht

Mein Video ist in einer .dll datei

Wer kann mir ein Beispiel als Demo schreiben
so ähnlich hier aber war für mich trotzdem nicht klar :
http://www.progdigy.com/forums/viewtopic.php?p=14094

DeddyH 10. Okt 2010 14:20

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Wie viele Threads willst Du zu diesem Thema eigentlich noch eröffnen?

Zacherl 10. Okt 2010 15:27

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Statt 10 Threads zu diesem Thema aufzumachen, solltest du uns vielleicht eher genau mitteilen, was du eigentlich vor hast. Vielleicht können wir dann auch hilfreiche Antworten geben :roll:

Sir Rufo 10. Okt 2010 15:30

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Das hat er aber doch schon lang und breit gemacht, allerdings scheint hier niemand eine Antwort drauf zu haben.

Er möchte eine Video-Datei die sich in einer Ressource befindet direkt aus selbiger heraus abspielen, ohne diese vorher auf die Platte zu speichern. Also aus einem Stream

Zacherl 10. Okt 2010 15:33

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Vielleicht liegt es auch nur daran, dass ich seine Sätze nicht genau verstanden habe. Aber wenn ich dem Link im Post folge, dann finde ich auf anhieb ein Beispiel für das Abspielen aus einem Stream heraus:
Delphi-Quellcode:
procedure TForm3.TestCustomStream(Src: TStream; Compress: boolean);
var
  D : TStream;
  TS : TCustomSrcFilter;
  Size: Int64;
begin
  if not FilterGraph.Active then FilterGraph.Active := true;
  FilterGraph.ClearGraph;

  Size := Src.Size;

  D := TMemoryStream.Create;
  try
    D := Src;
    TS := TCustomSrcFilter.Create(D, Compress, Size);
    try
      RenderFilter(TS);
    finally
       log.Lines.Add('* Rendering Complete!');
    end;
  finally
    D:=nil;
    D.Free;
  end;
end;

procedure TForm3.RenderFilter(AFilter: TBCBaseFilter);
var
  FG : IFilterGraph2;
  I : integer;
begin
  FilterGraph.QueryInterface(IFilterGraph2, FG);
  FG.AddFilter(AFilter, 'Test');
  with TPinList.Create(AFilter) do
  try
    for I := 0 to Count - 1 do
      if PinInfo[I].dir = PINDIR_OUTPUT then
        CheckDSError(FG.Render(Items[I]));
  finally
    Free;
  end;
  SoundLevel.Position := FilterGraph.Volume;
  SetNormalSize;
  FilterGraph.Play;
end;
Sogar der Aufruf wird gezeigt:
Delphi-Quellcode:
var
   t : TMemoryStream;
begin
    t:= TMemoryStream.Create;
    try
      t.LoadFromStream(varYourFileStream);
      TestCustomStream(t, false);
    finally
      t:=nil;
      t.Free;
    end;
end;

wicht 10. Okt 2010 15:38

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Genau. Und weil der TE das Video aus einer Resource heraus lädt, wenn ich das richtig in Erinnerung habe, müsste da einfach ein TResourceStream übergeben werden. Ich kenne DSPack allerdings nicht.
Falls das auch noch nichts bringt, könnte etwas Quelltext sicher auch helfen. Aber dieses "geht nicht, verstehe ich nicht, macht ihr bitte mal" ist irgendwie nicht so schön. Vielleicht wäre ein Thread in dem Jobs-Topic ja passender... weil ich irgendwie denke, dass auf diesen Thread noch ein paar andere folgen, die mit Resourcen, DLLs und Videos zu tun haben...
Ich kann DeddyH da schon gut verstehen.

Sir Rufo 10. Okt 2010 15:39

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Es gibt dort auch noch einen Link auf die Embargo Seite mit einem kompletten Projekt inkl. Exe

Das verstehe ich allerdings auch nicht ... Ich hätte jetzt auch eher Fragen zu dem Code dort erwartet

lbccaleb 10. Okt 2010 19:25

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Sag mal bemühst du sich eigentlich auch mal ein wenig alleine auf die Reihe zu bekommen?
Benutz doch einfach mal eine Suchmaschiene wie http://www.google.de um an deine Informationen zu kommen die du brauchst, da findet man gleich im ersten Link wenn man nach deinen Suchbegriffen sucht dieses hier:

DSPACK Stream Player

Wenn man nur keine Lust hat selber zu arbeiten, dann nervt man aber andere lieber damit oder wie?

Edit: Sogar für ganz doofe mit Video xD

thomas2009 10. Okt 2010 22:56

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Wenn es so kompliziert ist, dann lieber was anderes suchen. Gute Nacht

Zacherl 11. Okt 2010 05:01

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Zitat:

Zitat von thomas2009 (Beitrag 1054981)
Wenn es so kompliziert ist, dann lieber was anderes suchen. Gute Nacht

Nicht dein Ernst oder? :roll: Einfacher wirst du es kaum finden, auch wenn du noch 20 Threads zum Thema aufmachst. Du brauchst doch nur den Code kopieren und statt des TFileStreams einen TMemoryStream benutzen.
Irgendwie habe ich hier das schlechte Gefühl du wartest einfach auf ein fertiges "Demo" Programm von uns. Vielleicht solltest du wirklich auf den Rat von wicht hören und mal eine Anzeige in der Job Section stellen.

Sir Rufo 11. Okt 2010 07:05

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Ich glaube du meintest einen TResourceStream ;) kommt ja aus einer Resource

Ich habe das Gefühl er möchte das in Hipp-Ausführung - vorgekaut

Zacherl 11. Okt 2010 12:45

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Ja klar TResourceStream meinte ich natürlich :P

thomas2009 11. Okt 2010 13:25

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Natürlich wird hier TResourceStream benötigt und nicht TMemoryStream,
da mein Video in einer dll Datei sich befindet und nicht in .Res

---
http://www.vwlowen.co.uk/directshow/page01.htm

lbccaleb 11. Okt 2010 16:39

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Was genau ist denn jetzt dein Problem?
Wir können dir sicherlich besser helfen, wenn du mal ein wenig mehr verrätst.
Vllt auch ein wenig mehr deines Codes zeigst, oder event. sogar dein Programm postest...

Zacherl 11. Okt 2010 17:19

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Zitat:

Zitat von thomas2009 (Beitrag 1055071)
Natürlich wird hier TResourceStream benötigt und nicht TMemoryStream,
da mein Video in einer dll Datei sich befindet und nicht in .Res

Was ne geile Begründung. Weißt du eigentlich auch nur ansatzweise was du da überhaupt machst? Und wenn du schon weißt, dass natürlich TResourceStream benutzt werden muss, wieso fragst du dann noch nach der weiteren Verwendung? Hier im Thread steht der komplette Code, mit dem du dein Vorhaben alleine durch Copy&Paste umsetzen kannst ..

thomas2009 12. Okt 2010 00:44

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Das Video befindet sich in einer .dll Datei
Ich muss das Video als Ressource laden
und dann mit der Komponente abspielen
also :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  hRes: THandle;
  h: THandle;
  p: Pointer;
  DestStream: TFileStream;
begin
  hRes := LoadLibrary('videos.dll');
  if hRes <> 0 then
  try
    h := FindResource(hRes, 'video1', RT_RCDATA);
    if h <> 0 then
    try
      h := LoadResource(hRes, h); // nun haben wir das Video als Stream
...
wer kann weiter den Code fertigen ?

Zacherl 12. Okt 2010 04:56

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Du scheinst wirklich keine Ahnung von dem zu haben was du da machst. Dein Beispielcode läd eine Resource per API. Bisher hast du nur das Resourcen Handle. Vorher wolltest du die Resource per TResourceStream laden, was für einen offensichtlichen Anfänger auf dem Gebiet auch sehr viel praktischer ist. Ein einfaches Beispiel findest du per Google in 5 Sekunden:
Delphi-Quellcode:
var
  RS: TResourceStream;
begin
  // Do this if the resource is named
  RS := TResourceStream.Create(
    HInstance,    // your app or DLL instance handle
    ResourceName, // string containing resource name
    RT_RCDATA);   // identifies RCDATA resource type

thomas2009 12. Okt 2010 11:25

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Was machst du da !!!
der Code muss so anfangen :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  h :HINST;
  r :TResourceStream;
begin
  h := LoadLibrary('videos.dll');
  if h <> 0 then begin
    r := TResourceStream.Create(h, 'video1', 'RCDATA');
...

lbccaleb 12. Okt 2010 11:26

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
na das sieht doch schon gut aus, und wo genau ist nun dein problem?

Sir Rufo 12. Okt 2010 11:37

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Zitat:

Zitat von thomas2009 (Beitrag 1055277)
Was machst du da !!!
der Code muss so anfangen :

Mach mal das Fenster bei Dir auf, ich denke der Sauerstoffgehalt in deinem Zimmer ist gerade an einem kritischen Punkt.

Da versucht dir jemand zu helfen und du kommst ihm hier als Klugs...

Wenn du alles so genau weißt (BTW. Dein Code war falsch und Zacherl hat nur auf das falsche hingewiesen - das würdest du erkennen, wenn du wissen würdest, was du da machst), warum fragst du dann noch. Du hast alles um das umzusetzen.

OK, denken und tippen musst du selber. Einsicht, Erkenntnis und Transferleistung müssen aus einem selber kommen - das gibt's auch nicht zu kaufen.

und

Dieses ist kein Cry4CopyNPaste Forum (lies dir die Forumsregeln durch, oder möchtest du die lieber als Hörbuch?)

thomas2009 12. Okt 2010 12:17

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Zitat:

Zitat von lbccaleb (Beitrag 1055279)
na das sieht doch schon gut aus, und wo genau ist nun dein problem?

Mein Problem ist nun, wie kann ich den Code mit DSPACK kombinieren, nachdem ich mein Video aus einer .dll Datei als Stream importiert habe ?

DSPACK kann das Video aus Stream lesen
http://www.progdigy.com/forums/viewtopic.php?p=14094

So steht in der Webseite, ich bin aber nicht sicher ob das stimmt, da ich keine Erfahrung mit dem DSPACK habe.

wicht 12. Okt 2010 12:30

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Der neunte Post in deinem Link. An diese obere Funktion im Code des Posts gibst du deinen Stream mit. Und dann müsste das klappen, sofern die Leute in dem Forum von progdigy.com recht haben.

Und wo zum Teufel ist jetzt das Problem... Was funktioniert jetzt nicht, was ist noch unklar...

Zacherl 12. Okt 2010 12:35

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Danke Sir Rufo, dem habe ich nichts mehr hinzuzufügen. Dies war dann wohl die letzte Hilfestellung von mir an thomas.

@wicht: Bemüh dich nicht. Er wird erst zufrieden sein, wenn du ihm einen kompletten, fertigen, funktionierenden Code lieferst. Das Kombinieren des Aufrufes vom fertigen Abspielcode und dem mühsam zusammenkopierten ResourceStream Code scheint eine zu große Herausforderung für den Threadersteller zu sein. :roll:

DeddyH 12. Okt 2010 12:36

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Ich fühle mich an einen gewissen t*****y erinnert (Name zensiert).

wicht 12. Okt 2010 12:38

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Zacherl, ich wollte es noch einmal probieren.. ich bin einfach zu lieb. Auch wenn ich damit rechne, dass du Recht behälst :(

thomas2009 17. Okt 2010 22:32

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Hat jemand die Komponente installiert und den Code getestet ?
Oder ist das nur Theorie ?

lbccaleb 17. Okt 2010 23:50

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Ich selber habe noch keine Streams mit DSPack verarbeitet. Aber weiter vorne im Thread hatte ich ja nen Link zu einer möglichkeit gepostet. Und dort funktioniert das ja auch....

tcoman 25. Aug 2015 12:49

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Zitat:

Zitat von thomas2009 (Beitrag 1055303)
Zitat:

Zitat von lbccaleb (Beitrag 1055279)
na das sieht doch schon gut aus, und wo genau ist nun dein problem?

Mein Problem ist nun, wie kann ich den Code mit DSPACK kombinieren, nachdem ich mein Video aus einer .dll Datei als Stream importiert habe ?

DSPACK kann das Video aus Stream lesen
http://www.progdigy.com/forums/viewtopic.php?p=14094

So steht in der Webseite, ich bin aber nicht sicher ob das stimmt, da ich keine Erfahrung mit dem DSPACK habe.

Hallo Thomas,
ich versuche auch eine dokumentation zu dem
dspack zu bekommen. Bei so einer riesigen
Komponente muss es das doch geben. Mit Beispielen
usw. Leider ist www_prodigy_com nicht mehr online,
so muessen die suchmaschinen weiterhelfen.

Ich denke, dass Dir mit einer Doku besser gedient
ist, als einzelne Fragen ueber das "wie geht das"
zu stellen.

Lob an Zacherl, Du hast Dir echt Muehe gegeben...
Gruss
terence

TiGü 25. Aug 2015 13:28

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Den Thomas wird das nach fünf Jahren auch nicht mehr interessieren! :shock:

frankyboy1974 25. Aug 2015 13:43

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Hallo Karl Marx,

ich wollte dir hier an dieser Stelle noch mal, für dein kürzlich veröffentlichets Manifest danken.


mfg

Mao

Perlsau 25. Aug 2015 13:59

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Dem schließe ich mich an und danke Platon für seine herrausragenden Schriften, das er uns vor kurzem zur Verfügung gestellt hat. Im Verhältnis zur Dauer der menschlichen Evolutionsgeschichte war das nämlich erst vor ein paar Minuten :twisted:

hathor 25. Aug 2015 14:42

AW: DSPACK Beispiel : video Direkt aus Ressource laden !
 
Liste der Anhänge anzeigen (Anzahl: 1)
Gab es Jesus wirklich?
Übrigens: Die Menschen gibt es schon seit über 2 Millionen Jahren.
Eigentlich ist nicht viel geschehen in dieser Zeit...
Welch ein Glück, dass ich vor 2 Wochen meine Daimler-Aktien abgestossen habe!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:11 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