Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Video - setpositions funktioniert nicht - DirectX Problem? (https://www.delphipraxis.net/212462-video-setpositions-funktioniert-nicht-directx-problem.html)

nezumi7 14. Feb 2023 10:46

Video - setpositions funktioniert nicht - DirectX Problem?
 
Liste der Anhänge anzeigen (Anzahl: 1)
um meine Videos zu schneiden habe ich mir ein kleines Programm geschrieben, mit dem ich Stellen im Video bildgenau ansteuern kann. Das hat immer gut funktioniert, nun aber nicht mehr. Ich hatte ursprünglich ein Delphi-update im Verdacht, glaube aber inzwischen, dass es an DirectX12 liegt. Grund: Dasselbe Programm funktioniert auf meinem XP-Rechner (DirectX9) wie es soll, auf Windows 10 (DirectX12) dagegen nicht mehr.

Um das Problem zu verdeutlichen, hänge ich eine stark abgespeckte Version meines Programms an. Unter XP kann man mit den Pfeiltasten immer ein Bild vor oder zurück springen (ich hab zur Vereinfachung mal eine Videokodierung mit einer framerate von 25 fps unterstellt und verändere die Zeit daher jeweils um 40 ms).

unter Windows 10 funktioniert das nicht. Das Bild verändert sich immer erst, nachdem man zig mal gedrückt hat und springt dann ein größeres Stück. Ich vermute, dass nur noch keyframes angesteuert werden.

Kennt jemand dieses Problem und kann mir einen Tipp geben, wie ich auch mit DirectX12 das gewünschte Ergebnis erreiche? Oder hat das gar nichts mit der DirectX Version zu tun? Ich tappe da ziemlich im Dunkeln...

TiGü 14. Feb 2023 11:39

AW: Video - setpositions funktioniert nicht - DirectX Problem?
 
Auch auf Windows 10 wird durch die Verwendung von DirectShow9 die Schnittstellen Direct3D9 und DXVA 2 verwendet, nicht explizit DirectX12.
Siehe auch die geladenen DLLs nach Aufruf von IGraphBuilder.RenderFile.

Mit einen WMV funktioniert das Abspielen und das Einzelbild schalten problemlos.
MP4 Dateien werden nicht geladen?!

Du prüfst nicht den Rückgabewert von IMediaSeeking.SetPositions (https://learn.microsoft.com/en-us/wi...g-setpositions), vielleicht hilfreich?
Rufe IMediaControl.StopWhenReady nach dem Aufruf von SetPositions.
Ggf. hilft es (siehe letzter Absatz: https://learn.microsoft.com/en-us/wi...g-the-position).

nezumi7 14. Feb 2023 15:39

AW: Video - setpositions funktioniert nicht - DirectX Problem?
 
Zitat:

Zitat von TiGü (Beitrag 1518668)
Auch auf Windows 10 wird durch die Verwendung von DirectShow9 die Schnittstellen Direct3D9 und DXVA 2 verwendet, nicht explizit DirectX12.
Siehe auch die geladenen DLLs nach Aufruf von IGraphBuilder.RenderFile.

Mit einen WMV funktioniert das Abspielen und das Einzelbild schalten problemlos.
MP4 Dateien werden nicht geladen?!

Du prüfst nicht den Rückgabewert von IMediaSeeking.SetPositions (https://learn.microsoft.com/en-us/wi...g-setpositions), vielleicht hilfreich?
Rufe IMediaControl.StopWhenReady nach dem Aufruf von SetPositions.
Ggf. hilft es (siehe letzter Absatz: https://learn.microsoft.com/en-us/wi...g-the-position).

Hi TiGü,

danke für deine Tipps, hat aber leider nichts gebracht. Ich glaube auch, dass es weder was mit dem Programm noch mit dem konkreten Video-file zu tun hat, weil - wie gesagt - dasselbe Programm, dasselbe Video: auf einem Rechner funktionierts auf dem anderen nicht...

hotrs02 15. Feb 2023 09:22

AW: Video - setpositions funktioniert nicht - DirectX Problem?
 
DirectShow verwendet ja Codecs zum Decodieren der verschiedenen Dateiformate. Und diese haben wiederum Einfluss auf das Positionieren innerhalb der Datei. Kommen auf beiden Systemen die gleichen Codecs zum Einsatz? Diese gehören ggf. nicht zum Betriebssystem und müssen nachinstalliert werden.

Und mit welchen Dateiformaten hast du deine Tests durchgeführt?

nezumi7 15. Feb 2023 10:59

AW: Video - setpositions funktioniert nicht - DirectX Problem?
 
Zitat:

Zitat von hotrs02 (Beitrag 1518705)
DirectShow verwendet ja Codecs zum Decodieren der verschiedenen Dateiformate. Und diese haben wiederum Einfluss auf das Positionieren innerhalb der Datei. Kommen auf beiden Systemen die gleichen Codecs zum Einsatz? Diese gehören ggf. nicht zum Betriebssystem und müssen nachinstalliert werden.

Und mit welchen Dateiformaten hast du deine Tests durchgeführt?

Danke hotrs02, das war der richtige Tipp! Ich habe jetzt unzählige codec-packs installiert und wieder deinstalliert. Mit k-lite mega hats dann endlich geklappt, freu!

:-D


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