Nigdy nie mogę uruchomić rozwiązania ptQa, głównie dlatego, że nigdy nie mogę dowiedzieć się, co oznaczają błędy filtrów i jak je naprawić. Moje rozwiązanie wydaje się trochę dziwniejsze, ponieważ może pozostawić bałagan, ale jeśli wrzucisz go do skryptu, czyszczenie można zautomatyzować. Podoba mi się również to podejście, ponieważ jeśli coś pójdzie nie tak w kroku 4, kończysz kroki 1-3, więc odzyskiwanie po błędach jest nieco bardziej wydajne.
Podstawową strategią jest używanie -t
i -ss
uzyskiwanie filmów z każdego segmentu, który chcesz, a następnie łączenie wszystkich części w ostateczną wersję.
Powiedzmy, że masz 6 segmentów ABCDEF co 5 sekund i chcesz A (0-5 sekund), C (10-15 sekund) i E (20-25 sekund), zrobiłbyś to:
ffmpeg -i abcdef.tvshow -t 5 a.tvshow -ss 10 -t 5 c.tvshow -ss 20 -t 5 e.tvshow
lub
ffmpeg -i abcdef.tvshow -t 0:00:05 a.tvshow -ss 0:00:10 -t 0:00:05 c.tvshow -ss 0:00:20 -t 0:00:05 e.tvshow
Spowoduje to utworzenie plików a.tvshow, c.tvshow i e.tvshow. -t
Mówi, jak długo każdy klip jest, więc jeśli c jest 30 sekund długo można przejść w 30 lub 0:00:30. Ta -ss
opcja mówi, jak daleko należy przejść do źródłowego wideo, więc zawsze zależy od początku pliku.
Następnie, gdy masz kilka plików wideo, tworzę taki plik ace-files.txt
:
file 'a.tvshow'
file 'c.tvshow'
file 'e.tvshow'
Zanotuj „plik” na początku, a następnie nazwę pliku ucieczki.
Następnie polecenie:
ffmpeg -f concat -i ace-files.txt -c copy ace.tvshow
To łączy wszystkie pliki abe-files.txt
razem, kopiując ich kodeki audio i wideo i tworzy plik, ace.tvshow
który powinien być tylko sekcjami a, c i e. Wtedy po prostu pamiętać, aby usunąć ace-files.txt
, a.tvshow
, c.tvshow
i e.tvshow
.
Oświadczenie : Nie mam pojęcia, jak (nie) wydajne jest to w porównaniu z innymi podejściami pod względem, ffmpeg
ale dla moich celów działa lepiej. Mam nadzieję, że to komuś pomoże.