Я попытался найти решение, но все они включают в себя копирование, скажем, 10 секунд с 00:00:00 видео вместо удаления достаточного количества видео, начиная с конца, чтобы оставить только 10 секунд. У меня есть куча видеороликов, которые мне нужно снять с конца ровно за 18 секунд, но общая продолжительность варьируется от видео к видео. Разве это невозможно автоматизировать с помощью ffmpeg или какой-либо другой программы?
1 ответ
5
См. Раздел Использование ffmpeg для разрезания видео, где приведены ответы на вопросы об использовании ffmpeg
для разрезания видео с -ss
и -t
.
Для получения продолжительности видео вы можете использовать: ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 video.mp4
как показано на http://superuser.com/questions/650291/ddg#945604
Таким образом, комбинируя обе вещи, вы можете сделать -t $(( $(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 video.mp4 |cut -d\. -f1) - 18 ))
иметь длительность, равную предыдущему минус 18 секунд.