FFmpeg für “Video simili duplicate cleaner” bereitstellen

Schritt 5 von 7:
Damit man 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ötigen Komponenten wie Qt-Entwicklertools, MSYS2 und YASM installiert und konfiguriert hat.

Schritt für Schritt-Anleitung für den Download und die Bereitstellung von FFmpeg:

1) Die Visual Studio Native Tools Kommandozeile für x64 öffnen, indem man in den installieren Apps nach
“x64 Native Tools Command Prompt for VS 2022”
sucht und diese Eintrag startet

x64 Native Tools Command Prompt for VS 2022

2) Innerhalb der geöffneten VS-Kommandozeile öffnet man die MSYS2-Shell mit dem Kommandozeilen-Startbefehl
C:\Dev\msys64\msys2_shell.cmd
(wichtig ist, dass die Batch-Datei vorher wie hier in Schritt #4 beschrieben angepasst wurde)

3) Für die Bereitstellung von FFmpeg braucht es folgende Befehle, Zeile für Zeile jeweils mit Enter abgeschlossen:
(man kann diese Befehle nicht mit CTRL+C und CTRL+V copy / pasten. Einfügen muss man die Zeilen mit rechter Maustaste in der MSYS2-Kommandozeile und aus dem Kontext-Menu “Paste” oder mit Shift+Ins)
git clone https://github.com/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg
git checkout tags/n4.3.8
cd ..
mkdir ffmpeg_build
mkdir ffmpeg_install
cd ffmpeg_build

Hinweis zum Checkout mit tags:
Die aktuelle FFmpeg-Tag-Version findet man online unter
https://github.com/FFmpeg/FFmpeg/tags
Am 23.09.2024 ist der Tag n4.3.8 aktuell.

4) Der vorbereitende Konfigurations-Befehl für FFmpeg ist ziemlich langsam.
Also keine Panik, wenn mehrere Minuten lang “nichts” passiert, nachdem man Enter nach diesen 6 Zeilen gedrückt hat. Jede Zeile endet mit einem Leerschlag und Backslash,
ausgeführt werden alle Zeilen als 1 einziger Befehl.
Diesen Befehl komplett von ../ffmpeg bis und mit /ffmpeg_install kopieren und als Ganzes in MSYS2-Shell einfügen:

../ffmpeg/configure \
–target-os=win64 –arch=x86_64 –toolchain=msvc \
–enable-gpl –enable-static –disable-doc –disable-shared –disable-programs –enable-avformat \
–extra-cflags=”-MD” –extra-cxxflags=”-MD” –extra-ldflags=”/nodefaultlib:libcmt.lib” \
–disable-encoders –disable-muxers –disable-outdevs –disable-bsfs –disable-protocols –enable-protocol=file –disable-filters –enable-filter=scale –disable-lzma \
–prefix=../ffmpeg_install

Die gelbe Warnung einfach ignorieren

5) Anschliessend an die Konfiguration diese zwei Zeilen einzeln eintippen und jeweils Enter drücken (der erste Befehl dauert wieder mehrere Minuten):
make -j80
make install
Auch bei diesen Befehlen:
Die unzähligen Warnungen über unzulässige Codepages oder Zeichen einfach ignorieren.

6) Schritt #5 hat die statischen lib-Dateien im Benutzer-Home-Verzeichnis
C:\Dev\msys64\home\QT\ffmpeg_install
erstellt.
Der Windows-Benutzer heisst hier in diesem Beispiel “QT”.
Damit man diese libs unter Windows verwenden kann, müssen sie von *.a in *.lib umbenannt werden.
In der MSYS2-CLI kann man dafür folgende Umbenennungsbefehle verwenden
(sie sehen auf den ersten Blick für Windows-Benutzer wie “verkehrt rum” aus, funktionieren aber wie gewünscht):
rename lib '' ../ffmpeg_install/lib/*.a
rename .a '.lib' ../ffmpeg_install/lib/*.a

7) Nun lädt man sich von GitHub den Source Code für “video-simili-duplicate-cleaner” herunter:
https://github.com/theophanemayaud/video-simili-duplicate-cleaner/archive/refs/heads/master.zip
Diese Datei wird nach dem Download automatisch in das ZIP-Archiv namens
video-simili-duplicate-cleaner-master.zip
umbenannt.
Dieses ZIP-Archiv entpackt man manuell z.B. in das Standard-Downloadverzeichnis des angemeldeten Windows-Benutzers.
Der Windows-Benutzer heisst hier in diesem Beispiel “QT”.
C:\Users\QT\Downloads\video-simili-duplicate-cleaner-master\QtProject\libraries\windows\ffmpeg

8) Am Schluss kopiert man die 2 frisch kompilierten FFmpeg_install-Unterordner aus den Schritten #4 und #5:
C:\Dev\msys64\home\QT\ffmpeg_install\include
und
C:\Dev\msys64\home\QT\ffmpeg_install\lib
mit allen Unterordnern und Dateien in den eben erst ausgepackten Source Code-Projektordner
C:\Users\QT\Downloads\video-simili-duplicate-cleaner-master\QtProject\libraries\windows\ffmpeg
aus Schritt #7 und überschreibt dabei alle gleichnamigen 141 Verzeichnisse und Dateien.

Der nächste Schritt ist die Bereitstellung von OpenCV damit man anschliessend das Tool “Video simili duplicate cleaner” selber zu einem unter Windows ausführbaren *.exe kompilieren kann.

Rate this post

Schreibe einen Kommentar