Das Open Source Tool “Video simili duplicate cleaner” findet sehr erfolgreich identische aber auch nur ähnliche Videos in den verschiedensten Formaten wie .3g2 .3gp .3gpp .amv .asf .avi .divx .drc .f4a .f4b .f4p .f4v .flv .swf .mts .m2ts .m2v .m4v .mkv .mov .mj2 .mp2 .mp4 .mpe .mpeg .mpg .mpv .ogg .ogv .ram .rm .rmvb .ts .vob .webm .wmv .y4m .dv
Leider wird die Windows-Variante nur als Download aus dem Microsoft Store angeboten.
Ich kann zwar verstehen, dass der Autor gerne für seinen Aufwand entschädigt werden möchte. Aber ein Open Source-Tool ausschliesslich im MS Store bereitzustellen, halte ich persönlich nicht für die ideale Vorgehensweise.
Deshalb machte ich mir die Mühe, den Source Code von GitHub selber zu kompilieren.
Das ist unter Windows 11 gar nicht mal so einfach und leider ist die offizielle Anleitung nicht so wirklich anwenderfreundlich und auch nicht 100% funktionsfähig.
Wichtiger Hinweis:
Diese Anleitung soll NICHT dazu motivieren, sich die 9,99 Euro zu sparen.
Der bisherige Aufwand und die zukünftige Weiterentwicklung ist dieses Geld mehr als wert!
Diese Anleitung umfasst folgende Teile:
1) Installation von Visual Studio 2022
2) Installation der QT-Entwicklertools
3) Installation von MSYS2 und YASM
5) Download und bereitstellen der benötigten Komponente FFmpeg
6) Download und bereitstellen der benötigten Komponente OpenCV
7) Wie kann man das Tool “Video simili duplicate cleaner” selber kompilieren?
Schritt 7 von 7:
Sobald man die Schritte 1 bis 6 ausgeführt und die benötigten Komponenten aus FFmpeg und OpenCV in den ausgepackten Source Code-Projektordner kopiert hat, braucht es folgende Schritte um ein lauffähiges Windows EXE zu kompilieren:
a) Zuerst muss man alle allfällig noch offenenen Kommandozeilen-Fenster schliessen
(“x64 Native Tools Command Prompt for VS 2022” und “MSYS2-Shell”)
b) Um ausreichend Zugriffs- und Schreibrechte zu bekommen, muss man den “x64 Native Tools Command Prompt for VS 2022” neu mit Administrator-Rechten starten
c) In der Admin-Kommandozeile startet man "C:\Dev\msys64\msys2_shell.cmd"
d) In der MSYS2-Shell führt man diesen Befehl aus:"C:\Qt\6.7.2\msvc2019_64\bin\qmake.exe" "C:\Users\QT\Downloads\video-simili-duplicate-cleaner-master\QtProject\app\app.pro" -config release
e) Aus unbekannten Gründen ist irgendwo der Pfad auf die Version 451 für die libraries hinterlegt. Da unklar bleibt, wo man da genau ansetzen müsste, hilft folgende Umgehungslösung:
Man benennt im Pfad C:\Users\QT\Downloads\video-simili-duplicate-cleaner-master\QtProject\libraries\windows\opencv\lib
die vier kopierten *4100*.lib in vier *451*.lib um und überschreibt/ersetzt die bestehenden *451*.lib die nur 1 KB winzige Platzhalter sind:
Konkret:
Aus der opencv_imgproc4100.lib
wird opencv_imgproc451.lib
Aus der opencv_imgproc4100d.lib
wird opencv_imgproc451d.lib
Aus der opencv_core4100.lib
wird opencv_core451.lib
Aus der opencv_core4100d.lib
wird opencv_core451d.lib
Vor dem nächsten Befehl sollte das Verzeichnis so aussehen:
f) Nun folgt der erste Kompilier-Befehl:nmake
Damit werden im Idealfall folgende Dateien erstellt im VerzeichnisC:\Dev\msys64\home\QT\release\
unter anderem auch die “Video simili duplicate cleaner.exe
“
g) Um aufzuräumen und nicht mehr benötigte Dateien automatisch zu löschen:nmake clean
Damit bleibt im obigen Verzeichnis nur noch die Video*.exe Datei übrig.
h) Weil die allermeisten Windows-Benutzer sich wohl nicht mit Zertifikaten rumschlagen wollen, reicht dieser letzte Befehl um alle nötigen Windows DLLs zur Video*.exe in obiges \release Verzeichnis zu erstellen:"C:\Qt\6.7.2\msvc2019_64\bin\windeployqt.exe" --release "C:\Dev\msys64\home\QT\release\Video simili duplicate cleaner.exe"
Das erzeugt total 9 Unterordner und 58 Dateien mit rund 112 MB Grösse:
Den kompletten Inhalt des \release
-Verzeichnisses kann man nun in ein beliebig benanntes Ziel-Verzeichnis auf einem beliebigen Windows 11 kopieren.
Die Benutzeroberfläche beim Start der “Video simili duplicate cleaner.exe
”
sieht aktuell so aus:
Wenn es mit dieser Anleitung irgendwelche Probleme gibt, wäre ich für entsprechende Hinweise in einem Kommentar dankbar.