Próbuję przekonwertować plik .mov na plik .gif i nie mam powodzenia.
Oto błąd:
ffmpeg -pix_fmt rgb24 -i yesbuddy.mov output.gif
ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
built on Jun 12 2012 17:47:34 with clang 2.1 (tags/Apple/clang-163.7.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/0.11.1 --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-libfreetype --cc=/usr/bin/clang --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass --enable-libvo-aacenc --disable-ffplay
libavutil 51. 54.100 / 51. 54.100
libavcodec 54. 23.100 / 54. 23.100
libavformat 54. 6.100 / 54. 6.100
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 77.100 / 2. 77.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Option pixel_format not found.
Jeśli pominę część -pix_fmt rgb24, narzeka. Myśli o tym, jak to naprawić?
conversion
ffmpeg
gif
Daniel Fischer
źródło
źródło
Odpowiedzi:
Kolejność argumentów wiersza poleceń ma znaczenie. Ta linia poleceń powinna działać, ale wygeneruje gigantyczny plik:
Pamiętaj, że prawdopodobnie chcesz zmniejszyć liczbę klatek na sekundę i rozmiar podczas konwersji, a także określić czas rozpoczęcia i czas trwania. Prawdopodobnie nie chcesz konwertować całego pliku w oryginalnej rozdzielczości i liczbie klatek na sekundę.
Rozmiar pliku nadal będzie ogromny. Możesz użyć optymalizatora GIF ImageMagick , aby zmniejszyć rozmiar:
źródło
convert
8mb , a zoptymalizowana wersja była zdumiewająca 10k! Imponujący!Po konwersji:
Spróbuj zoptymalizować ramki:
I użyj
gifsicle
do ostatecznej optymalizacji:Mam 6,8 MB GIF z 12,2 MB wideo o niemal tej samej jakości!
źródło
Zrobiłem narzędzie, które łączy FFmpeg, ImageMagick i giflossy w jeden łatwy w użyciu program wiersza poleceń, który można zainstalować w jednym wierszu: https://github.com/vvo/gifify
Polecam każdemu, kto chce włączyć filmy => GIF, aby z niego korzystać, zamiast próbować spędzać dużo czasu przeglądając 3 witryny z dokumentacją, aby zrozumieć, jak zmienić rozmiar GIF lub zmienić czas rozpoczęcia / zakończenia.
źródło
alias gifify='docker run -it --rm -v $(pwd):/data maxogden/gifify'
użyj gogifify screencast.mkv -o screencast.gif --resize 800:-1
najpierw użyj ffmpeg do przekonwertowania pliku mp4 na obrazy za pomocą potoku, a następnie użyj imagemagick do skompresowania go do gifa i zoptymalizowania go za pomocą gifsicle
Nie wiem, dlaczego bezpośrednie używanie gifscicle nie zadziała.
lub możesz przez to zmniejszyć gif
źródło