Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

各動画サービスの再生時間の取得と記録 #33

Closed
kou029w opened this issue Oct 20, 2020 · 4 comments · Fixed by #290
Closed

各動画サービスの再生時間の取得と記録 #33

kou029w opened this issue Oct 20, 2020 · 4 comments · Fixed by #290
Assignees

Comments

@kou029w
Copy link

kou029w commented Oct 20, 2020

#30 の中に含まれる動画の視聴時間(duration)と学習時間(timeRequired)を人力で入力するのではなく自動的に取得することが目的

  • ビデオのリソースオブジェクトに対してはそのビデオのduration (単位:秒, フォーマット:ISO 8601 duration format)を取得できる
  • そのリソースオブジェクトを参照するトピックオブジェクトは"学習時間" (timeRequired, フォーマット:ISO 8601 duration format)として取得できる
  • そのトピックオブジェクトを参照するマップオブジェクトは"学習時間" (timeRequired, フォーマット:ISO 8601 duration format)として取得できる

方針としては次のいずれか

  • 利用者のプレイヤーのAPIから得られる実際の値を取得する
  • 各動画サービスの提供するAPIを利用しそこから取得する

前者が簡単・低コストで提供可能だが、正確性が懸念。
一方後者はより正確だが各動画サービスごとにAPIが異なるかつ制約事項に準拠する必要がある。

@kou029w
Copy link
Author

kou029w commented Oct 20, 2020

NOTE: YouTube の埋め込み用のメタ情報のAPI https://oembed.com/ を参照してみたが再生時間は得られない様子

@dynamis
Copy link

dynamis commented Dec 1, 2020

YouTube は oembed その他のオープンでアクセス自由な API が見つからない限り (利用規約に従うため) Iframe API の利用 player.getDuration() を想定

https://developers.google.com/youtube/iframe_api_reference?hl=ja#Retrieving_video_information

@kou029w
Copy link
Author

kou029w commented Mar 5, 2021

NOTE: それぞれのプレイヤーでの再生時間取得API

Video.js #duration

  • YouTube, Wowza いずれも再生開始後取得可能
  • YouTube ready イベント発火時点では取得失敗 (NaN、その後 0)
  • Wowza ready イベント発火時点では取得失敗 (0)、プレイリスト読み込み完了後取得可能

Vimeo Player API #getDuration

  • 再生開始有無関係なく問題なく取得可能

課題:

  • YouTubeは動画のメタデータが読み込まれるまで取得失敗する件と、おそらくvideojs-youtubeの都合上再生するまで取得失敗する件が課題

@kou029w kou029w removed their assignment Mar 8, 2021
@kou029w
Copy link
Author

kou029w commented Mar 8, 2021

  • YouTubeは動画のメタデータが読み込まれるまで取得失敗する件と、おそらくvideojs-youtubeの都合上再生するまで取得失敗する件が課題

まずは本Issueとしては再生ボタンをおした後入力される、という振る舞いとし、この部分は制約事項として先送りとする。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants