it-swarm-eu.dev

Jak převést animovaný gif na mp4 nebo mv4 na příkazovém řádku?

Jaký příkaz mohu použít k převodu video souboru mp4 nebo mv4 na animovaný gif a naopak. To znamená, že převést animovaný gif na mp4 nebo mv4.

87
stinkypyper

Tady je to, co pro mě fungovalo:

ffmpeg -i animated.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.mp4

movflags - Tato volba optimalizuje strukturu souboru MP4, aby jej prohlížeč mohl načíst co nejrychleji.

pix_fmt - Videa MP4 ukládají pixely v různých formátech. Tuto možnost přidáváme k určení konkrétního formátu, který má maximální kompatibilitu ve všech prohlížečích.

vf - Videa MP4 používající H.264 musí mít rozměry dělitelné 2. Tato možnost zajistí, že tomu tak bude.

Zdroj: http://rigor.com/blog/2015/12/optimizing-animated-gifs-with-html5-video

123
Vico Vault

V mém případě, použití ffmpeg přímo udělal trik a poskytlo nejlepší výsledek:

$ ffmpeg -f gif -i infile.gif outfile.mp4
44
BenC

Pokud chcete provést výstup v "n loop", podívejte se na toto řešení v jednom záběru

Pojďme tedy převést normal.gif na loop.mp4

pro 2 smyčky příklad filmu:

ffmpeg -stream_loop 2 -i normal.gif loop.gif -y;ffmpeg -i loop.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4 -y

pro 5 smyček příklad filmu:

ffmpeg -stream_loop 5 -i normal.gif loop.gif -y;ffmpeg -i loop.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4 -y

POZOR: existuje - y [volitelné pro přepsání]

4
PYK

Verze pro MacO je následující:

$ ffmpeg -i input.avi -pix_fmt yuv420p output.mp4

Reference

3
beefeather

Další způsob, jak převést animaci GIF na video:

ffmpeg -i your_gif.gif -c:v libvpx -crf 12 -b:v 500K output.mp4

-crf hodnoty se mohou pohybovat od 4 do 63. Nižší hodnoty znamenají lepší kvalitu. -b: v je maximální povolená datová rychlost. Vyšší znamená lepší kvalitu.

2
user8547