1.0x
Zorn - Video Player Test

Zorn - Video Player Test

2025-03-30 ~ 2025-04-01

概要

  • Astro界隈でよくできたVideoPlayerライブラリのZornを見つけたので、試すことにした。

テスト

基本テスト

Settingsオプションを追加しないと、以下のエラーが発生する。
Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')

YouTube

ZornはYouTube動画の再生にInvidiousを使っているが、
その処理でエラーが発生し、YouTube動画を再生できていない。
この件についてissueを作成し、返答を待っている…

Zornのissueリンク

開発者によると、自分でInvidiousのインスタンスを構築して使ってほしいとのこと。
YouTubeがInvidiousをブロックしようとしている様子なので断念。
YouTubeはそのままiframeで埋め込もう。

ZornYoutubeTest.astro
---
import { Zorn } from '@minpluto/zorn';
---
<Zorn
YouTube
Audio
WatchId="uBFTCK1EzM4"
YouTubeQuality="137"
Invidious="yewtu.be"
PlayerName="Junjak111"
ShowBackAndForward
ShowPlaybackRate
BigPlayButton
Settings={[]}
/>

字幕

HTML5のvideo要素内のtrackタグと同じように使う。
ただ、字幕言語を2つ以上設定すると、字幕の選択メニューを読み込めないようだ…
再読み込みでは字幕が正常に出るが、ページ移動時には出ない問題も発生。

trackタグのドキュメント

Zornのissueリンク

issueで解決方法を教えてもらった。
今は正常に動いている。

Buffering...

00:00

--:-- --:--

ZornSubtitleTest.astro
---
import { Zorn } from '@minpluto/zorn';
---
<Zorn
PlayerName="Junjak222"
Video="https://www.jun-devlog.win/files/blog/diary/japan-around-trip/assets/IMG_3043.MOV"
Subtitles
ShowBackAndForward
ShowPlaybackRate
BigPlayButton
Settings={[
{
Type: 'Button',
Name: 'Subtitles',
Action: 'document.querySelector(\'#zorn-player-Junjak222 #zorn-menu-subtitles\').style.display = \'flex\'',
},
]}
>
<slot slot="subtitles">
<track
kind="subtitles"
src="/vtts/testsub.vtt"
label="Korean"
srclang="ko"
/>
<track
kind="subtitles"
src="/vtts/testsub.vtt"
label="Japanese"
srclang="ja"
/>
</slot>
</Zorn>

評価

  • デザインがよく、機能も豊富
  • ただしバグもかなり多そう(上で触れた問題など)
  • バグ修正などの貢献を考えているが、GitHubではなく個人で運営するリポジトリなので活動記録を残しにくく、少しためらっている。
  • ひとまずブログのVideoLoaderには複雑な機能が不要なので、従来のHTML videoタグからzornへ置き換えた。

参考

Zorn