Я хочу воспроизводить видеофайлы m3u8 в своём посте.
Какие методы доступны для обработки видеоссылок?
При вставке ссылки на видео я столкнулся с ошибкой:
К сожалению, нам не удалось сгенерировать предварительный просмотр этой веб-страницы, так как не удалось найти следующие теги oEmbed / OpenGraph: description, image
Мой основной вопрос касается того, как воспроизводить потоковые видео в постах и какие форматы поддерживаются.
Здравствуйте,
Ссылки HTTP Live Streaming (HLS) не поддерживаются в формате onebox.
Вы можете использовать HTML-тег <video>. Например:
<video controls preload="metadata">
<source src="https://demo.unified-streaming.com/k8s/features/stable/video/tears-of-steel/tears-of-steel.ism/.m3u8" type="application/x-mpegURL" />
</video>
Для удобной вставки тега <video> вы можете использовать этот компонент: Insert Video.
Судя по всему, поддержка HLS ограничена в основном устройствами Android/iOS, а из основных браузеров для настольных компьютеров работает только Safari.
Если вы хотите обеспечить работу на настольных компьютерах, вам понадобится сторонняя библиотека, например videojs, а также компонент темы для её интеграции.
Я хочу использовать videojs для воспроизведения HLS-видео.
Я изменил файл discourse/lib/oneboxer.rb и добавил следующий код:
module Oneboxer
ONEBOX_CSS_CLASS = "onebox"
AUDIO_REGEX = /\A\.(mp3|og[ga]|opus|wav|m4[abpr]|aac|flac)\z/i
VIDEO_REGEX = /\A\.(mov|mp4|webm|m4v|3gp|ogv|avi|mpeg|ogv)\z/i
HLS_REGEX = /\A\.(m3u8)\z/i
***другой код
when HLS_REGEX
<<~HTML
<script src="https://vjs.zencdn.net/8.10.0/video.min.js"></script>
<link href="https://vjs.zencdn.net/8.10.0/video-js.css" rel="stylesheet" />
<div class="onebox video-onebox">
<video-js #{additional_controls} width="100%" height="100%" class="vjs-default-skin" controls>
<source src="#{normalized_url}">
</video-js>
</div>
HTML
Затем я изменил проект discourse-docker, заменив ссылку https://github.com/discourse/discourse.git на свой изменённый репозиторий.
Я заменил следующие файлы:
image/base/slim.Dockerfile
image/discourse_dev/postgres_dev.template.yml
Но это не работает.
Может ли кто-нибудь исправить эту функцию?
Я готов заплатить за это.
Вы можете создать тему в Marketplace или даже перенести эту тему туда и немного отредактировать первое сообщение.