Ширина встраивания видео YouTube против Vimeo

Чтобы встроить любое видео, достаточно просто вставить ссылку на него при создании темы.
Однако почему-то при встраивании видео с YouTube (см. ниже) оно растягивается на всю ширину, тогда как видео с Vimeo остаётся уже.

Можно ли это исправить?

Я пробовал указывать размер видео в коде встраивания VIMEO, но разницы нет — видео всё равно отображается так же, как и при вставке ссылки.

В обоих случаях я просто вставляю URL видео.

YouTube

Vimeo

https://vimeo.com/300660748

Кажется, что встроить видео здесь невозможно, поэтому вот несколько скриншотов из моего сообщества. Ширина видео с Vimeo меньше, чем у видео с YouTube. Можно ли заставить видео с Vimeo также занимать максимально допустимую ширину?

4 лайка

У меня есть PR для полноэкранных onebox-ов Vimeo

6 лайков

Тест

YouTube

Vimeo

5 лайков

Привет, Фалько!
Я новичок в Discourse и не знаю, что означает PR (как вы упомянули: «У меня есть PR для полноэкранных onebox-видео Vimeo»).

Хотя вы показали мне тест, который теперь работает, что мне нужно сделать, чтобы это заработало? Потому что видео Vimeo в моём сообществе всё ещё не разворачиваются на полную ширину.

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

1 лайк

Привет, Эмбер,

PR означает «pull request» (запрос на слияние) и относится к GitHub. По сути, это означает, что Falco внес изменения в код Discourse и хочет, чтобы эти изменения были проверены перед их слиянием с основным кодом Discourse.

Этот конкретный сайт Discourse, meta.discourse.org, обновляется автоматически при каждом изменении, которое вносят наши инженеры. Ваш сайт не развертывается автоматически таким образом — мы развертываем обновления для клиентов на регулярной, но менее частой основе. Я уже инициировал развертывание (обновление) для вашего сайта. Развертывание должно завершиться примерно через 30 минут.

После завершения развертывания вам нужно будет пересобрать пост. Для этого нажмите кнопку «показать ещё» под постом, затем нажмите на гаечный ключ администратора. Наконец, выберите «пересобрать HTML».



4 лайка

Фалько, большое спасибо.

Джошуа, огромное спасибо за то, что всё прояснил. Ценю это.

3 лайка

Привет, @Falco

Работает ли это изменение также с приватными встраиваниями Vimeo? (т. е. со ссылкой на плеер, к которой добавлено ?h=<какой-то идентификатор>)

Если они работали раньше, то с этой изменением они должны работать, судя по изменениям в коде коммита. :slight_smile:

2 лайка

Они сталкиваются с необычным поведением при отображении размера встраиваемых элементов. Даже после этого коммита размер приватных видео остаётся небольшим. Надеюсь, существует способ сделать их тоже на всю ширину?

1 лайк

У меня нет аккаунта Vimeo, чтобы создать эти приватные видео, поэтому :person_shrugging:

1 лайк

У меня тоже возникла эта проблема. Я использую Discourse 2.9.0.beta9 (56832adf17)

Это особенно проблематично на маленьких экранах (измените размер этого экрана, и вы увидите, насколько крошечным становится второй элемент — тот, что в OneBox).


Вот ссылка с плеером в URL… (этот не уменьшается на маленьких экранах, но я не могу его также отцентрировать.)

https://player.vimeo.com/video/743344591

https://player.vimeo.com/video/743344591


А вот этот ниже в OneBox... (этот уменьшается и становится слишком маленьким на экранах меньшего размера.)
https://vimeo.com/743344591

Так что всё в порядке? Как это возможно, что merge не повлияет на наш инстанс?

Наверное, я что-то упускаю :slight_smile:

Как это было опубликовано? Можешь поделиться оригиналом поста?

1 лайк

Я провожу тесты, так как мы начали размещать некоторые видео с Vimeo в нашем сообществе Discourse. Вот исходный вариант:

Тест

https://vimeo.com/channels/staffpicks/353070045

VS

https://vimeo.com/353070045

Мы не распознаём формат указанного вами URL, поэтому вместо специального модуля для Vimeo используется общий код onebox.

2 лайка

Я использовал ссылку, которую Джефф поделился пару лет назад. Так что спасибо, теперь стало лучше!

(Но) почему не на всю ширину? Всё ещё фиксировано :cry:

Потому что это видео с соотношением сторон 4:3.

2 лайка

Почему бы не применить эту же логику к любым источникам OneBox, которые явно указывают свою высоту и ширину и в конечном итоге внедряются через iframe?


Мысли и подход
В теории, если у нас уже есть явные значения высоты и ширины, которые передаются в iframe, тот же общий подход с установкой соотношения сторон можно использовать для того, чтобы сделать элементы масштабируемыми универсально.

Например, я всё чаще встраиваю демонстрационные видео в наше сообщество, поэтому перешёл на Bunny.net, известную своим CDN, и их сервис Bunny Stream для загрузки и встраивания видео.

После добавления video.bunnycdn.com и iframe.mediadelivery.net в настройки разрешённых iframe, я могу легко вставить URL из Bunny Stream, и он будет оформлен через OneBox с использованием одного из универсальных fallback-вариантов… но соотношение сторон выглядит очень странно при просмотре на мобильном устройстве. :confused:

В качестве быстрого обходного решения я написал простой компонент темы, который использует Plugin API и decorateCookedElement для обновления iframe с информацией о соотношении сторон.

Есть ли какие-то новости по этому вопросу?

Bunny.net становится всё более популярной благодаря качеству и скорости своих сервисов.

Можем ли мы пока встраивать видео с Bunny в Discourse?