| Videos compare a la VMRPlayer SDK
Question by Frank Derlin: Dezember 2008
Hello together, I am looking for a possibility of two technically kompfortablere fundamentally different videos (eg AVI and MPEG2), synonymous different length, to compare visually.
What I mind is / was in the form of samples in the DirectX SDK: ...DXSDK/Samples/C/DirectShow/VMR9/VMRPlayer. With the tool, you can watch the videos stored on and / or eg. over - each other (1. top video, 2nd video down in the same window) play. The catch of it is the middle of the videos I do not synchronize may, if the videos as. scene-wise, or only by a single Picture differ. With the source code I did not climb through to make it for my purposes transform.
Or in the variation in CodeProject/DirectShowVMR9_demo. No possibility of synchronization.
I know Avisynth / Stack Horizontal (Vertical). Too complicated, because any change in the script (trim) a reload of the Videos implies.
There are (at least two) Player Programs in the field of sport. Some golf or tennis, for example. the movements of the player to analyze. For me either inappropriate, too expensive, or via credit card pay.
Nätürlich there is even more synonymous "Cutting programs", (with me here MainActor) with the possibility of the videos in the timeline to move.
Short speech Langer sense, what I know is not enough for me, thus reasonably easy to "work".
How it compares your videos?
Gruß, Frank
Answer by Frank Derlin:
Ingrid,
"Frank Derlin" wrote ... > I am looking for a possibility of two technically kompfortablere [snip]
Well, it seems as if I am not around to Avisynth. Why should one the wheel again invent. Me, then I must build something themselves. *. avs with Play Sample Window "link and use something as a basis:
mk-AVS-DS-4xVergleich.bat -> Send to .. 8 <--- @ echo off set Ausgabe1 =% ~ dpn1 - 1dsStackVertical.avs Ausgabe2 = set% ~ dpn1 - 2dsCompare.avs set Ausgabe3 =% ~ dpn1 - 3dsOverlay.avs set Ausgabe4 =% ~ dpn1 - 4dsDiff.avs
script echo #>%% Ausgabe1 echo% a DirectShow source ( "% 1"). BilinearResize (720.288). trim (0.0)>>%% Ausgabe1 echo b% DirectShow source ( "% 2"). BilinearResize (720.288). trim (0.0)>>%% Ausgabe1 echo Vertical Stack (ConvertToYV12 (a), ConvertToYV12 (b))>>%% Ausgabe1
script echo #>%% Ausgabe2 echo% a DirectShow source ( "% 1"). BilinearResize (720.288). trim (0.0). ConvertToYUY2 ()>>%% Ausgabe2 echo b% DirectShow source ( "% 2"). BilinearResize (720.288). trim (0.0). ConvertToYUY2 ()>>%% Ausgabe2 Compare echo (ConvertToYUY2 (a), ConvertToYUY2 (b))>>%% Ausgabe2
script echo #>%% Ausgabe3 echo% a DirectShow source ( "% 1"). BilinearResize (512.480). trim (0.0)>>%% Ausgabe3 echo b% DirectShow source ( "% 2"). BilinearResize (512.480). trim (0.0)>>%% Ausgabe3 echo overlay (ConvertToYV12 (a), ConvertToYV12 (b), opacity = 0.5). Number Frame Show (scroll% true)>>%% Ausgabe3
script echo #>%% Ausgabe4 echo% a ConvertToYV12 (DirectShow source ( "% 1"). BilinearResize (512.288). trim (0.0))>>%% Ausgabe4 echo% b ConvertToYV12 (DirectShow source ( "% 2"). BilinearResize (512.288). trim (0.0))>>%% Ausgabe4 # echo. AssumeFPS (23,976, true)>>%% Ausgabe4 echo a.subtract sub = (ConvertToYV12 (b))>>%% Ausgabe4 echo substrong = sub.levels (112,1,144,0,255)>>%% Ausgabe4 echo% c stack Horizontal (a.subtitle ( "1st"), b.subtitle ( "2nd"))>>%% Ausgabe4 echo% d Stack Horizontal (sub.subtitle ( "subtract"), substrong.subtitle ( "levels"))>>%% Ausgabe4 echo return Vertical Stack (ConvertToYV12 (c), ConvertToYV12 (d))>>%% Ausgabe4
set Ausgabe1 = set Ausgabe2 = set Ausgabe3 = set Ausgabe4 =
LW echo path =% ~ DP1 echo DatName =% ~ n1% ~ x1 echo NameExt =% ~ nx1 pause8 <---
And to build a GUI, which seems to me the Trim () something pleasant and combines the four issues. Perhaps with dual Seek "Slider.
|