Обрезать видео файл для редактирования беззвучных частей - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть видеозаписи вебинаров с длинными паузами в них.Мне нужно отредактировать тихие части (как аудио, так и соответствующие видео дорожки).Мне нужно сделать это с помощью команды linux и сделать это как пакетное действие для нескольких видеофайлов.Идеальный сценарий - запустить команду, которая:

  1. обнаруживает длинные интервалы молчания (превышающие заданный временной интервал, например, 5 секунд)
  2. вырезает длинные секции молчания и оставляет только 5 секундв немом видеосъемке были все «громкие» видео-секции.

В другом посте Я нашел этот замечательный сценарий (ниже).Он выполняет свою работу, но он а) не оставляет в 5-ти секундных видео, которые мне нужны, после каждой «громкой» видео-части, и б) не компилирует созданные видеофайлы в один составной видеофайл (эта проблемаДля меня это менее важно, хотя было бы здорово сделать это в одной команде).

Я не понял, как изменить скрипт для этого.

Заранее спасибо за любые предложения.

ffmpeg -i input.mkv -filter_complex "[0: a] silencedetect = n = -90dB: d = 0,3 [outa]" -map [outa] -f s16le -y / dev /null | & F = '- aq 70 -v предупреждение' perl -ne 'INIT {$ ss = 0;$ С = 0;} if (/ silence_start: (\ S +) /) {$ ss = $ 1;$ Ctr + = 1;printf "ffmpeg -nostdin -i input.mkv -ss% f -t% ​​f $ ENV {F} -y% 03d.mkv \ n", $ se, ($ ss- $ se), $ ctr;} if (/ silence_end: (\ S +) /) {$ se = $ 1;} END {printf "ffmpeg -nostdin -i input.mkv -ss% f $ ENV {F} -y% 03d.mkv \ n", $ se, $ ctr + 1;} '|bash -x

...