как использовать ffmpeg с vidstab и filter_complex - PullRequest
0 голосов
/ 14 января 2020

В настоящее время я пытаюсь извлечь выгоду из записи плохого качества смартфона. Поскольку это около 30 видеофайлов, которые очень похожи в аудио и видео, я решил, что могу использовать ffmpeg для этой пакетной работы.

Я экспериментировал с vidstab и нашел очень приятные результаты при использовании его в двухпроходном режиме. : (как также указано в ffmpeg: объединение / упорядочение vidstab и фильтров обрезки )

ffmpeg -i input.mp4 -vf vidstabdetect = stepsize = 32: shakiness = 10: точность = 10: result = result.trf -f null -

и после этого пошли с

ffmpeg -i input.mp4 -vf vidstabtransform = smoothing = 7: input = result.trf newfile.mp4

Основной целью также является постепенное затухание видео и аудио в течение определенного времени, а также добавление улучшения изображения с помощью фильтра эквалайзера. Я хочу использовать (оттуда: https://askubuntu.com/questions/1128754/how-do-i-add-a-1-second-fade-out-effect-to-the-end-of-a-video-with-ffmpeg)

ffmpeg -i "$f" -filter_complex "[0:v]fade=type=in:duration=1,fade=type=out:duration=1:start_time='$offset'[v];[0:a]afade=type=in:duration=1,afade=type=out:duration=1:start_time='$offset'[a]" -map "[v]" -map "[a]" fade/"$f"

Все команды сами по себе работают нормально.

Вопрос: как я могу объединить -vf и -filter_complex для моей желаемой цели? Спасибо за любой ответ!

1 Ответ

0 голосов
/ 14 января 2020

Выполните предварительный проход, чтобы получить информацию о стабилизации:

ffmpeg -i input.mp4 -vf "[0:v]vidstabdetect=stepsize=32:shakiness=10:accuracy=10:result=result.trf" -an -f null -
  • -an был добавлен для игнорирования звука. Вам не нужно декодировать звук, поэтому он будет обрабатываться немного быстрее.

Теперь запустите вторую команду, включающую vidstabtransform:

ffmpeg -i "$f" -filter_complex "[0:v]vidstabtransform=smoothing=7:input=result.trf,fade=type=in:duration=1,fade=type=out:duration=1:start_time='$offset'[v];[0:a]afade=type=in:duration=1,afade=type=out:duration=1:start_time='$offset'[a]" -map "[v]" -map "[a]" fade/"$f"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...