Editei o arquivo lib\\onebox\\engine\\video_onebox.rb para analisar links que terminam em m3u8.
No entanto, quando colo um link m3u8 de um site externo, o vídeo não é analisado corretamente.
Se eu faço upload de um arquivo para o site, obtenho um link m3u8 desse site e, em seguida, o colo na caixa de resposta e atualizo a página, o vídeo é reproduzido perfeitamente. No entanto, há alguns problemas de estilo com o onebox.
Aqui está o código que editei.
if file_extension == '.m3u8'
m3u8_html_tag(escaped_url)
else
# Define o atributo type com base na extensão do arquivo
type_attribute = case file_extension
when '.mov'
'video/quicktime'
when '.mp4'
'video/mp4'
when '.webm'
'video/webm'
when '.ogv'
'video/ogg'
else
''
end
source_tag = "<source src='#{escaped_url}'"
source_tag += " type='#{type_attribute}'" unless type_attribute.empty?
source_tag += '>'
<<-HTML
<div class="onebox video-onebox">
<video class="video-js" controls #{@options[:disable_media_download_controls] ? 'controlslist="nodownload"' : ""}>
#{source_tag}
<a href='#{escaped_url}'>#{@url}</a>
</video>
</div>
HTML
end
end
def m3u8_html_tag(url)
<<-HTML
<div>
<script src="https://hezheng-fmm.obs.cn-north-4.myhuaweicloud.com/jsdeliver/videojs/video.min.js"></script>
<link href="https://hezheng-fmm.obs.cn-north-4.myhuaweicloud.com/jsdeliver/videojs/video-js.css" rel="stylesheet">
<video class="video-js" controls>
<source src='#{url}' type='application/x-mpegURL'>
</video>
</div>
HTML
end
Aqui está um vídeo do meu processo.