# 帖子中的 GIF 在本地下载后暂停播放

**URL:** https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441
**Category:** Support
**Created:** [2021年一月27日 14:25 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441 "2021-01-27T14:25:20Z")
**Posts on this page:** 19
**Page:** 1

<div class="post-metadata">

### Author: ![Plunkett\_Barry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/plunkett_barry/32/207451_2.png) [@Plunkett\_Barry](https://meta.discourse.org/u/Plunkett_Barry)
#### Post date: [2021年一月27日 14:25 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/1 "2021-01-27T14:25:20Z")

</div>

你好，

我在 Discourse 帖子中嵌入自定义 GIF（使用 ScreenToGif 制作）时遇到了问题。当嵌入 GIF 时，它只能显示一瞬间，然后就会冻结在第一帧，例如：

 ![example](https://global.discourse-cdn.com/meta/original/3X/2/1/211635b9ae2b0960e8e135299b3a91189b00c289.gif)

在帖子预览中它看起来是正常的。而且当我在新标签页中打开上传的 GIF 时，它也能正常播放。它只在 Discourse 本身中冻结。

我尝试了四种变通方法：

1. 将 GIF 上传到另一个网站（例如 S3 存储桶），然后链接到它。这可以工作，直到系统机器人将其下载到本地，之后它又会冻结。

2. 我还认为这可能与调整大小有关，所以我尝试去掉了图片的 Markdown 格式，例如：

3. 既然 GIF 在我点击链接到新标签页时能正常工作，我尝试将简写的“upload”URI 替换为上传图片的完整 URL，例如：

4. 最后，我认为问题可能与 Discourse 对 Markdown 代码的解析有关，所以我尝试使用带有上传图片完整 URL 的原始 HTML 图片标签：

可惜，以上方法都没有奏效。如果我能控制我想发帖的论坛，我知道我可以禁用本地下载。但遗憾的是，我无法做到这一点！

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2021年一月27日 15:11 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/2 "2021-01-27T15:11:47Z")

</div>

既然这里能正常工作，但在您的网站上不行，建议您重建网站后重试。我们最近对 GIF 进行了大量修改。在某些时间段内，我们遇到过类似您报告的错误，您的网站可能处于受影响的版本中。

---

<div class="post-metadata">

### Author: ![Plunkett\_Barry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/plunkett_barry/32/207451_2.png) [@Plunkett\_Barry](https://meta.discourse.org/u/Plunkett_Barry)
#### Post date: [2021年一月27日 15:13 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/3 "2021-01-27T15:13:50Z")

</div>

我觉得那不是问题所在。对我来说，这里无法正常工作，我只能看到第一帧。

是否有可能是其他 Chrome 默认设置造成了干扰？

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2021年一月27日 15:19 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/4 "2021-01-27T15:19:11Z")

</div>

哦，我在 Chrome 上也能复现这个问题。真奇怪。

原始版本

 ![example](https://global.discourse-cdn.com/meta/original/3X/2/1/211635b9ae2b0960e8e135299b3a91189b00c289.gif)

通过 Gifscicle 优化后  
 ![weird_optimized](https://global.discourse-cdn.com/meta/original/3X/4/a/4ab972c69e2652f2ba8f1e0e3903eb6907201dc2.gif)

经过 Gifscicle 处理后就能正常播放了：

---

<div class="post-metadata">

### Author: ![Plunkett\_Barry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/plunkett_barry/32/207451_2.png) [@Plunkett\_Barry](https://meta.discourse.org/u/Plunkett_Barry)
#### Post date: [2021年一月27日 15:20 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/5 "2021-01-27T15:20:25Z")

</div>

感谢复现。您运行了哪个 `gifcicle` 命令来进行优化？

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2021年一月27日 15:21 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/6 "2021-01-27T15:21:26Z")

</div>

很简单：

```plaintext
gifscicle original.gif -o fixed.gif

```

顺便提一下，Discourse 内置了对自动播放的 MP4 和 WEBP 格式的支持，这可能会带来更好的效果！

---

<div class="post-metadata">

### Author: ![Plunkett\_Barry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/plunkett_barry/32/207451_2.png) [@Plunkett\_Barry](https://meta.discourse.org/u/Plunkett_Barry)
#### Post date: [2021年一月27日 15:21 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/7 "2021-01-27T15:21:43Z")

</div>

我不认为这是文件大小问题，因为我试过更大和更小的 GIF 文件，但都没有成功。

---

<div class="post-metadata">

### Author: ![Plunkett\_Barry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/plunkett_barry/32/207451_2.png) [@Plunkett\_Barry](https://meta.discourse.org/u/Plunkett_Barry)
#### Post date: [2021年一月27日 15:22 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/8 "2021-01-27T15:22:24Z")

</div>

> [@Falco](#):
>
> ```plaintext
> gifscicle original.gif -o fixed.gif
> 
> ```

太好了，让我看看这是否适用于我实际的 GIF 文件。完成后我会更新。

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2021年一月27日 15:22 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/9 "2021-01-27T15:22:55Z")

</div>

这肯定不是文件大小问题，而是一个“格式错误”的文件，`gifscicle` 正在修复它。某些工具生成错误文件的情况很常见。我总是在分享 GIF 之前，先通过 `ffmpeg` 这样的优质工具进行处理。但即便如此，如果尺寸是奇数等情况下，仍很容易得到格式错误的文件。

GIF 是一种复杂的格式，如今对于大多数应用场景，MP4 和 WEBP 是更好的选择。

---

<div class="post-metadata">

### Author: ![Plunkett\_Barry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/plunkett_barry/32/207451_2.png) [@Plunkett\_Barry](https://meta.discourse.org/u/Plunkett_Barry)
#### Post date: [2021年一月27日 16:02 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/10 "2021-01-27T16:02:35Z")

</div>

所有 GIF 都已正常工作。在某些情况下，我还必须添加 `--colors 256` 标志。

如果有人好奇，我最初有问题的 GIF 是使用 ScreenToGif 的“神经网络”GIF 生成器生成的。

感谢你的帮助 @Falco

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [2021年一月27日 16:47 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/11 "2021-01-27T16:47:35Z")

</div>

@nbianca 有没有人知道为什么 GIF 的缩略图没有动画效果？看起来原始 GIF 完全在限制范围内。

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2021年一月27日 16:48 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/13 "2021-01-27T16:48:53Z")

</div>

它在 Firefox 上可以正常播放动画。这可能是 GIF 文件格式错误，或是 Chrome 的 bug。

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [2021年一月27日 16:50 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/14 "2021-01-27T16:50:21Z")

</div>

在最新的 Firefox / Windows 10 上，它对我来说没有动画效果。

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2021年一月27日 16:52 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/15 "2021-01-27T16:52:00Z")

</div>

有意思！这是我这边在 Linux 上的显示效果：左侧是 Firefox，右侧是 Chrome：

---

<div class="post-metadata">

### Author: ![nbianca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nbianca/32/157984_2.png) [@nbianca](https://meta.discourse.org/u/nbianca)
#### Post date: [2021年一月27日 16:57 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/16 "2021-01-27T16:57:23Z")

</div>

此主题中的所有 GIF 对我来说都是动态的（在 Arch Linux 上的 Chrome 浏览器中），但当前版本的 FastImage 由于 [此错误](https://github.com/sdsykes/fastimage/pull/122) 而认为它们不是动态的。

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [2021年一月27日 16:59 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/17 "2021-01-27T16:59:19Z")

</div>

那样的话，我们应该尽快推动合并：+1:

---

<div class="post-metadata">

### Author: ![Plunkett\_Barry](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/plunkett_barry/32/207451_2.png) [@Plunkett\_Barry](https://meta.discourse.org/u/Plunkett_Barry)
#### Post date: [2021年一月27日 17:13 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/18 "2021-01-27T17:13:12Z")

</div>

仅供参考，我发现 `gifsicle` 在某些情况下无法正常工作。具体来说，有时必须使用 `--colors 256` 选项才能生成有效的 GIF，但其他时候又必须省略该选项。

---

<div class="post-metadata">

### Author: ![nbianca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nbianca/32/157984_2.png) [@nbianca](https://meta.discourse.org/u/nbianca)
#### Post date: [2021年二月2日 12:00 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/20 "2021-02-02T12:00:42Z")

</div>

您好，

您问题的修复方案已被采纳，现已在最新版本中可用。

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2021年三月4日 12:01 UTC](https://meta.discourse.org/t/gifs-embedded-in-posts-paused-after-locally-downloaded/177441/21 "2021-03-04T12:01:08Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
