Odysee.com 임베드 지원

디스코urse 팀 안녕하세요, Odysee의 Tom입니다! 최근 Embedly와 연동을 진행했는데, 소프트웨어 사용자들이 odysee.com URL에 대해 이제 예쁜 미리보기가 표시된다고 하지만 플레이어는 작동하지 않는다고 합니다. 이를 지원하려면 어떤 조치가 필요할까요? 더 쉬운 방법이라면 OpenGraph도 지원합니다. 더 자세한 정보는 iframely 디버거에서 확인할 수 있습니다.

몇 가지 예시는 다음과 같습니다:

https:// odysee[dot]com/@veritasium:f/we’re-building-computers-wrong-(for:f (이 URL은 ’ 또는 ( 때문에 제대로 파싱되지 않는 것으로 보입니다)

4개의 좋아요

다음 문서를 읽었습니다: GitHub - discourse/onebox: (DEPRECATED) A gem for turning URLs into website previews · GitHub

우리를 화이트리스트에 추가하기만 하면 odysee.com이 작동할 것 같습니다:

  1. 도메인이 허용 목록(allowlist)에 등록되어 있어야 합니다.
  2. 원박스(onebox) 처리하려는 URL이 루트 URL이면 안 됩니다(예: http://example.com은 작동하지 않지만, http://example.com/page는 작동합니다).
  3. 원박스 처리된 URL이 oEmbed로 응답하고 rich 유형을 가진 경우: html 콘텐츠에 <iframe>이 포함되어야 합니다. iframe이 없는 응답은 원박스로 처리되지 않습니다.

이것이 사이트별로 적용되는 건가요, 아니면 다른 곳에서 처리되는 건가요?

1개의 좋아요

og:video:type 태그에는 video/mp4라고 되어 있는데, og:video에 있는 URL은 HTML을 반환하나요?

og:video 태그의 URL을 다음과 같이

https://odysee.com/$/stream/turning-plastic-gloves-into-hot-sauce/f5036fb3221909f8c011b277eea19642ddeae1da

로 바꾸면

https://odysee.com/$/embed/turning-plastic-gloves-into-hot-sauce/

대신 사용할 수 있지 않을까요?

3개의 좋아요

임베드 링크는 유지하는 것이 좋습니다. 이 링크가 사이트를 렌더링하고, 이미 로그인한 사용자의 인증을 허용하기 때문입니다. YouTube와 비교해 보면, YouTube의 video:type은 "text/html"로 설정되어 있습니다. 도움이 된다면 이 설정을 변경해 볼 수 있습니다.

그렇지 않으면, 현재 구성으로 Twitter/Facebook 및 Embedly 제공업체에서 문제는 없습니다.

1개의 좋아요

그 부분을 변경하면 바로 작동하게 됩니다.

그렇지 않다면, discourse/lib/onebox/engine at main · discourse/discourse · GitHub 의 예시처럼 해당 기능을 지원하도록 PR을 보내어 시도해 볼 수 있습니다.

2개의 좋아요

한번 해볼게요, 감사합니다!

3개의 좋아요

마이크 테스트:
이 링크로 시도해 봤는데, 이 호스트로는 게시할 수 없다는 메시지가 뜹니다 (공백 2개를 추가했습니다):

여기 미리보기에서는 다르게 보이지만, 재생되는 것 같지는 않습니다. 목표는 사이트에서 바로 재생되도록 하는 것입니다.

우리는 iframe 공유 코드도 가지고 있는데, 이게 somehow 작동할까요?

1개의 좋아요

그리고 이제 작동하네요.. 아마 화이트리스트에 추가한 것 같습니다. 하지만 그렇죠, 플레이어는 없습니다. Why Is The Manhattan DA Sabotaging The Investigation Into Donald Trump?

플레이어를 임베드할 수 있도록 시도해 볼 다른 방법이 있는지, 아니면 onebox에 통합하는 것을 고려해야 하는지 궁금합니다.

1개의 좋아요

og:video:type를 video/mp4에서 text/html로 변경했기 때문에 표준 HTML 기사 원박스(onebox)가 적용됩니다.

  • 비디오 파일을 임베드하려면 og:video 태그에서 비디오 파일을 반환하고 og:video:type에 올바른 값을 설정해야 합니다.

  • 커스텀 비디오 플레이어가 포함된 임의의 HTML을 임베드하려면 원박스 규칙을 준수해야 합니다:

    • oembed가 iframe을 반환해야 합니다(이것은 문제없는 것으로 보입니다)
    • 해당 사이트는 사용하려는 각 Discourse 인스턴스에서 수동으로 허용되어야 합니다. 테스트해 보겠습니다:

사이트가 allowed iframes 사이트 설정에 https://odysse.com을 추가하는 경우 작동하는 것으로 보입니다.

2개의 좋아요

와, 정말 좋은 소식이에요 - 여기서 테스트해볼게요. 그냥 일반 odysee 링크인가요, 아니면 iframe 코드인가요?

1개의 좋아요

https://meta.discourse.org/raw/219765/10에서 원본 게시물을 확인해 보면 알 수 있듯이, 그냥 일반 링크입니다.

테스트 후 Meta에서 허용된 iframe 목록에서 odysse.com을 제거했기 때문에 더 이상 작동하지 않습니다.

3개의 좋아요

라파엘 씨, 도움 주셔서 정말 감사합니다! 혹시 나중에 odysee.com 계정을 등록하게 된다면, 이메일이나 채널 주소를 메시지로 보내 주세요. 빠른 지원에 대한 보상으로 크레딧을 보내 드리겠습니다.

4개의 좋아요