ffmpeg-видео обрезка с конца видео

У меня есть несколько видео различной длительности. Я хочу вырезать (удалить) последние 5 секунд всех видео. Могу ли я использовать «ffmpeg» в цикле для обрезки видео? Пожалуйста, помогите мне.

3
задан 29 January 2014 в 16:11

1 ответ

Это даст вам продолжительность вашего файла в секундах:

let A=$(avprobe input.webm 2>&1 | grep "^ *Duration: " | sed "s/^ *Duration: \\([0-9:]*\\).*/(((\\1)/" | sed "s/0\\([0-9]\\)/\\1/g" | sed "s/:/)*60+/g")

Хотя avprobe возвращает доли секунд, bash не имеет дело с дробями. Так что я просто отбрасываю все, что меньше 1 секунды.

После этого вы можете легко сделать что-то вроде этого:

let A=$A-5
avconv -i input.webm -t $A -c:v copy -c:a copy output.webm

Извините, что не использовали ffmpeg. Я перешел на avconv некоторое время назад, я считаю, что варианты должны быть одинаковыми, и если нет, то будет просто переписать их по мере необходимости.

После этого вопрос заключается только в том, чтобы обернуть все это в цикл for и сделать все файлы одновременно.

0
ответ дан 29 January 2014 в 16:11

Другие вопросы по тегам:

Похожие вопросы: