게시물에 m3u8 형식의 비디오 파일을 재생하고 싶습니다.
비디오 링크를 파싱하는 데 사용할 수 있는 방법은 무엇인가요?
비디오 링크를 붙여넣었을 때 다음과 같은 오류가 발생했습니다:
“description, image” oEmbed / OpenGraph 태그를 찾을 수 없어 해당 웹 페이지의 미리보기를 생성할 수 없습니다.
제 근본적인 질문은 게시물에서 스트리밍 영상을 어떻게 재생하는지, 그리고 어떤 형식이 지원되는지에 관한 것입니다.
안녕하세요,
HTTP Live Streaming(HLS) 링크는 onebox로 지원되지 않습니다.
대신 <video> HTML 태그를 사용할 수 있습니다.
예를 들어:
<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>
<video> 태그를 쉽게 삽입하려면 이 Insert Video 구성 요소를 사용할 수 있습니다.
확인해 본 결과, HLS 지원은 Android/iOS 기기에 상당히 제한되어 있으며, Safari를 제외하고는 주요 데스크톱 브라우저에서 지원되지 않습니다.
데스크톱에서 작동하게 하려면 videojs와 같은 제3자 라이브러리와 이를 통합하기 위한 테마 구성 요소가 필요합니다.
videojs를 사용하여 HLS 비디오를 재생하려고 합니다.
discourse/lib/oneboxer.rb 파일을 수정하여 다음 코드를 추가했습니다:
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
***다른 코드
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
이후 discourse-docker 프로젝트를 수정했습니다. https://github.com/discourse/discourse.git를
제가 수정한 프로젝트로 교체했습니다.
다음 파일들을 교체했습니다:
image/base/slim.Dockerfile
image/discourse_dev/postgres_dev.template.yml
하지만 동작하지 않습니다.
이 기능을 수정해 주실 분이 있을까요?
보상을 지급할 수 있습니다.
#marketplace에 주제를 게시하거나, 이 주제를 그곳으로 이동하고 원글(OP)을 조금 수정할 수도 있습니다.