2017-11-27 5 views
0
を使用して、合理的な品質でGIFに透かしを追加する

ので、私は、出力品質は、問題に類似かなり低いはFFMPEG

@echo off 
setlocal 
for %%G in ("%~dp0webm\*.gif") do (
    ffmpeg -i %%G -i watermark.png -filter_complex "[0:v]scale=trunc(iw/2)*2:trunc(ih/2)*2[v0];[1:v][v0]scale2ref=trunc(iw/5):trunc(ih/16)[logo][0v];[0v][logo]overlay=W-w-3:H-h-4 [v]" -map "[v]" "C:\Users\Propietario\Desktop\Conversion\gif\%%~nG.gif" 
    ) 
) 
endlocal 
pause 

しかしGIFファイルの完全なフォルダにロゴを追加するには、このコードを持ってIビデオからGIFへの変換で、パレットを作成して解決しました。

ffmpeg -i input.gif -filter_complex palettegen[PAL];[0:v]fifo[v0];[v0][PAL]paletteuse output.gif 

問題は、両方のソリューションは、私は、私は合理的な品質と透かし入りのGIFにGIFを回すことができるようになりますれる方法で両者を結合する方法を正確に知らない-filter_complexを使用し、です。

答えて

2

あなたは、品質を損なうことなくGIFに透かしを追加することはできません。

GIFの色は最大256色で、ピクセルアートとして扱う必要があります。ビデオとしての滑らかな画像ではありません。滑らかな画像のシーケンスとして期待されるビデオを処理するためのツール。鮮明なピクセルの世界と滑らかな画像の世界との間のどこかの変換は、失われずにはできません。 GIFはまた、例えば非常に適応性の高いパレットのような多くのトリックを使用します。したがって、白いロゴを追加したい場合は、ここではパレットに白い色がありません。そして、ここでは、 "アルファブレンディング"は色を組み合わせる試みはパレットマップを劇的に変更し、すべての画像が歪められます。

もし理論であれば、パレット画像(当時のビデオ処理ツールではできない)として解凍したり、透かしを分析したり、現在のパレットの透かしを適用することができます(はい、ウォーターマーク、イメージを変更したくない場合)、ウォーターマークをイメージに追加してイメージを再パックし直します。これは複雑な作業であり、私はそのためのツールを知らない。インターネットユーザーとして、私は練習をサポートしていません。不要な透かしを入れた人がラベルを貼った良質のコンテンツは、オリジナルを好むので、そのようなソフトウェアを書くのは嫌です。

+0

あなたの意見をお寄せいただきありがとうございます.GIFの品質低下を受け入れる必要があるかもしれないと思いますが、私はあなたに完全に同意しますが、私のコンテンツは恥知らずに盗まれていますので、コーナーにウォーターマークを付けて、それを避けてください。 –

+0

本当にあなたのコンテンツだったら、多くのアーティストがそうしているように、生産段階で透かしを追加することができます。あなたは他の人の仕事を取り、その上にあなたの名前を形作る別のサイトです。各郵便は、盗難された再郵送の再郵送の再郵送です。 – bukkojot

+0

自分自身のコンテンツが私のものではないことは許されているが、編集はそれ自体のコンテンツである(少なくとも私の意見では)、実際にはテキストを追加する上にその黒いバーを持つ他のページで見るのは好きではないそれに。 –

2

使用

@echo off 
setlocal 
for %%G in ("%~dp0webm\*.gif") do (
    ffmpeg -i %%G -i watermark.png -filter_complex "[0:v]scale=trunc(iw/2)*2:trunc(ih/2)*2[v0];[1:v][v0]scale2ref=trunc(iw/5):trunc(ih/16)[logo][0v];[0v][logo]overlay=W-w-3:H-h-4,palettegen [v]" -map "[v]" "C:\Users\Propietario\Desktop\Conversion\gif\%%~nG-palette.png" 
    ffmpeg -i %%G -i watermark.png -i "%%~nG-palette.png" -filter_complex "[0:v]scale=trunc(iw/2)*2:trunc(ih/2)*2[v0];[1:v][v0]scale2ref=trunc(iw/5):trunc(ih/16)[logo][0v];[0v][logo]overlay=W-w-3:H-h-4[ov];[ov][2]paletteuse [v]" -map "[v]" "C:\Users\Propietario\Desktop\Conversion\gif\%%~nG.gif" 
    ) 
) 
endlocal 
pause 
+0

品質はまだ悪いですが、このウェブサイトの例に似たGIF全体にいくつかの行があります。別のスレッドhttp://blog.pkh.me/p/21-high-quality-gif-with- ffmpeg.html、私は 'paletteuse'でもそれらを取り除くことはできません –

+0

あなたはGIFと透かしを共有できますか? – Mulvya

+0

待って、それは私がそれを実装していなかったようだ、あなたが投稿したものと一直線になるように修正した、何らかの理由でパレットを作成中にコンソールがクラッシュする。 –