Właśnie znalazłem ten film na YouTube, gdzie jest podzielony ekran z ruchomą siatką. Chcę wiedzieć, jak utworzyć ruchomy podzielony ekran, tak jak na filmie, używając ffmpeg.
Oto, co chcę osiągnąć:
Wygląda na to, że mnie źle zrozumiałeś. Sprawdziłem kod wideo na tym. Mój problem polega na tym, że nie znam takiej pętli png jak ten film.
ffmpeg -i video.mp4 -i nen.png -filter_complex "overlay=x=0:y='if(gte(t,0), -w+(t)*800, 3)'" out.mp4
Próbowałem: loop -1 and overlay:shortest=1
ale zawiodłem
Czy możesz zapętlić nakładkę dla mnie?
Odpowiedzi:
Musisz użyć złożonego filtra:
Zakłada się, że masz trzy filmy wejściowych (
input-1.mp4
przezinput-3.mp4
), które sąscale
d w tym przypadku po prostu się je do właściwych wymiarów siatki. Są one następnie poziomo i pionowostack
ed na szczycie siebie, aby uzyskać wideo 1920⨉1080 oznaczony jako wyjściowystack
.Teraz masz
grid.png
przezroczystą nakładkę, której rozmiar również musi wynosić 1920 × 1080. Oczywiście musisz sam stworzyć tę siatkę za pomocą edytora obrazów.Ta siatka będzie
overlay
edytowana na górze stosu, ale jejy
współrzędne będą się różnić w zależności od wyniku funkcji sinusoidy . Możesz dostosować prędkość ruchu, zmieniając parametr wcześniejn
(czyli liczbę klatek), a amplitudę, zmieniając parametr przedsin
funkcją.Oczywiście, jeśli chcesz bardziej losowego ruchu, możesz dodatkowo zmodyfikować pozycję
random
, na przykład za pomocą funkcji.źródło