Infoseite // Videos vergleichen, a la VMRPlayer SDK



Frage von Frank Derlin:


Hallo Zusammen,
ich suche eine kompfortablere Möglichkeit zwei technisch
grundsätzlich verschiedene Videos (;zB. AVI und MPEG2), auch
unterschiedlicher Länge, visuell miteinander zu vergleichen.

Das was mir vorschwebt gibt/gab es in Form eines Samples im DirectX
SDK: ...DXSDK/Samples/C /DirectShow/VMR9/VMRPlayer.
Mit dem Tool kann man die Videos überlagern und/oder sie zB. über-
einander (;1.Video oben, 2.Video unten im gleichen Fenster) abspielen.
Der Haken daran ist, das ich die Videos mittendrin nicht synchronisieren
kann, wenn sich die Videos zB. szenenweise, oder nur durch ein einzelnes
Bild unterscheiden.
Durch den SourceCode steige ich nicht durch, um ihn für meine Zwecke
umzubauen.

Oder in dessen Abwandlung bei CodeProject/DirectShowVMR9 demo.
Keine Möglichkeit der Synchronisation.

Ich kenne Avisynth/StackHorizontal(;Vertical).
Zu umständlich, weil jede Änderung im Script (;trim) ein Neuladen der
Videos bedeutet.

Weiterhin gibt es (;mindestens zwei) Player-Programme im Sportbereich.
Etwa Golf oder Tennis, um zB. die Bewegungen des Spielers zu analysieren.
Für mich entweder ungeeignet, zu teuer, oder nur per Kreditkarte zu
bezahlen.

Nätürlich gibt es auch noch größere "Schnittprogramme", (;bei mir hier den
MainActor) mit der Möglichkeit die Videos in der Timeline zu verschieben.

Kurze Rede Langer Sinn, das was mir bekannt ist reicht mir nicht aus,
um damit einigermaßen komfortabel zu "arbeiten".

Wie vergleicht ihr eure Videos?

Gruß, Frank


Space


Antwort von Frank Derlin:

Ingrid,

"Frank Derlin" schrieb...
> ich suche eine kompfortablere Möglichkeit zwei technisch
[snip]

Tja, scheint so als käme ich um Avisynth nicht herum. Warum sollte man
das Rad noch einmal erfinden. Ich muß mir also selbst etwas bauen.
*.avs mit 'PlayWindow Sample" verknüpfen und sowas als Grundlage verwenden:

mk-AVS-DS-4xVergleich.bat --> Senden an..
8<---
@echo off
set Ausgabe1=%~dpn1--1dsStackVertical.avs
set Ausgabe2=%~dpn1--2dsCompare.avs
set Ausgabe3=%~dpn1--3dsOverlay.avs
set Ausgabe4=%~dpn1--4dsDiff.avs

echo #Script > %Ausgabe1%
echo a%DirectShowSource(;"%1").BilinearResize(;720,288).trim(;0,0) >> %Ausgabe1%
echo b%DirectShowSource(;"%2").BilinearResize(;720,288).trim(;0,0) >> %Ausgabe1%
echo StackVertical(;ConvertToYV12(;a),ConvertToYV12(;b)) >> %Ausgabe1%

echo #Script > %Ausgabe2%
echo a%DirectShowSource(;"%1").BilinearResize(;720,288).trim(;0,0).ConvertToYUY2(;) >> %Ausgabe2%
echo b%DirectShowSource(;"%2").BilinearResize(;720,288).trim(;0,0).ConvertToYUY2(;) >> %Ausgabe2%
echo Compare(;ConvertToYUY2(;a),ConvertToYUY2(;b)) >> %Ausgabe2%

echo #Script > %Ausgabe3%
echo a%DirectShowSource(;"%1").BilinearResize(;512,480).trim(;0,0) >> %Ausgabe3%
echo b%DirectShowSource(;"%2").BilinearResize(;512,480).trim(;0,0) >> %Ausgabe3%
echo Overlay(;ConvertToYV12(;a),ConvertToYV12(;b),opacity0.5).ShowFrameNumber(;scroll%true) >> %Ausgabe3%

echo #Script > %Ausgabe4%
echo a%ConvertToYV12(;DirectShowSource(;"%1").BilinearResize(;512,288).trim(;0,0)) >> %Ausgabe4%
echo b%ConvertToYV12(;DirectShowSource(;"%2").BilinearResize(;512,288).trim(;0,0)) >> %Ausgabe4%
echo #.AssumeFPS(;23.976,true) >> %Ausgabe4%
echo sub = a.subtract(;ConvertToYV12(;b)) >> %Ausgabe4%
echo substrong = sub.levels(;112,1,144,0,255) >> %Ausgabe4%
echo c%StackHorizontal(;a.subtitle(;"1st"),b.subtitle(;"2nd")) >> %Ausgabe4%
echo d%StackHorizontal(;sub.subtitle(;"subtract"),substrong.subtitle(;"levels")) >> %Ausgabe4%
echo return StackVertical(;ConvertToYV12(;c),ConvertToYV12(;d)) >> %Ausgabe4%

set Ausgabe1=
set Ausgabe2=
set Ausgabe3=
set Ausgabe4=

echo LW-Pfad = %~dp1
echo DatName = %~n1 %~x1
echo NameExt = %~nx1
pause8<---

Und darauf aufbauend ein GUI, was mir das Trim(;) etwas angenehmer gestaltet
und die vier Ausgaben vereint. Vielleicht mit doppeltem Seek "Schieberegler.


Gruß, Frank

NRN



Space



Antworten zu ähnlichen Fragen //


Plugins für DaVinci Resolve programmieren mit dem Fusion Fuse SDK
Sony ILX-LR1 - kompakte Vollformat Boxkamera mit Camera Remote SDK
Blackmagic DaVinci Resolve 18.6.4 Update - RAW SDK 3.6 und erweiterte Scripting API
Adobe Premiere Pro erhält Nikon N-RAW Support via RED SDK
Vimeo - Videos laden in Zeitlupe
Achtung: Einige Sony SD-Karten speichern Videos fehlerhaft!
YouTube unterbricht jetzt auch kürzere Videos für Werbeeinblendungen
Exportproblem Davinci (Videos zu roß...)
Mehrfach-Videos
TecoGAN: Neuer KI Super-Resolution Algorithmus macht Videos 4x schärfer
Sony Memnon Dars.Media: Neuer Marktplatz für Stock Videos
Verpixelte Videos im Format 1080x1350
KI ersetzt den Himmel in Videos und macht den Tag zur Nacht
50 FPS Videos laufen nach rendern nur in 30 FPS flüssig???
Videoverwaltung für private Videos gesucht
Verschiedene Videos
Großes Update für DJI Mini 2 bringt Zoom für Photos, mehr Frameraten für 2.7K Videos und mehr
Panasonic G9 - Allgemeine Fragen, Tipps und Tricks, Zeig deine Bilder/Videos usw.




slashCAM nutzt Cookies zur Optimierung des Angebots, auch Cookies Dritter. Die Speicherung von Cookies kann in den Browsereinstellungen unterbunden werden. Mehr Informationen erhalten Sie in unserer Datenschutzerklärung. Mehr Infos Verstanden!
RSS Suche YouTube Facebook Twitter slashCAM-Slash