Zawartość artykułu
Program FFmpeg do stabilizacji w konsoli Linux
Użyj do tego programu FFmpeg. Pozwala on dokładnie kontrolować każdy aspekt przetwarzania wideo – od stabilizacji, przez kompresję, po filtry kolorystyczne i konwersję formatów.
W przypadku stabilizacji możesz np. ustawić:
- poziom drgań,
- stopień wygładzania,
- zoom kompensujący ruch,
- ograniczenie kąta obrotu,
- tryb „tripod” – udający nieruchomą kamerę.
Tak na prawdę żadne GUI (np. Kdenlive czy Shotcut) nie daje aż takiej precyzji.
FFmpeg działa bez interfejsu graficznego, więc może być używany w skryptach, batchach, na serwerach, np. do przetwarzania setek plików w razie potrzeby. W naszym przypadku po prostu w terminalu Linux.
Wideo można stabilizować, przeskalować, przekodować — wszystko jedną komendą.
Odbywa się to dwuetapowo najpierw wywołaj:
1. Wykrywanie ruchu (analiza)
1 |
ffmpeg -i input.mp4 -vf vidstabdetect=shakiness=5:accuracy=15:result=transforms.trf -f null - |
shakiness=5
– poziom drgań (1–10)accuracy=15
– dokładność (1–15)result=transforms.trf
– plik z analizą ruchu kamery (będzie on kluczowy w następnym etapie)
2. Stabilizacja na podstawie analizy
1 |
ffmpeg -i input.mp4 -vf vidstabtransform=input=transforms.trf:zoom=5:smoothing=30 -c:v libx264 -preset slow -crf 18 stabilized.mp4 |
zoom=5
– automatyczne przybliżenie, by ukryć czarne krawędziesmoothing=30
– jak „płynna” ma być stabilizacja (większe = płynniej)crf=18
– jakość wyjściowa (niższa wartość = lepsza jakość)
UWAGI
Aby usunąć czarne obwódki:
1 |
... -vf "vidstabtransform=input=transforms.trf:zoom=5:smoothing=30,crop=iw-20:ih-20" |
Dla bardzo drgających nagrań warto eksperymentować z:
optzoom=1
maxangle=0.5
tripod=1
(jeśli kamera była względnie nieruchoma)
Dla przykładu – co robi tripod=1
?
Zamiast „wygładzać” ruch kamery, całkowicie go eliminuje.
Traktuje każdy ruch jako niepożądany — końcowy obraz wygląda, jakby kamera była zamocowana na stabilnym statywie.
Idealne do nagrań, gdzie kamera powinna być nieruchoma, ale jednak lekko drgała (np. telefon na statywie, wiatr).