Mam polecenie FFmpeg do przycinania dźwięku:
ffmpeg -ss 01:43:46 -t 00:00:44.30 -i input.mp3 output.mp3
Problem z tym poleceniem polega na tym, że opcja -t
wymaga czasu (w sekundach) od 01:43:46 . Chcę przyciąć dźwięk przy użyciu czasów rozpoczęcia / zakończenia, np. Między 01:43:46 a 00: 01: 45.02 .
czy to możliwe?
ffmpeg
wydaje się, że nie zapewnia niczego poza czasem rozpoczęcia i czasem trwania. Implayer
też nie.Odpowiedzi:
ffmpeg wydaje się mieć nową opcję -to w dokumentacji :
Przykładowe polecenie z dwoma formatami czasu
To powinno utworzyć kopię (plik-2.mkv) pliku.mkv od znaku 20 sekund do znaku 40 sekund.
źródło
copy
części, audio / wideo nie jest zsynchronizowane, więc usuwam to i dodam-async 1
i działa to jak urok. Oczywiście wymaga to ponownego kodowania, więc ulepszenie byłoby poleceniem, które pozwoliłoby nacopy
problemy z synchronizacją, ale bez nich.ffmpeg -i file.mp3 -ss 10 -to 11 -ss 20 -to 21 -ss 30 -to 31 ....
-to
opcji:ffmpeg -i mmm.mp4 -ss 00:04:04 -to 00:04:35 -c copy output1.mp4 && ffmpeg -i mmm.mp4 -ss 00:05:47 -to 00:06:05 -c copy output2.mp4 && mencoder -ovc copy -oac mp3lame -idx output1.mp4 output2.mp4 -o complete.mp4
Jeśli masz zainstalowany PHP, zrób z niego skrypt:
Zawartość TimeDiff.php:
zawartość audiochop.sh:
Stosowanie:
Gdzie [startchop] i [stopchop] są absolutnymi znacznikami czasu od początku ścieżki.
Uwaga: Skrypty mogą wymagać dostosowania w zależności od wersji platformy itp.
źródło