Zestaw narzędzi pomagający wyciąć z pliku wideo te same fragmenty, które zostały wycięte z pliku audio za pomocą Audacity.
Go to file
2021-09-20 16:31:17 +02:00
cut and label.txt Add macro as file 2021-09-12 19:48:26 +02:00
dziurkacz-fast.mjs New version using (a)trim + concat 2021-09-20 16:31:17 +02:00
dziurkacz.mjs Initial commit 2021-09-12 19:38:48 +02:00
macro.ny Initial commit 2021-09-12 19:38:48 +02:00
README.md Add newer, faster version 2021-09-18 14:17:40 +02:00

Dziurkacz

Zestaw narzędzi pomagający wyciąć z pliku wideo te same fragmenty, które zostały wycięte z pliku audio.

Wymagania

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. 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
  1. Otwórz plik dźwiękowy z video w Audacity i usuwaj fragmenty za pomocą makra opisanego powyżej.

  2. Wyeksportuj wszystkie labelki do pliku tekstowego (export -> labels)

  3. 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: