Edito el archivo lib\\onebox\\engine\\video_onebox.rb para analizar enlaces que terminan en m3u8.
Sin embargo, cuando pego el enlace m3u8 de un sitio externo, el video no se analiza correctamente.
Si subo un archivo al sitio web, obtengo un enlace m3u8 de este sitio y luego lo pego en el cuadro de respuesta y actualizo la página, el video se reproduce perfectamente. Sin embargo, hay algunos problemas de estilo con el onebox.
Aquí está el código que edité.
if file_extension == '.m3u8'
m3u8_html_tag(escaped_url)
else
# Establecer el atributo de tipo según la extensión del archivo
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
Aquí hay un video de mi proceso.