Suporte ao arquivo M3U8

Desejo reproduzir arquivos de vídeo m3u8 em minha postagem.
Quais métodos estão disponíveis para analisar links de vídeo?
Encontrei um erro ao colar o link do vídeo:
Desculpe, não foi possível gerar uma prévia para esta página da web, pois as seguintes tags oEmbed / OpenGraph não puderam ser encontradas: description, image

Minha consulta fundamental é sobre como reproduzir vídeos em streaming em postagens e quais formatos são suportados.

Olá,

Os links de HTTP Live Streaming (HLS) não são suportados como onebox.

O que você pode fazer é usar a tag HTML <video>.
Por exemplo:

<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>

Você pode usar este componente Insert Video para inserir a tag <video> facilmente.

Pelo que vejo, o suporte a HLS é bastante limitado a dispositivos Android/IOS, sem nenhum navegador de desktop importante, exceto o Safari.

Se você quiser fazê-lo funcionar em um desktop, precisará de uma biblioteca de terceiros, como videojs, e um componente de Tema para integrá-lo.

1 curtida

Quero usar o video.js para reproduzir vídeos HLS.
Eu mudo discourse/lib/oneboxer.rb
Adiciono este código:

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

 ***outros códigos
    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

Então eu mudo o projeto discourse-docker. Eu substituo https://github.com/discourse/discourse.git
para o meu projeto alterado.
Eu substituo estes arquivos:

image/base/slim.Dockerfile
image/discourse_dev/postgres_dev.template.yml

Mas não funciona.
Alguém pode corrigir este recurso?
Posso pagar por isso.

Você pode postar um tópico em Marketplace ou até mesmo mover este tópico para lá e editar o OP um pouco.

2 curtidas

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