Часто бывает, когда съемку делаю с рук, без помощи штатива на видео видны колебания кадров. Ffmpeg разработана система, позволяющая стабилизировать видео. Насколько это возможно.
Первым вступает в действие фильтр vidstabdetect. Его задача записать колебания. Запись идет в специальны файл с раширением trf. В дополнение записывается видео файл, на котором показывает колеблющиеся точки. Аргументы записываются через двоеточие.
ffmpeg.exe -i Video.mp4 -vf vidstabdetect=shakiness=10:accuracy=15:result=»Video.trf»:show=1 Video_trf.mp4
Аргумент shakiness регулирует насколько сильно учитывать тряску. От 1 до 10. 1 слабые, 10 сильные. По умолчанию 5.
Аргумент result указывает в какой файл будет записана информация.
Аргумент аccuracy отвечает за точность процесса. Значение может быть от одного до 15. 1 менее точное, 15 высокая точность.
Аргумент stepsize определяет минимальный регион вокруг которого отслеживают движение точки. Минимальны 1, максимальный 6. По умолчанию 5. Используем значение по умолчанию, поэтому в командой стоке он отсутствует.
Аргумент show запишет в видео файл и покажет, как точки движутся. Если приравнять этот аргумент к нулю это отменит запись видео файла движения точек. Этот файл служит для наглядности.
Запускаем процесс, по окончании получаем файл .trf и видео с колебаниями точек.
Второй этап заключается в запуске фильтра vidstabtransform.
Строчка выглядит так:
ffmpeg.exe -i Video.mp4 -vf vidstabtransform=zoom=20:input=»Video.trf»,unsharp Video_stab.mp4
Аргумент zoom — в процессе стабилизации кадры смещаются друг относительно друга и по краям их надо чем-то заполнить. Zoom кадрирует изображение. Чем больше значение, тем больше увеличение.
А можно так:
ffmpeg.exe -i Video.mp4 -vf vidstabtransform=input=»Video.trf»:crop=keep,unsharp Video_stab.mp4
Здесь пустые места заполняются другим способом.
Аргумент crop может принимать сдедующие значения: black края от колебаний заполнит черными пикселями. Или keep тогда возмет пустые места с предыдущего кадра.
Фильтр unsharp — применяется для увеличения
эффекта ощущения большей резкости.
