У меня есть команда FFmpeg для обрезки аудио:
ffmpeg -ss 01:43:46 -t 00:00:44.30 -i input.mp3 output.mp3
Проблема, с которой я сталкиваюсь в этой команде, заключается в том, что для этой опции -t
требуется продолжительность (в секундах) от 01:43:46 . Я хочу обрезать звук, используя время запуска / остановки, например, между 01:43:46 и 00: 01: 45.02 .
Это возможно?
ffmpeg
кажется, не предоставляет ничего, кроме времени начала и продолжительности. Иmplayer
не тоже.Ответы:
FFmpeg , кажется, новый вариант -в в документации :
Пример команды с двумя форматами времени
Это должно создать копию (file-2.mkv) файла.m.mv с отметки 20 секунд до отметки 40 секунд.
источник
copy
часть, аудио / видео не синхронизировано, то я удаляю это и добавляю,-async 1
и это работает как шарм. Конечно, это требует перекодирования, поэтому улучшением будет команда, которая позволит,copy
но без проблем с синхронизацией.ffmpeg -i file.mp3 -ss 10 -to 11 -ss 20 -to 21 -ss 30 -to 31 ....
-to
опцию: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
Если у вас установлен PHP, сделайте его скриптом:
TimeDiff.php содержание:
audiochop.sh содержание:
Использование:
Где [startchop] и [stopchop] являются абсолютными временными метками от начала трека.
Примечание: скрипты могут нуждаться в настройке в зависимости от версии платформы и т. Д.
источник