2011-09-27 12 views
13

Chcę utworzyć pokaz slajdów z moich obrazów z zaniknięciem w & zanikania przejść między nimi i używam filtra zaniku FFmpeg.FFmpeg efekty zanikania między klatkami

Jeśli użyć polecenia:

ffmpeg -i input.mp4 "fade=in:5:8" output.mp4 

Aby utworzyć wyjścia wideo z efektu zanikania, to daje wyjściowego wideo z pierwszych 5 klatek czarno niż obrazy są wyświetlane z wyciszeniem w efekcie ale chcę zanikać: w : efekt między zmianą ramki.

Jak mogę to zrobić?

Proszę powiedzieć rozwiązanie dla serwera CentOS ponieważ używam FFmpeg na tym serwerze tylko

+0

http://superuser.com/ pytania/778762/crossfade-between-2-videos-using-ffmpeg | http://superuser.com/questions/223678/how-to-convert-single-images-into-a-video-with-blending-transition –

Odpowiedz

6

Aby stworzyć film z efektu zanikania, po prostu złamać film na części i tworzyć oddzielne filmy dla każdego obrazu. Na przykład, jeśli masz 5 obrazów następnie po pierwsze, tworzyć 50-60 kopii każdego obrazu i uzyskać na to wideo:

$command= "ffmpeg -r 20 -i images/%d.jpg -y -s 320x240 -aspect 4:3 slideshow/frame.mp4"; 
    exec($command." 2>&1", $output); 

To pozwoli Ci stworzyć 5 różnych filmów. Następnie potrzebujesz 10-12 różnych kopii tych pięciu zdjęć i ponownie utwórz osobne filmy z efektami zanikania.

ffmpeg -i input.mp4 "fade=in:5:8" output.mp4 

Po tym trzeba będzie filmy jak: wideo na obrazie 1 i jego efektu zanikania obrazu następnie przez 2, a jego wpływ na blaknięcie i tak dalej. Teraz połącz te filmy w odpowiedniej kolejności, aby uzyskać cały film.

do łączenia filmów trzeba:

$command = "cat pass.mpg slideshow/frame.mpg > final.mpg"; 

Oznacza to, aby przyłączyć się do wideo za pomocą cat i potem trzeba je konwertować do mpg, połączyć je i ponownie przestawienia ich do MP4 lub AVI, aby wyświetlić je prawidłowo . Również przekonwertowane filmy mpg nie będą odpowiednie, więc nie przejmuj się. Po przekonwertowaniu ich na MP4 będzie działać poprawnie.

+1

Zamiast tworzyć wiele kopii plików graficznych, możesz powiedzieć ffmpeg, aby zapętlił wkład. '-loop 1 -i input.jpg -t 2' powie ffmpeg, aby użył nieruchomego obrazu jako źródła pętli. Ponieważ będzie on odtwarzany na zawsze, należy ustawić czas dla wyjściowego wideo za pomocą opcji '-t 2' (w tym przypadku określając 2 sekundy). – stib

1

Możesz użyć gifblender, aby utworzyć połączone, pośrednie ramki ze swoich obrazów, a następnie przekonwertować je do filmu za pomocą ffmpeg.

-1

Możesz zrobić pokaz slajdów ze stopniem przechodzenia między obrazami, używając filtra klatek na sekundę. W poniższym przykładzie 0.25 to liczba klatek na sekundę użyta do odczytu na zdjęciach, w tym przypadku 4 sekundy dla każdego zdjęcia. Parametr fps ustawia szybkość klatek na sekundę. Parametry interp_start i interp_end mogą być użyte do zmiany efektu zanikania: interp_start = 128: interp_end = 128 oznacza brak blaknięcia. interp_start = 0: interp_end = 255 oznacza ciągłe zanikanie. Kiedy jedno zdjęcie zniknie, a następne zdjęcie całkowicie zniknie, trzecie zdjęcie natychmiast zacznie blednąć. Nie ma przerwy na wyświetlenie drugiego obrazu. interp_start = 64: interp_end = 191 oznacza połowę czasu to przerwa w wyświetlaniu obrazów, a druga połowa zanika. Niestety nie będzie to całkowite zanikanie od 0 do 100%, ale tylko od 25% do 75%. Nie jest to dokładnie to, czego możesz chcieć, ale lepsze niż brak blaknięcia.

Ffmpeg -framerate 0,25 -i IMG_% 3d.jpg -vf "Framerate = kl = 30: interp_start = 64: interp_end = 192: sceny = 100" test.mp4

+1

Chociaż może to teoretycznie odpowiedzieć na pytanie, [byłoby lepiej] (// meta.stackoverflow.com/q/8259), aby uwzględnić istotne części odpowiedzi tutaj, i podać link dla odniesienia. –

+0

masz rację, zredagowałem swoją odpowiedź. – Michael