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

Как уже говорили другие, это новый синтаксис для создания функций.

Однако, этот тип функций отличается от обычных:

  • Они связывают значение this. Как объяснено в в спецификации ,

    Функция ArrowFunction не определяет локальные привязки для arguments, super, this или new.target. Любая ссылка на arguments, super, this или new.target в ArrowFunction должна разрешать привязку в лексической среде. Обычно это будет функциональная среда непосредственно включающей функции.

    Даже если ArrowFunction может содержать ссылки на super, функциональный объект, созданный на шаге 4, не превращается в метод при выполнении MakeMethod . ArrowFunction , которая ссылается на super, всегда содержится в не ArrowFunction , а необходимое состояние для реализации super доступно через область , которая захвачена функциональным объектом функции ArrowFunction .

  • Они не являются конструкторами.

    Это означает, что они не имеют [[Construct]] внутреннего метода и, следовательно, не могут быть созданы, например,

    var f = a => a;
    f(123);  // 123
    new f(); // TypeError: f is not a constructor
    

3
задан 07.05.2020, 23:07

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 и сделать все файлы одновременно.

2
ответ дан 07.05.2020, 23:08
  • 1
    К вашему сведению, для моей версии avconv (0.8.6-1 (Debian Сжимают)), я должен был, в заключительной команде, показанной выше, поменять начинающуюся струну упомянутой команды к avconv -i input.webm. – Danut Pralea 07.05.2020, 23:08
  • 2
    @v010dya bash: let: A=: syntax error: operand expected (error token is "=") – SPRBRN 07.05.2020, 23:08
  • 3
    @v010dya, Что делает let, делают? Что *.webm? – drew.. 07.05.2020, 23:09

Теги

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