{"id":3595,"date":"2024-09-26T10:05:00","date_gmt":"2024-09-26T08:05:00","guid":{"rendered":"https:\/\/ictknow-how.ch\/blog\/?p=3595"},"modified":"2025-04-03T09:34:27","modified_gmt":"2025-04-03T07:34:27","slug":"ffmpeg-fuer-video-simili-duplicate-cleaner-bereitstellen","status":"publish","type":"post","link":"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/ffmpeg-fuer-video-simili-duplicate-cleaner-bereitstellen\/","title":{"rendered":"FFmpeg f\u00fcr &#8222;Video simili duplicate cleaner&#8220; bereitstellen"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Schritt <strong>5<\/strong> von 7:<br>Damit man C++-Source Code von GitHub kompilieren kann, braucht es neben dem <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\/\">Visual Studio 2022<\/a>, den <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\/\">Qt-Entwicklertools<\/a> und <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\/\">MSYS2 sowie YASM<\/a> noch zwei weitere Module:<br><strong>FFmpeg <\/strong>und OpenCV<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Anleitung geht davon aus, dass man bereits ein aktuelles Windows 11 und Visual Studio 2022 und alle n\u00f6tigen Komponenten wie Qt-Entwicklertools, MSYS2 und YASM installiert und konfiguriert hat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Schritt f\u00fcr Schritt-Anleitung f\u00fcr den Download und die Bereitstellung von FFmpeg:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1) <\/strong>Die Visual Studio Native Tools Kommandozeile f\u00fcr x64 \u00f6ffnen, indem man in den installieren Apps nach<br><strong>&#8222;x64 Native Tools Command Prompt for VS 2022&#8220;<\/strong><br>sucht und diese Eintrag startet<\/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-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"433\" height=\"230\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-2.png\" alt=\"\" class=\"wp-image-3567\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-2.png 433w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-2-300x159.png 300w\" sizes=\"auto, (max-width: 433px) 100vw, 433px\" \/><\/a><figcaption class=\"wp-element-caption\">x64 Native Tools Command Prompt for VS 2022<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2)<\/strong> Innerhalb der ge\u00f6ffneten VS-Kommandozeile \u00f6ffnet man die MSYS2-Shell mit dem Kommandozeilen-Startbefehl <br><code>C:\\Dev\\msys64\\msys2_shell.cmd<\/code><br><em>(wichtig ist, dass die Batch-Datei vorher wie <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\/\">hier in Schritt #4<\/a> beschrieben angepasst wurde)<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3)<\/strong> F\u00fcr die Bereitstellung von FFmpeg braucht es folgende Befehle, Zeile f\u00fcr Zeile jeweils mit <kbd class=\"keyboard-key nowrap KeybKey\">Enter<\/kbd> abgeschlossen:<br><em>(man kann diese Befehle nicht mit CTRL+C und CTRL+V copy \/ pasten. Einf\u00fcgen muss man die Zeilen mit rechter Maustaste in der MSYS2-Kommandozeile und aus dem Kontext-Menu &#8222;Paste&#8220; oder mit Shift+Ins)<\/em><br><code>git clone https:\/\/github.com\/FFmpeg\/FFmpeg.git ffmpeg<br>cd ffmpeg<br>git checkout tags\/n4.3.8<br>cd ..<br>mkdir ffmpeg_build<br>mkdir ffmpeg_install<br>cd ffmpeg_build<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hinweis zum Checkout mit tags:<br>Die aktuelle FFmpeg-Tag-Version findet man online unter<br><a href=\"https:\/\/github.com\/FFmpeg\/FFmpeg\/tags\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/FFmpeg\/FFmpeg\/tags<\/a><br>Am 23.09.2024 ist der Tag n4.3.8 aktuell.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4)<\/strong> Der vorbereitende Konfigurations-Befehl f\u00fcr FFmpeg ist ziemlich langsam.<br>Also keine Panik, wenn mehrere Minuten lang &#8222;nichts&#8220; passiert, nachdem man  <kbd class=\"keyboard-key nowrap KeybKey\">Enter<\/kbd> nach diesen 6 Zeilen gedr\u00fcckt hat. Jede Zeile endet mit einem Leerschlag und Backslash, <br>ausgef\u00fchrt werden alle Zeilen als 1 einziger Befehl.<br>Diesen Befehl komplett von ..\/ffmpeg bis und mit \/ffmpeg_install kopieren und als Ganzes in MSYS2-Shell einf\u00fcgen:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:12px\">..\/ffmpeg\/configure \\<br>&#8211;target-os=win64 &#8211;arch=x86_64 &#8211;toolchain=msvc \\<br>&#8211;enable-gpl &#8211;enable-static &#8211;disable-doc &#8211;disable-shared &#8211;disable-programs &#8211;enable-avformat \\<br>&#8211;extra-cflags=&#8220;-MD&#8220; &#8211;extra-cxxflags=&#8220;-MD&#8220; &#8211;extra-ldflags=&#8220;\/nodefaultlib:libcmt.lib&#8220; \\<br>&#8211;disable-encoders &#8211;disable-muxers &#8211;disable-outdevs &#8211;disable-bsfs &#8211;disable-protocols &#8211;enable-protocol=file &#8211;disable-filters &#8211;enable-filter=scale &#8211;disable-lzma \\<br>&#8211;prefix=..\/ffmpeg_install<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-8.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"244\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-8-1024x244.png\" alt=\"\" class=\"wp-image-3608\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-8-1024x244.png 1024w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-8-300x71.png 300w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-8-768x183.png 768w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-8-1536x366.png 1536w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-8.png 1617w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\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-10.png\"><img loading=\"lazy\" decoding=\"async\" width=\"594\" height=\"165\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-10.png\" alt=\"\" class=\"wp-image-3614\" style=\"width:473px;height:auto\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-10.png 594w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-10-300x83.png 300w\" sizes=\"auto, (max-width: 594px) 100vw, 594px\" \/><\/a><figcaption class=\"wp-element-caption\">Die gelbe Warnung einfach ignorieren<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5)<\/strong> Anschliessend an die Konfiguration diese zwei Zeilen einzeln eintippen und jeweils  <kbd class=\"keyboard-key nowrap KeybKey\">Enter<\/kbd> dr\u00fccken (der erste Befehl dauert wieder mehrere Minuten):<br><code>make -j80<\/code><br><code>make install<\/code><br>Auch bei diesen Befehlen:<br>Die unz\u00e4hligen Warnungen \u00fcber unzul\u00e4ssige Codepages oder Zeichen einfach ignorieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6)<\/strong> Schritt #5 hat die statischen lib-Dateien im Benutzer-Home-Verzeichnis <br><code>C:\\Dev\\msys64\\home\\QT\\ffmpeg_install <\/code><br>erstellt. <br><em>Der Windows-Benutzer heisst hier in diesem Beispiel &#8222;QT&#8220;.<\/em><br>Damit man diese libs unter Windows verwenden kann, m\u00fcssen sie von <code>*.a<\/code> in <code>*.lib<\/code> umbenannt werden.<br>In der MSYS2-CLI kann man daf\u00fcr folgende Umbenennungsbefehle verwenden<br>(sie sehen auf den ersten Blick f\u00fcr Windows-Benutzer wie &#8222;verkehrt rum&#8220; aus, funktionieren aber wie gew\u00fcnscht):<br><code>rename lib '' ..\/ffmpeg_install\/lib\/*.a<br>rename .a '.lib' ..\/ffmpeg_install\/lib\/*.a<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"SourceCodeAuspacken\"><strong>7)<\/strong> Nun l\u00e4dt man sich von GitHub den Source Code f\u00fcr &#8222;<a href=\"https:\/\/github.com\/theophanemayaud\/video-simili-duplicate-cleaner\" target=\"_blank\" rel=\"noreferrer noopener\">video-simili-duplicate-cleaner<\/a>&#8220; herunter:<br><a href=\"https:\/\/github.com\/theophanemayaud\/video-simili-duplicate-cleaner\/archive\/refs\/heads\/master.zip\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/theophanemayaud\/video-simili-duplicate-cleaner\/archive\/refs\/heads\/master.zip<\/a><br>Diese Datei wird nach dem Download automatisch in das ZIP-Archiv namens<br><code>video-simili-duplicate-cleaner-master.zip<\/code><br>umbenannt. <br>Dieses ZIP-Archiv entpackt man manuell z.B. in das Standard-Downloadverzeichnis des angemeldeten Windows-Benutzers.<br><em>Der Windows-Benutzer heisst hier in diesem Beispiel &#8222;QT&#8220;.<\/em><br><code>C:\\Users\\QT\\Downloads\\video-simili-duplicate-cleaner-master\\QtProject\\libraries\\windows\\ffmpeg<\/code><\/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-12.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1020\" height=\"322\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-12.png\" alt=\"\" class=\"wp-image-3630\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-12.png 1020w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-12-300x95.png 300w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-12-768x242.png 768w\" sizes=\"auto, (max-width: 1020px) 100vw, 1020px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>8)<\/strong> Am Schluss kopiert man die 2 frisch kompilierten FFmpeg_install-Unterordner aus den Schritten #4 und #5:<br><code>C:\\Dev\\msys64\\home\\QT\\ffmpeg_install\\include<\/code><br>und<br><code>C:\\Dev\\msys64\\home\\QT\\ffmpeg_install\\lib<\/code><br>mit allen Unterordnern und Dateien in den eben erst ausgepackten Source Code-Projektordner<br><code> C:\\Users\\QT\\Downloads\\video-simili-duplicate-cleaner-master\\QtProject\\libraries\\windows\\ffmpeg <\/code><br>aus Schritt #7 und \u00fcberschreibt dabei alle gleichnamigen 141 Verzeichnisse und Dateien.<\/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-13.png\"><img loading=\"lazy\" decoding=\"async\" width=\"984\" height=\"556\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-13.png\" alt=\"\" class=\"wp-image-3632\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-13.png 984w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-13-300x170.png 300w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-13-768x434.png 768w\" sizes=\"auto, (max-width: 984px) 100vw, 984px\" \/><\/a><\/figure>\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-14.png\"><img loading=\"lazy\" decoding=\"async\" width=\"537\" height=\"314\" src=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-14.png\" alt=\"\" class=\"wp-image-3633\" style=\"width:379px;height:auto\" srcset=\"https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-14.png 537w, https:\/\/ictknow-how.ch\/blog\/wp-content\/uploads\/2024\/09\/image-14-300x175.png 300w\" sizes=\"auto, (max-width: 537px) 100vw, 537px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der n\u00e4chste Schritt ist die <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\/\">Bereitstellung von OpenCV<\/a> damit man anschliessend das Tool &#8222;Video simili duplicate cleaner&#8220; selber zu einem <a href=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/wie-kann-man-das-tool-video-simili-duplicate-cleaner-selber-kompilieren\/#ToolKompilieren\" data-type=\"link\" data-id=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/wie-kann-man-das-tool-video-simili-duplicate-cleaner-selber-kompilieren\/\">unter Windows ausf\u00fchrbaren *.exe<\/a> kompilieren kann.<\/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;3595&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;FFmpeg f\u00fcr \\u0026quot;Video simili duplicate cleaner\\u0026quot; bereitstellen&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>Schritt 5 von 7:Damit man C++-Source Code von GitHub kompilieren kann, braucht es neben dem Visual Studio 2022, den Qt-Entwicklertools und MSYS2 sowie YASM noch zwei weitere Module:FFmpeg und OpenCV Diese Anleitung geht davon aus, dass man bereits ein aktuelles Windows 11 und Visual Studio 2022 und alle n\u00f6tigen Komponenten wie Qt-Entwicklertools, MSYS2 und YASM &#8230; <a title=\"FFmpeg f\u00fcr &#8222;Video simili duplicate cleaner&#8220; bereitstellen\" class=\"read-more\" href=\"https:\/\/ictknow-how.ch\/blog\/2024\/09\/26\/ffmpeg-fuer-video-simili-duplicate-cleaner-bereitstellen\/\" aria-label=\"Mehr Informationen \u00fcber FFmpeg f\u00fcr &#8222;Video simili duplicate cleaner&#8220; bereitstellen\">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,297],"class_list":["post-3595","post","type-post","status-publish","format-standard","hentry","category-software","category-visual-studio","category-windows-11","tag-ffmpeg","tag-msys2","tag-opencv","tag-yasm-2"],"_links":{"self":[{"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/posts\/3595","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=3595"}],"version-history":[{"count":0,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/posts\/3595\/revisions"}],"wp:attachment":[{"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/media?parent=3595"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/categories?post=3595"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ictknow-how.ch\/blog\/wp-json\/wp\/v2\/tags?post=3595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}