# Dziurkacz Zestaw narzędzi pomagający wyciąć z pliku wideo te same fragmenty, które zostały wycięte z pliku audio. ## Wymagania - ffmpeg, - Audacity, - zx (https://github.com/google/zx) ## Instalacja ### Macro do Audacity Przenieś makro `cut and label.txt` z tego repo do katalogu `~/.audacity-data/Macros` i uruchom ponownie Audacity. Pojawi się nowa opcja w makrach (Tools > Apply Macro > Cut and Label). Uruchomienie tego makra spowoduje usunięcie zaznaczonego fragmentu i stworzenie nowej labelki, w której są metadane o lokalizacji i czasie trwania tego, co było właśnie usunięte. W ustawieniach Audacity można podpiąć sobie to makro pod np. klawisz `Del` lub `Ctrl+D`. ## Używanie **!! Uwaga! Aktualnie skrypt psuje się przy tworzeniu więcej niż 100 cięć. Jest to spowodowane [dziwnymi limitami w API](https://forum.audacityteam.org/viewtopic.php?f=39&t=120396). Docelowo będziemy musieli trzymać wszystkie cięcia w jednej labelce, a nie każde w osobnej.**. Póki co po utworzeniu 100tnej labelki wyświetli się błąd. Wyeksportuj labelki do pliku txt, usuń wszystkie labelki i następnie wyeksportuj kolejne 100 do osobnego pliku, i tak do skutku. Następnie wykonaj skrypt do cięcia filmików kilka razy, dla każdego eksportu labelek osobno. 1. Wyciągnij audio z pliku wideo, który chcesz przyciąć: ``` ffmpeg -i video.mp4 -vn -acodec copy audio.aac ``` 2. Otwórz plik dźwiękowy z video w Audacity i usuwaj fragmenty za pomocą makra opisanego powyżej. 3. Wyeksportuj wszystkie labelki do pliku tekstowego (export -> labels) 4. Uruchom `zx --quiet dziurkacz-fast.mjs /ścieżka/do/pliku/video.mp4 /ścieżka/do/pliku/z/wyeskportowanymi/labelkami.txt` Plik wynikowy znajdziesz w /tmp/dziurkacz/working.mp4 ## Nyquist/Audacity API reference: - https://manual.audacityteam.org/man/nyquist_macros.html - https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference - https://manual.audacityteam.org/man/scripting_reference.html