Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   video abspielen ohne es vorher zu speichern (https://www.delphipraxis.net/154570-video-abspielen-ohne-es-vorher-zu-speichern.html)

thomas2009 15. Sep 2010 18:26

video abspielen ohne es vorher zu speichern
 
hallo
mein Video auf die Festplatte ist verschlüsselt
Mein Programm entschlüsselt es und speichert es in Windows temp ordner und dann von dort das Video laden und abspielen mit mediaplayer-Komponent in mein Panel

Ich möchte aber lieber das Video direkt abspiel ohne es in auf die festplatte (temp) zu speichern. ist es möglich ?

Teekeks 15. Sep 2010 18:50

AW: video abspielen ohne es vorher zu speichern
 
Wenn das was du entschlüsselst in einen Stream anstatt in eine Datei speicherst, sollte das gehen...

DeddyH 15. Sep 2010 18:54

AW: video abspielen ohne es vorher zu speichern
 
Wenn der benutzte Player Streams unterstützt ;)

thomas2009 15. Sep 2010 20:51

AW: video abspielen ohne es vorher zu speichern
 
kann jemand mir zeigen, wie man die Datei in einem Steam enschlüsselt ?

Ich verwende diese Funktionen :
http://www.swissdelphicenter.ch/en/showcode.php?id=1629

mkinzler 15. Sep 2010 20:56

AW: video abspielen ohne es vorher zu speichern
 
Wie ist sie den verschlüsselt?

thomas2009 15. Sep 2010 21:35

AW: video abspielen ohne es vorher zu speichern
 
so zum Beispiel :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  schrott:TWordTriple;

begin
  schrott[0]:=1111;
  schrott[1]:=2222;
  schrott[2]:=3333;

FileEncrypt('film1.avi','film1x.avi',schrott);
end;

mkinzler 15. Sep 2010 21:38

AW: video abspielen ohne es vorher zu speichern
 
Dann bräuchtest du ja etwas wie StreamEncrypt/StreamDecrypt

Teekeks 15. Sep 2010 21:48

AW: video abspielen ohne es vorher zu speichern
 
Delphi-Quellcode:
function StreamCrypt(InFile: String; Key: TWordTriple; Encrypt: Boolean; out outstream:TMemoryStream): boolean;
var
  MIn: TMemoryStream;
begin
  MIn := TMemoryStream.Create;
  Try
    MIn.LoadFromFile(InFile);
    outstream.SetSize(MIn.Size);
    if Encrypt then
      result:=MemoryEncrypt(MIn.Memory, MIn.Size, outstream.Memory, outstream.Size, Key)
    else
      result:=MemoryDecrypt(MIn.Memory, MIn.Size, outstream.Memory, outstream.Size, Key);
   
  finally
    MIn.Free;
  end;
end;
Bitte.
Nicht getestet und es muss noch ein bissl Fehlerbehandlung dazu, aber ansonsten sollte das so gehen...

thomas2009 15. Sep 2010 21:52

AW: video abspielen ohne es vorher zu speichern
 
Ich weiß aber nicht, wie man die Datei als stream convertiert
Das 2. Problem, ich weiß auch nicht ob die Delphi-Mediaplayer-Component steam unterstützt !

Teekeks 15. Sep 2010 22:03

AW: video abspielen ohne es vorher zu speichern
 
Guck dir das doch mal an: du gibst den dateinamen an und gibst bei outstream einen vorher schon erzeugten Stream mit an.
Nach dieser Funktion hast du in outStream die Datei als entschlüsselten Stream drin.

thomas2009 15. Sep 2010 22:23

AW: video abspielen ohne es vorher zu speichern
 
Ich werde sie testen aber die Frage ob Mediaplayer1 aus stream lesen can !!!

es erscheint zu funktionieren:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  schrott:TWordTriple;

  mimo1: TMemoryStream; // als global
begin
  mimo1 := TMemoryStream.Create;

  schrott[0]:=1111;
  schrott[1]:=2222;
  schrott[2]:=3333;

StreamCrypt(edit3.text,schrott,true, mimo1);
end;
Wie kann ich nun testen, ob mediaplayer aus stream lesen kann ???

Satty67 15. Sep 2010 22:40

AW: video abspielen ohne es vorher zu speichern
 
Das wird mit hoher Wahrscheinlichkeit nicht gehen

MCI_LOAD_PARMS in mciSendCommand kennt nur einen Dateinamen als Parameter.

thomas2009 15. Sep 2010 22:55

AW: video abspielen ohne es vorher zu speichern
 
Wenn es nicht geht, dann speichere ich halt die Datei in win temp :(

Satty67 15. Sep 2010 22:57

AW: video abspielen ohne es vorher zu speichern
 
oder DSPack verwenden, welches das wohl kann (irgendwo in den zahlreichen Threads ist ein Link dazu)

thomas2009 15. Sep 2010 23:15

AW: video abspielen ohne es vorher zu speichern
 
jemand sagt, dass eine free Komponent "TMediaplayerMemory" gibt, die das machen kann !!!
quelle :
http://groups.google.com/group/borla...3079c2da?pli=1

leider konnte ich die komponent für mein Delphi7 nicht gut installieren


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