AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Video vergrößern

Ein Thema von EWeiss · begonnen am 18. Aug 2017 · letzter Beitrag vom 19. Aug 2017
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

Video vergrößern

  Alt 18. Aug 2017, 19:31
Hat jemand Informationen darüber wie ich Videos mit DirectShow zoomen kann?
Informationen darüber im NET zu finden sind spärlich.

Wie kompliziert wäre das?

gruss
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Video vergrößern

  Alt 18. Aug 2017, 20:05
Was meinst du mit vergrößern? Nur die Anzeige oder so speichern?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Video vergrößern

  Alt 18. Aug 2017, 20:07
Was meinst du mit vergrößern? Nur die Anzeige oder so speichern?
Das Video?

gruss
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Video vergrößern

  Alt 18. Aug 2017, 20:19
Möchtest du z.B. ein 320x200 Video mit 640x400 ansehen oder als ein Video mit der Auflösung speichern?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Video vergrößern

  Alt 18. Aug 2017, 20:26
Möchtest du z.B. ein 320x200 Video mit 640x400 ansehen oder als ein Video mit der Auflösung speichern?
Ich möchte zoomen.
Von speichern war nicht die rede.

gruss
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Video vergrößern

  Alt 18. Aug 2017, 20:36
Ich habe da noch etwas uraltes (2006). Könnte mittlerweile etwas anders aussehen, läuft aber zumindest noch. Über die Größe des Fensters ergibt sich einfach die angezeigte Größe.
Weiter ist ein Boolean zum Abbrechen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var pGraph: IGraphBuilder;
    pMediaControl: IMediaControl;
    pEvent: IMediaEvent;
    pSeek: IMediaSeeking;
    pVidWin: IVideoWindow;
    evCode, x, y: Integer;
    lpParam1, lpParam2: LONG_PTR;
    tim, dim: Int64;
begin
  if not OpenDialog1.Execute then exit;
  CoCreateInstance(CLSID_FilterGraph, Nil, CLSCTX_INPROC_SERVER,
                    IID_IGraphBuilder, pGraph);
  pGraph.QueryInterface(IID_IMediaControl, pMediaControl);
  pGraph.QueryInterface(IID_IMediaEventEx, pEvent);
  pGraph.RenderFile(PWIdeChar(OpenDialog1.FileName), Nil);
  pGraph.QueryInterface(IID_IMediaSeeking, pSeek);
  pSeek.GetDuration(tim);
  Label1.Caption:=IntToStr(tim div 10000000);
  pGraph.QueryInterface(IID_IVideoWindow, pVidWin);
  pVidWin.put_Owner(Handle);
  pVidWin.put_WindowStyle(WS_CHILD);
  pVidWin.get_Width(x);
  pVidWin.get_Height(y);
  pVidWin.SetWindowPosition(2, Panel1.Height+2, x, y); //Wiedergabegröße
  weiter:=true;
  pMediaControl.Run;
  while weiter do
  begin
    if pEvent.GetEvent(evCode, lpParam1, lpParam2, 0)<>E_ABORT then
    begin
      if evCode=EC_COMPLETE then weiter:=false;
      pEvent.FreeEventParams(evCode, lpParam1, lpParam2);
    end;
    pSeek.GetPositions(tim, dim);
    Label2.Caption:=IntToStr(tim div 10000000);
    Application.ProcessMessages;
  end;
  pVidWin.put_Visible(FALSE);
  pVidWin.put_Owner(0);
  pVidWin._Release;
  Pointer(pVidWin):=Nil;
  pMediaControl._Release;
  Pointer(pMediaControl):=Nil;
  pEvent._Release;
  Pointer(pEvent):=Nil;
  pGraph._Release;
  Pointer(pGraph):=Nil;
end;
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Video vergrößern

  Alt 18. Aug 2017, 20:49
Danke werde mich mal einlesen

gruss
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Video vergrößern

  Alt 18. Aug 2017, 21:08
Mit Delphi 2010 hast du aber wohl noch Glück und kannst dir die Arbeit sparen. http://www.delphipraxis.net/158430-d...delphi-xe.html
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: Video vergrößern

  Alt 18. Aug 2017, 21:25
Mit Delphi 2010 hast du aber wohl noch Glück und kannst dir die Arbeit sparen. http://www.delphipraxis.net/158430-d...delphi-xe.html
Vergiss es Danke.
Kein DSPack..

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: Video vergrößern

  Alt 19. Aug 2017, 15:53
Habe den zoom jetzt auf der Basis von DSPack ausgelegt eine andere Möglichkeit mit madVr in Zusammenhang
mit BasicVideo2 würde nicht funktionieren.

Das Problem ist nun das EVR und die anderen Filter aber nicht auf BasicVideo2 ausgelegt sind.
Ich finde nicht das richtige Spektrum um auch hier den Zoom Effekt anwenden zu können.

Hmm....

über
Delphi-Quellcode:
    function SetVideoPosition({unique} pnrcSource: PMFVideoNormalizedRect; {unique} prcDest: PRECT): HResult; stdcall;
    function GetVideoPosition(out pnrcSource: TMFVideoNormalizedRect; out prcDest: TRECT): HResult; stdcall;
sieht das sehr bescheiden aus.

gruss
  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:04 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