Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将7MB GIF上传到Twitter';s API_Php_Twitter_Ffmpeg_Imagemagick - Fatal编程技术网

Php 如何将7MB GIF上传到Twitter';s API

Php 如何将7MB GIF上传到Twitter';s API,php,twitter,ffmpeg,imagemagick,Php,Twitter,Ffmpeg,Imagemagick,我有一堆JPEG帧,我用ImageMagick将它们缝合成GIF格式。最终产品具有以下类型: GIF图像数据,版本89a,1280 x 720 这将产生动画GIF的效果。我的文件大小介于6-8MB之间 如果我手动将此媒体上传到Twitter,效果会很好。在尝试以下操作时,使用twitterouthPHP库: INIT Media ID: 1362940800456351744 APPEND 4194304 of 7685061 bytes uploaded APPEND 7685061 of 7

我有一堆JPEG帧,我用ImageMagick将它们缝合成GIF格式。最终产品具有以下类型:

GIF图像数据,版本89a,1280 x 720

这将产生动画GIF的效果。我的文件大小介于6-8MB之间

如果我手动将此媒体上传到Twitter,效果会很好。在尝试以下操作时,使用
twitterouth
PHP库:

INIT
Media ID: 1362940800456351744
APPEND
4194304 of 7685061 bytes uploaded
APPEND
7685061 of 7685061 bytes uploaded
Upload chunks complete.
FINALIZE
{'media_id': 1362940800456351744, 'media_id_string': '1362940800456351744', 'media_key': '7_1362940800456351744', 'size': 7685061, 'expires_after_secs': 86400, 'processing_info': {'state': 'pending', 'check_after_secs': 1}}
Media processing status is pending
Checking after 1 seconds
STATUS
Media processing status is failed
$media=$twitterConnection->upload('media/upload',['media'=>'my_file.gif');

我得到以下错误:


图像文件大小必须是您不能对gif文件有5MB的限制。这是您的问题,下面引用了文档

图像规格和建议 图像文件必须满足以下所有条件:

支持的图像媒体类型:JPG、PNG、GIF、WEBP
图像大小gif文件有5MB的限制。这是您的问题,下面引用了文档

图像规格和建议 图像文件必须满足以下所有条件:

支持的图像媒体类型:JPG、PNG、GIF、WEBP
图像大小尝试使用调色板减少颜色的数量

ffmpeg-i yourgf.gif-lavfi“paletegen=max\u colors=255:stats\u mode=diff”palete.png

ffmpeg-i yourgf.gif-i palete.png-lavfi“paletteuse=dither”-c:v gif-pix_fmt yuv420p paletteGif.gif

您可以减少“最大颜色”选项,以减少空间,但降低质量

更改抖动值以查看哪个结果更好


否则,唯一的解决办法是缩小gif的大小

尝试使用调色板减少颜色的数量

ffmpeg-i yourgf.gif-lavfi“paletegen=max\u colors=255:stats\u mode=diff”palete.png

ffmpeg-i yourgf.gif-i palete.png-lavfi“paletteuse=dither”-c:v gif-pix_fmt yuv420p paletteGif.gif

您可以减少“最大颜色”选项,以减少空间,但降低质量

更改抖动值以查看哪个结果更好


否则,唯一的解决方案是缩小gif的大小

再次尝试对gif进行编码,使用ffmpeg使用本指南用-f gif对一系列图像进行编码


使用调色板,因为gif有256种颜色作为JPEG格式,并使用-pixel_格式yuv420p,否则一些用户会有问题,如果JPEG相同,请保持最后的缩放比例,这样可能会节省一些空间。

尝试再次对gif进行编码,使用ffmpeg使用本指南对一系列带有-f gif格式的图像进行编码


使用调色板,因为GIF有256种颜色作为JPEG格式,并且使用-pixel_格式yuv420p,否则一些用户会有问题,如果JPEG相同,最后保持缩放比例,您可能会节省一些空间。

我希望能够做到这一点而不影响图像质量。我希望能够做到这一点而不影响质量图像的不确定性。