微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 7MB GIF 上传到 Twitter 的 API

如何解决如何将 7MB GIF 上传到 Twitter 的 API

我有一堆 JPEG 帧,我使用 ImageMagick 将它们拼接成 GIF。最终产品具有以下类型:

GIF image data,version 89a,1280 x 720

这给出了动画 GIF 的效果。我的文件大小在 6-8MB 之间。

如果我手动将此媒体上传到 Twitter,效果很好。当我尝试以下操作时,使用 TwitterOAuth PHP 库发现 here

$media = $twitterConnection->upload('media/upload',['media' => 'my_file.gif');

我收到以下错误

Image file size must be <= 5242880 bytes

我也尝试过使用 Twitter's recommended Python large video library 上传文件,但失败了:

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

我愿意使用任何平台/实用程序将我的视频文件上传到 Twitter。我最好的选择是:

1:修正我的文件类型以符合 Twitter 的要求。它不应该是GIF吗?我应该将静态拍摄的 JPEG 文件转换为另一种格式吗?

2:Twitter 是否有允许上传这些尺寸的 GIF 的 API?同样,我可以通过常规 Twitter Web UI 客户端上传这些文件,但我无法通过他们的 API 自动上传

如何使用他们的 API 将我的 GIF 上传到 Twitter?

解决方法

gif 文件不能有 5MB 的限制。下面引用了您的文档。

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

支持的图片媒体类型:JPG、PNG、GIF、WEBP 图像大小

https://developer.twitter.com/en/docs/twitter-api/v1/media/upload-media/uploading-media/media-best-practices#:~:text=Dimensions%20must%20be%20between%2032x32,must%20not%20exceed%20512%20mb

回答你的另外两个问题。

  1. 是的,尝试压缩文件。

  2. 任何 API 脚本都不允许。我不确定 twitter 是否仍然从图像托管中渲染文件,比如你习惯的 twitpic,你可以试试。

,

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

ffmpeg -i yourGif.gif -lavfi "palettegen=max_colors=255:stats_mode=diff"palette.png

ffmpeg -i yourgif.gif -i Palette.png -lavfi "paletteuse=dither" -c:v gif -pix_fmt yuv420p PaletteGif.gif

您可以减少 max_colors 选项以减少空间但降低质量

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

否则唯一的解决办法就是缩小你的gif

,

再次尝试对 gif 进行编码,使用 ffmpeg 使用本指南使用 -f gif 对一系列图像进行编码 https://en.m.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/image_sequence

使用调色板,因为 GIF 有 256 种颜色作为 jpeg 并使用 -pixel_format yuv420p 否则某些用户会遇到问题,如果 jpeg 相同,保持最后缩放可能会节省一些空间。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。