54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
# 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
|