Tworzenie wideo z pojedynczego obrazu przez określony czas w ffmpeg

86

Jak wygenerować film przy użyciu ffmpeg przy użyciu pojedynczego obrazu (image1.png) przez 15 sekund z określoną rozdzielczością, więc kiedy odtwarzam wideo, obraz pojawi się na ekranie przez 15 sekund.

Dharmesz
źródło

Odpowiedzi:

128
ffmpeg -loop 1 -i image.png -c:v libx264 -t 15 -pix_fmt yuv420p -vf scale=320:240 out.mp4
  • -T 15 sprawia, że ​​trwa 15 sekund.
  • Skala -vf = 320: 240 ustawia szerokość / wysokość.

Upewnij się, że używasz aktualnej wersji ffmpeg, np. Http://johnvansickle.com/ffmpeg/

Equanox
źródło
1
Unable to find a suitable output format for 'scale=1280:1024' scale=1280:1024: Invalid argumentKażdy pomysł, dlaczego?
Agey
1
@Equanox Miałem ten sam problem, ale był on spowodowany znakiem „\” podczas kopiowania i wklejania. Usunięcie go rozwiązuje problem.
user1319182
3
Odpowiada na pytanie, ale nie podoba mi się używanie tych wszystkich zbędnych dodatków w poleceniu.
joey
15
@joey Me też, zwłaszcza, że ​​OP nie prosił o nic konkretnego. Chcesz zrobić film z jednego zdjęcia i nie dbasz o żadne szczegóły? ffmpeg -loop 1 -i image.png -t 5 out.mp4
Doe Johnson
3
To jest świetne, ale ... trwa wieczność i topi mój procesor, aby wygenerować 40-minutowy film na podstawie pojedynczego obrazu PNG w rozdzielczości 720p. Czy jest sposób, aby to przyspieszyć? Kompresja nie ma znaczenia, jeśli pozostaje poniżej kilku GB.
HunterZ