Ho modificato il file lib\\onebox\\engine\\video_onebox.rb per analizzare i link che terminano con m3u8.
Tuttavia, quando incollo un link m3u8 da un sito esterno, il video non viene analizzato correttamente.
Se carico un file sul sito web, ottengo un link m3u8 da questo sito, quindi lo incollo nella casella di risposta e aggiorno la pagina, il video viene riprodotto perfettamente. Tuttavia, ci sono alcuni problemi di stile con il onebox.
Ecco il codice che ho modificato.
if file_extension == '.m3u8'
m3u8_html_tag(escaped_url)
else
# Imposta l'attributo type in base all'estensione del file
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
Ecco un video del mio processo.