当我创建一个在Chrome中运行良好的gif时,我无法在WhatsApp中播放它。它只显示静态图像。
举个例子,我使用lua
和lua-gd
包来绘制GIF。即使给出的示例代码,它给出了一个很好的扩大圆的GIF,也不会在WhatsApp上播放。请注意,我的WhatsApp版本可以很好地查看GIF(例如使用Giphy gifs通过web WhatsApp发送的那些)。
这是gif:
这是由lua-gd的以下example code生成的:
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()
WhatsApp不支持直接发送GIF,但我找到了解决方法。
将其作为视频发送,在手机上打开,分享并在那里选择GIF(在Android的右上角)。
大部分时间都是在我们通过计算机共享gif时发生的。尝试将创建的GIF文件保存在移动设备中,并直接从移动应用分享。它每次都对我有用。
管理以这种方式解决它:
有!
使用Imagemagick在Linux上很容易:
mogrify -resize 350 *.jpeg
convert -loop 0 -delay 50 *.jpeg myanimation.gif
convert myanimation.gif myanimation.mp4
当然,您可以直接创建MP4而无需先创建GIF。
如果您的mp4无法正常工作,请尝试使用以下方法修复:
ffmpeg -i broken.mp4 -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p working.mp4