Kubuntuを実行しています。 wineにWindowsアプリケーションをインストールしたくありません。 Flashアニメーション(.SWFファイル)をアニメーションGIFに変換する(比較的単純な)コマンドが欲しいのですが。
入力.SWFファイルは14.5 KiBしかなく、全体を最高品質で変換したいと思います。 GIFが同様のサイズになることを期待しています。
インストールしたffmpegの情報は次のとおりです。
ffmpeg version 0.10.12-7:0.10.12-1~precise1 Copyright (c) 2000-2014 the FFmpeg developers
built on Apr 26 2014 09:49:36 with gcc 4.6.3
configuration: --Arch=AMD64 --disable-stripping --enable-pthreads --enable-runtime-cpudetect --extra-version='7:0.10.12-1~precise1' --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
libavutil 51. 35.100 / 51. 35.100
libavcodec 53. 61.100 / 53. 61.100
libavformat 53. 32.100 / 53. 32.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 61.100 / 2. 61.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 52. 0.100 / 52. 0.100
これを達成するための最も基本的なコマンドを試した場合は、投稿で言及しません。
ffmpeg -i input.swf output.gif
GIFは256色のフォーマットであるため、これが機能すると仮定すると、品質に問題が生じます。 (Imgurは最近、WebMビデオを使用するGIFVのファイル形式を拡張しましたが、それは別のトピックです)
それでもうまくいかない場合は、SWFデコーダーやGIFエンコーダーがないためです。このコマンドを実行すると、FFMpegのバージョンでサポートされているコーデック/形式を確認できます。
ffmpeg -formats
その出力はかなり冗長で(すべてがリストされます)、grep
を使用してそれを削減できます。
ffmpeg -formats | grep -i GIF
ffmpeg -formats | grep -i SWF
私はこれを手に入れました:
DE gif GIF Animation
E avm2 SWF (ShockWave Flash) (AVM2)
DE swf SWF (ShockWave Flash)
これは、私のバージョンのFFMpegがGIFおよびSWFのデコードとエンコードをサポートしていることを示しています。
GIFに変換する前に、AVIへの変換をテストして、GIFの問題が発生する前の品質を確認することもできます。
ffmpeg -i input.swf -sameq output.avi
-sameq
フラグ。SWFには「品質」がないためです。 -b:v 900k
ビデオのビットレートをかなり高く設定します。
更新
リンクしたソースは、GCCと「zlib」ライブラリ(ほとんどすべてのライブラリ)を備えたLinuxシステムで簡単にコンパイルできます。コンパイル方法は次のとおりです。
Sudo apt-get install build-essential zlib-dev
wget -o main.c "http://svn.perian.org/ffmpeg/tools/cws2fws.c"
gcc main.c -lz
これで、次のように変換するツールを実行できます。
./a.out input.swf decompressed.swf
乾杯