J’ai modifié le fichier lib\\onebox\\engine\\video_onebox.rb pour analyser les liens se terminant par m3u8.
Cependant, lorsque je colle un lien m3u8 d’un site externe, la vidéo ne s’analyse pas correctement.
Si je télécharge un fichier sur le site, que j’obtiens un lien m3u8 de ce site, puis que je le colle dans la zone de réponse et que je rafraîchis la page, la vidéo se lit parfaitement. Cependant, il y a quelques problèmes de style avec le onebox.
Voici le code que j’ai modifié.
if file_extension == '.m3u8'
m3u8_html_tag(escaped_url)
else
# Définir l'attribut type en fonction de l'extension du fichier
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
Voici une vidéo de mon processus.