Проблемы с вставкой GIF/MP4

Я уже довольно долго пытаюсь решить эту проблему, но у меня ничего не получается. Это меня очень беспокоит, потому что мои пользователи постоянно жалуются, но я расскажу вам обо всём поэтапно!

До того как я перешёл на Discourse, мой форум был создан на WordPress. В WordPress и я, и пользователи могли без проблем вставлять ссылки на GIF-изображения с Imgur, а также встраивать GIF-файлы непосредственно с сервера WordPress — всё работало отлично!

В Discourse же возникает следующая проблема: любые GIF-файлы, загруженные на мой сервер, не встраиваются в мой форум!

В приведённом выше примере один из участников форума загрузил GIF-файл, но когда другой участник пытается скопировать ССЫЛКУ и вставить её в текстовое поле, файл не встраивается!

Это затрудняет использование таких ссылок в моём решении для автоматического превращения ссылок в изображения — imgify-words.

GitHub - renato/discourse-imgify-words: тема для автоматического превращения URL в изображения в Discourse, почти как discourse-linkify-works

Затем происходит что-то ещё более неприятное, что доставляет мне много головной боли, так как пользователи требуют решения, а я не знаю, что делать!

Большинство GIF-файлов, загруженных на IMGUR, не отображаются в моём форуме как GIF, а как MP4 — и то только в тех случаях, когда они вообще встраиваются, ведь большинство из них не встраиваются вовсе!

Но когда они всё-таки встраиваются, они выглядят как видео.

После долгих расследований я выяснил, что сайт IMGUR автоматически конвертирует GIF-файлы в MP4!

Что ещё больше меня запутало, так это то, что в WordPress я никогда не замечал, что используются MP4 вместо GIF! Потому что они никогда не выглядели как видео (с большим размером и панелью воспроизведения на GIF).

Тогда я обнаружил, что в WordPress есть механизм, который убирает чёрный фон видео, удаляет панель воспроизведения и изменяет размер так, чтобы он совпадал с размером GIF, то есть файл отображается как GIF, и никто не догадывается, что это MP4.

Но в Discourse такого не происходит.

Что я могу сделать по этим двум вопросам?

1 — Как встроить GIF-файлы, загруженные самими пользователями в мой форум?

2 — Как сделать так, чтобы при встраивании MP4 на моём сайте он выглядел как GIF, а не как видео? То есть имел маленький размер, без панели воспроизведения, а не большой размер с панелью? (Есть ли какой-то код для этого?)

Вот пример:

На IMGUR


В DISCOURSE

В WORDPRESS

Забыл упомянуть одну вещь:
Когда GIF загружается на Imgur, он автоматически конвертируется в MP4. Но если удалить окончание ссылки и заменить MP4 на PNG, то исчезает панель воспроизведения, чёрный фон видео и большой размер (файл становится размером с GIF).

Поэтому я предполагаю, что в WordPress автоматически подменяет .MP4 на .PNG в ссылках Imgur, чтобы они выглядели как настоящие GIF (того же размера, без чёрного фона и без панели воспроизведения).

Пример:
Без изменений в ссылке:

Изменение ссылки на PNG в браузере, нажатие Enter и копирование ссылки (если сделать это в текстовом поле Discourse, это не сработает). Кстати, я только что обнаружил, что при переключении на PNG и нажатии Enter в браузере в начало ссылки добавляется буква «i». Именно поэтому это работает только в браузере — там в ссылку вставляется что-то ещё.

Оригинал:

https://imgur.com/w8RGaAZ.mp4

Изменённая ссылка, которая «превращается» в GIF, но с расширением .png и буквой i:

https://i.imgur.com/w8RGaAZ.png

Насколько я понимаю, WordPress автоматически меняет ссылки MP4 на ту последнюю ссылку, которую я показал, чтобы MP4 превратился в своего рода «фейковый» GIF.

Кто хочет узнать о гифках?



Привет @danielabc

Я не до конца уверен в деталях этой проблемы. Когда я:

  1. нажимаю правой кнопкой мыши на одно из изображений выше
  2. выбираю «Копировать изображение»
  3. вставляю его в редактор, я получаю:

Что в редакторе выглядит так:

![](https://d11a6trkgmumsb.cloudfront.net/original/4X/8/c/4/8c482829847539b155a2e7b00ab5ad6c49388011.gif)

Как ваши пользователи копируют и вставляют свои GIF-файлы?

Скорее всего, это сейчас невозможно и вряд ли станет возможным в будущем. GIF и mp4 — это два разных формата.

  • .mp4 считается видеоформатом, как и .webm, .mpeg, .ogg
    • Это означает, что Discourse будет обрабатывать любые файлы с таким расширением как видео и отображать их в видеоплеере
  • .gif — это «анимированная последовательность изображений». Да, по сути это то же, что и видео, но GIF — это очень специфический способ доставки такого контента.
    • Следовательно, .gif не будет использовать видеоплеер.

Это стандартная практика. Загрузите файл как GIF — он будет вести себя как GIF. Загрузите файл в видеоформате — он будет вести себя как видео.

Спасибо за ответ! Копирование изображений работает, но для пользователей мобильных устройств практичнее копировать ссылки. Вот тут и возникает проблема… Они не вставляются. Не мог ли я случайно отключить какую-то опцию на моём форуме? Вы знаете, какая это опция? Почему обычно здесь они вставляются автоматически?


https://i.imgur.com/2b2mUEp.gif


https://metaapp-456a.kxcdn.com/user_avatar/meta.discourse.org/tris20/90/264639_2.png

Что касается Imgur: насколько я выяснил, они автоматически конвертируют GIF в MP4, чтобы уменьшить размер и сохранить качество.

Оказывается, Discourse распознаёт это и при встраивании отображает файл как видео.

WordPress же, напротив, оставляет его в формате GIF.