web-dev-qa-db-ja.com

whatsappがすべてのgifを再生しないのはなぜですか?

Chromeで正常に機能するgifを作成すると、WhatsAppで再生できません。静止画像を表示するだけです。

例として、lualua-Gd GIFを描画するパッケージ。拡大された円の素敵なgifを提供するコード例でも、WhatsAppでは再生されません。 WhatsAppの私のバージョンはgifを問題なく表示できることに注意してください(たとえば、Giphy gifを使用してWeb WhatsApp経由で送信されたもの)。

ここにgifがあります:

gif

これは、lua-Gdによって次の サンプルコード によって生成されます。

require "Gd"

im = Gd.createPalette(120, 120)
assert(im)

black = im:colorAllocate(0, 0, 0)
blue = {}
for i = 1, 20 do
  blue[i] = im:colorAllocate(0, 0, 120+6*i)
end

fp = io.open("out.gif", "w")
assert(fp, "Failed to open file for writting")

fp:write(im:gifAnimBeginStr(true, 0))

for i = 1, 20 do
  tim = Gd.createPalette(120, 120)
  tim:paletteCopy(im)
  tim:arc(60, 60, 6*i, 6*i, 0, 360, blue[21-i])
  fp:write(tim:gifAnimAddStr(false, 0, 0, 5, Gd.DISPOSAL_NONE))
end

fp:write(Gd.gifAnimEndStr())
fp:close()
14
JBrouwer

ほとんどの場合、コンピュータでgifを共有しているときに発生します。作成したGIFファイルをモバイルデバイスに保存し、モバイルアプリから直接共有してみてください。毎回うまくいきました。

5
TheSEOGuy

WhatsAppはGIFの直接送信をサポートしていませんが、回避策を見つけました。

動画として送信し、携帯電話で開き、共有し、そこでGIFを選択します(Androidの右上隅)。

3
AdB

この方法で解決することができました:

  1. コンピュータにGIFを取得しました

  2. GIFは、WhatsApp Webを使用して、(写真ではなく)ファイルとして自分に送信されました

  3. ダウンロードして電話で開きました。

ほら!

1
A Koscianski

Linuxでは Imagemagick を使用すると非常に簡単です。

  • アスペクト比を維持した同じ幅のすべての画像:mogrify -resize 350 *.jpeg
  • GIFを作成convert -loop 0 -delay 50 *.jpeg myanimation.gif
  • GIFをMP4に変換するconvert myanimation.gif myanimation.mp4

もちろん、最初にGIFを作成せずに直接MP4を作成することもできます。

MP4が機能しない場合は、次の方法で修正してください。

ffmpeg -i broken.mp4 -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p working.mp4
0
Pablo A