{"id":3529,"date":"2024-09-26T10:00:00","date_gmt":"2024-09-26T08:00:00","guid":{"rendered":"https:\/\/ictknow-how.ch\/blog\/?p=3529"},"modified":"2024-09-26T11:15:43","modified_gmt":"2024-09-26T09:15:43","slug":"wie-kann-man-das-tool-video-simili-duplicate-cleaner-selber-kompilieren","status":"publish","type":"post","link":"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/wie-kann-man-das-tool-video-simili-duplicate-cleaner-selber-kompilieren\/","title":{"rendered":"Wie kann man das Tool &#8222;Video simili duplicate cleaner&#8220; selber kompilieren?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Das Open Source Tool &#8222;<a href=\"https:\/\/theophanemayaud.github.io\/video-simili-duplicate-cleaner\/\" data-type=\"link\" data-id=\"https:\/\/theophanemayaud.github.io\/video-simili-duplicate-cleaner\/\" target=\"_blank\" rel=\"noreferrer noopener\">Video simili duplicate cleaner<\/a>&#8220; findet sehr erfolgreich identische aber auch nur \u00e4hnliche 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<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Leider wird die Windows-Variante nur als Download aus dem Microsoft Store angeboten.<br>Ich kann zwar verstehen, dass der Autor gerne f\u00fcr seinen Aufwand entsch\u00e4digt werden m\u00f6chte. Aber ein Open Source-Tool ausschliesslich im MS Store bereitzustellen, halte ich pers\u00f6nlich nicht f\u00fcr die ideale Vorgehensweise. <br>Deshalb machte ich mir die M\u00fche, den Source Code von GitHub selber zu kompilieren. <br>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\u00e4hig.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Wichtiger Hinweis:<\/strong><br>Diese Anleitung soll NICHT dazu motivieren, sich die 9,99 Euro zu sparen. <br>Der bisherige Aufwand und die zuk\u00fcnftige Weiterentwicklung ist dieses Geld mehr als wert!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Anleitung umfasst folgende Teile:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1) <a href=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/installation-von-visual-studio-2022\/\" data-type=\"link\" data-id=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/installation-von-visual-studio-2022\/\">Installation von Visual Studio 2022<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2) <a href=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/installation-von-qt-entwicklertools\/\" data-type=\"link\" data-id=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/installation-von-qt-entwicklertools\/\">Installation der QT-Entwicklertools<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3) <a href=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/installation-von-msys2-und-yasm\/\" data-type=\"link\" data-id=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/installation-von-msys2-und-yasm\/\">Installation von MSYS2 und YASM<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4) <a href=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/konfiguration-von-msys2\/\" data-type=\"link\" data-id=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/konfiguration-von-msys2\/\">Konfiguration von MSYS2<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5) <a href=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/ffmpeg-fuer-video-simili-duplicate-cleaner-bereitstellen\/\" data-type=\"link\" data-id=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/ffmpeg-fuer-video-simili-duplicate-cleaner-bereitstellen\/\">Download und bereitstellen der ben\u00f6tigten Komponente FFmpeg<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6) <a href=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/opencv-fuer-video-simili-duplicate-cleaner-bereitstellen\/\" data-type=\"link\" data-id=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/opencv-fuer-video-simili-duplicate-cleaner-bereitstellen\/\">Download und bereitstellen der ben\u00f6tigten Komponente OpenCV<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"ToolKompilieren\">7) Wie kann man das Tool &#8222;Video simili duplicate cleaner&#8220; selber kompilieren?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Schritt <strong>7<\/strong> von 7:<br>Sobald man die Schritte 1 bis 6 ausgef\u00fchrt und die ben\u00f6tigten Komponenten aus FFmpeg und OpenCV in den ausgepackten Source Code-Projektordner kopiert hat, braucht es folgende Schritte um ein lauff\u00e4higes Windows EXE zu kompilieren:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>a)<\/strong> Zuerst muss man alle allf\u00e4llig noch offenenen Kommandozeilen-Fenster schliessen <br>(&#8222;x64 Native Tools Command Prompt for VS 2022&#8220; und &#8222;MSYS2-Shell&#8220;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>b)<\/strong> Um ausreichend Zugriffs- und Schreibrechte zu bekommen, muss man den &#8222;x64 Native Tools Command Prompt for VS 2022&#8220; <strong>neu mit Administrator-Rechten starten<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>c) <\/strong>In der Admin-Kommandozeile startet man <br><code>\"C:\\Dev\\msys64\\msys2_shell.cmd\"<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>d)<\/strong> In der MSYS2-Shell f\u00fchrt man diesen Befehl aus:<br><code>\"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<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>e)<\/strong> Aus unbekannten Gr\u00fcnden ist irgendwo der Pfad auf die Version 451 f\u00fcr die libraries hinterlegt. Da unklar bleibt, wo man da genau ansetzen m\u00fcsste, hilft folgende Umgehungsl\u00f6sung:<br>Man benennt im Pfad <br><code>C:\\Users\\QT\\Downloads\\video-simili-duplicate-cleaner-master\\QtProject\\libraries\\windows\\opencv\\lib<\/code><br>die vier kopierten *4100*.lib in vier *451*.lib um und \u00fcberschreibt\/ersetzt die bestehenden *451*.lib die nur 1 KB winzige Platzhalter sind:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/2024.09.23-12-19-24-opencv-4100-kopieren-451-loeschen-und-4100-umbenennen-in-451.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"714\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/2024.09.23-12-19-24-opencv-4100-kopieren-451-loeschen-und-4100-umbenennen-in-451-1024x714.png\" alt=\"\" class=\"wp-image-3659\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/2024.09.23-12-19-24-opencv-4100-kopieren-451-loeschen-und-4100-umbenennen-in-451-1024x714.png 1024w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/2024.09.23-12-19-24-opencv-4100-kopieren-451-loeschen-und-4100-umbenennen-in-451-300x209.png 300w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/2024.09.23-12-19-24-opencv-4100-kopieren-451-loeschen-und-4100-umbenennen-in-451-768x535.png 768w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/2024.09.23-12-19-24-opencv-4100-kopieren-451-loeschen-und-4100-umbenennen-in-451.png 1059w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Konkret:<br>Aus der <code>opencv_imgproc4100.lib<\/code> wird <code>opencv_imgproc451.lib<\/code><br>Aus der <code>opencv_imgproc4100d.lib<\/code> wird <code>opencv_imgproc451d.lib<\/code><br>Aus der <code>opencv_core4100.lib<\/code> wird <code>opencv_core451.lib<\/code><br>Aus der <code>opencv_core4100d.lib<\/code> wird <code>opencv_core451d.lib<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vor dem n\u00e4chsten Befehl sollte das Verzeichnis so aussehen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-19.png\"><img loading=\"lazy\" decoding=\"async\" width=\"765\" height=\"305\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-19.png\" alt=\"\" class=\"wp-image-3662\" style=\"width:594px;height:auto\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-19.png 765w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-19-300x120.png 300w\" sizes=\"auto, (max-width: 765px) 100vw, 765px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>f)<\/strong> Nun folgt der erste Kompilier-Befehl:<br><code>nmake<\/code><br>Damit werden im Idealfall folgende Dateien erstellt im Verzeichnis<br><code>C:\\Dev\\msys64\\home\\QT\\release\\<\/code><br>unter anderem auch die &#8222;<code>Video simili duplicate cleaner.exe<\/code>&#8222;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-20.png\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"619\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-20.png\" alt=\"\" class=\"wp-image-3663\" style=\"width:555px;height:auto\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-20.png 771w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-20-300x241.png 300w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-20-768x617.png 768w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>g)<\/strong> Um aufzur\u00e4umen und nicht mehr ben\u00f6tigte Dateien automatisch zu l\u00f6schen:<br><code>nmake clean<\/code><br>Damit bleibt im obigen Verzeichnis nur noch die Video*.exe Datei \u00fcbrig.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>h) <\/strong>Weil die allermeisten Windows-Benutzer sich wohl nicht mit Zertifikaten rumschlagen wollen, reicht dieser letzte Befehl um alle n\u00f6tigen Windows DLLs zur Video*.exe in obiges \\release Verzeichnis zu erstellen:<br><code>\"C:\\Qt\\6.7.2\\msvc2019_64\\bin\\windeployqt.exe\" --release \"C:\\Dev\\msys64\\home\\QT\\release\\Video simili duplicate cleaner.exe\"<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das erzeugt total 9 Unterordner und 58 Dateien mit rund 112 MB Gr\u00f6sse:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-21.png\"><img loading=\"lazy\" decoding=\"async\" width=\"769\" height=\"736\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-21.png\" alt=\"\" class=\"wp-image-3667\" style=\"width:503px;height:auto\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-21.png 769w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-21-300x287.png 300w\" sizes=\"auto, (max-width: 769px) 100vw, 769px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Den kompletten Inhalt des <code>\\release<\/code>-Verzeichnisses kann man nun in ein beliebig benanntes Ziel-Verzeichnis auf einem beliebigen Windows 11 kopieren. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Benutzeroberfl\u00e4che beim Start der &#8222;<code>Video simili duplicate cleaner.exe<\/code>&#8220; <br>sieht aktuell so aus:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-22.png\"><img loading=\"lazy\" decoding=\"async\" width=\"938\" height=\"712\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-22.png\" alt=\"\" class=\"wp-image-3668\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-22.png 938w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-22-300x228.png 300w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-22-768x583.png 768w\" sizes=\"auto, (max-width: 938px) 100vw, 938px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn es mit dieser Anleitung irgendwelche Probleme gibt, w\u00e4re ich f\u00fcr entsprechende Hinweise in einem Kommentar dankbar.<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;3529&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;0&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;0&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Rate this post&quot;,&quot;legend&quot;:&quot;0\\\/5 - (0 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;Wie kann man das Tool \\u0026quot;Video simili duplicate cleaner\\u0026quot; selber kompilieren?&quot;,&quot;width&quot;:&quot;0&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 0px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            <span class=\"kksr-muted\">Rate this post<\/span>\n    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Das Open Source Tool &#8222;Video simili duplicate cleaner&#8220; findet sehr erfolgreich identische aber auch nur \u00e4hnliche 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 &#8230; <a title=\"Wie kann man das Tool &#8222;Video simili duplicate cleaner&#8220; selber kompilieren?\" class=\"read-more\" href=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/wie-kann-man-das-tool-video-simili-duplicate-cleaner-selber-kompilieren\/\" aria-label=\"Mehr Informationen \u00fcber Wie kann man das Tool &#8222;Video simili duplicate cleaner&#8220; selber kompilieren?\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28,278,245],"tags":[74,294,295,298,291,297],"class_list":["post-3529","post","type-post","status-publish","format-standard","hentry","category-software","category-visual-studio","category-windows-11","tag-ffmpeg","tag-msys2","tag-opencv","tag-qt-enwickerltoos","tag-video-simili-duplicate-cleaner","tag-yasm-2"],"_links":{"self":[{"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/posts\/3529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/comments?post=3529"}],"version-history":[{"count":0,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/posts\/3529\/revisions"}],"wp:attachment":[{"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/media?parent=3529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/categories?post=3529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/tags?post=3529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}