Aleph 3D viewerを試す

概要 3D object viewerの一つであるAlephを試してみましたので、備忘録です。 https://github.com/aleph-viewer/aleph 菊池市デジタルアーカイブで公開されている「石淵家地球儀」の3Dデータを使用しています。 https://adeac.jp/kikuchi-city/catalog/e0001 背景 IIIF対応の3Dビューアを調査する過程で、以下の記事を見つけました。 https://pro.europeana.eu/post/iiif-for-3d-making-web-interoperability-multi-dimensional こちらで紹介されているビューアの一つとして、Alephを知りました。 使い方 GitHubリポジトリをForkして、Vercelにデプロイしました。 https://aleph-coral.vercel.app/ 初期表示は以下です。 画面左部の入力フォームにあるglbファイルへのURLを変更することで、指定した3Dモデルが表示されました。 まとめ 3Dビューアの調査にあたり、参考になりましたら幸いです。

2024年12月29日 · 1 分 · Nakamura

Cantaloupe: Microsoft Azure Blob Storageに格納した画像を配信する

概要 IIIFイメージサーバの一つであるCantaloupe Image Serverについて、Microsoft Azure Blob Storageに格納した画像を配信する方法の備忘録です。 以下のMicrosoft Azure Blob Storage版です。 方法 今回はDocker版を使用します。 以下のリポジトリをクローンしてください。 https://github.com/nakamura196/docker_cantaloupe 特に、.env.azure.exampleを.envにリネームして、環境変数を設定します。 # C C C # C L A A A A E F N N N F N T o T T T o T S r A A A r A _ L L L L E M O O O T O N i U U U r U C c P P P a P R r E E E e E Y o _ _ _ f _ P s A A A i H T o Z Z Z k O _ f U U U S E t R R R T M E E E = A A S S S I z T T T L u O O O = r R R R e A A A G G G B E E E l S S S o O O O b U U U R R R S C C C t E E E o _ _ _ r A A C a C C O g C C N e O O T U U A N N I T T N _ _ E N K R A E _ M Y N E = A = M E = 下の二つは、Traefikを用いたHTTPS化の設定も含めています。 ...

2024年12月23日 · 2 分 · Nakamura

Omeka SのIIIF Serverモジュールで、表示方向を指定する

概要 Omeka SのIIIF Serverモジュールで、表示方向を指定する方法です。 IIIFでは、viewingDirectionプロパティを使用し、マニフェストやキャンバスの表示方向を指定することができます。 モジュールの設定 /admin/module/configure?id=IiifServer IIIFサーバモジュールの設定画面において、「viewing direction」の項目を探します。 Property to use for viewing directionでプロパティを指定できる他、デフォルトの表示方向を指定することもできます。 上記の例では、sc:viewingDirectionプロパティを指定していますが、任意のプロパティを設定可能です。 メタデータの追加 上記で指定したプロパティに対して、表示方向の値を入力します。 結果 以下のように、IIIFマニフェストファイルにおいても、viewingDirectionが設定され、左送りが実現できます。 参考 https://iiif.io/api/cookbook/recipe/0010-book-2-viewing-direction/ 以下、ChatGPTによる回答です。 viewingDirection プロパティには以下の4つの値を指定できます: left-to-right 左から右への表示(英語などの横書き言語に適しています)。 right-to-left 右から左への表示(アラビア語やヘブライ語、縦書きの日本語に適しています)。 top-to-bottom 上から下への表示(主に縦書きの言語に適しています)。 bottom-to-top 下から上への表示(特殊な用途向け)。 まとめ Omeka SのIIIF Serverモジュールの利用にあたり、参考になりましたら幸いです。

2024年12月3日 · 1 分 · Nakamura

mdx.jpのオブジェクトストレージに保存したIIIFマニフェストファイルをNestJSから利用する

概要 mdx.jpのオブジェクトストレージに保存したIIIFマニフェストファイルをNestJSから利用する機会がありましたので、備忘録です。 背景 mdx.jpのオブジェクトストレージに関して、簡単に確認したところ、corsの設定ができず、mdx.jpのオブジェクトストレージにアップロードしたIIIFマニフェストファイルを他のビューアから利用することは難しいようでした。 /ja/posts/ad76f58db4e098/#注意(corsの許可) そこで、NestJSからオブジェクトストレージにアップロードしたIIIFマニフェストファイルをロードして返却します。 ソースコード 以下のリポジトリからご確認いただけます。 https://github.com/nakamura196/nestjs-iiif 以下のような環境変数を用意します。mdx.jpのオブジェクトストレージを使用するため、S3_ENDPOINTにhttps://s3ds.mdx.jpを与えます。 S S S S S 3 3 3 3 3 _ _ _ _ _ E R A S B N E C E U D G C C C P I E R K O O S E E I N S T T N = _ _ _ T u K A N = s E C A h - Y C M t e _ E E t a I S = p s D S x s t = _ x : - x K x / 1 x E / x Y s = 3 x d x s x . m d x . j p そして、@aws-sdk/client-s3を利用して、以下のように、オブジェクトストレージ上のIIIFマニフェストファイルをダウンロードして返却します。 ...

2024年12月1日 · 6 分 · Nakamura

OldMaps Onlineを使ってみる

概要 OldMaps Onlineを使用する機会がありましたので、備忘録です。 https://www.oldmapsonline.org/ 登録 Googleアカウント等でログインします。無料アカウントでは1つのプライベート画像を登録できました。 今回は、「東京帝國大學本部構内及農學部建物鳥瞰圖(東京大学農学生命科学研究科・農学部)」を対象にします。 https://da.dl.itc.u-tokyo.ac.jp/portal/assets/187cc82d-11e6-9912-9dd4-b4cca9b10970 以下のマニフェストファイルを使って画像を登録します。 https://iiif.dl.itc.u-tokyo.ac.jp/repo/iiif/187cc82d-11e6-9912-9dd4-b4cca9b10970/manifest その後、メタデータを登録する画像が表示されました。 メニュー 以下に示すように、「This map」「Georeference」「Transcribe」「Compare」の機能が提供されています。「This map」は上述のページに遷移します。 以下、その他の機能について確認します。 Georeference ジオリファレンスを行う機能です。 Side by sideによる表示や、 Overlayによる表示機能がありました。 今回は、35点をポイントしてみました。 Transcribe 翻刻機能も提供されていました。以下のように画像の一部を選択し、そのテキストを入力することができます。 Compare ジオリファレンスした結果を閲覧する機能です。 Gridによる表示や、 Swipeによる表示、 Spy glassによる表示など、さまざまなインタフェースが提供されていました。 結果 今回作成した地図は以下からご確認いただけます。 https://www.oldmapsonline.org/compare#map/5523c467-3744-4099-a6fe-61fc63c2ee9d まとめ 古地図の活用にあたり、参考になりましたら幸いです。

2024年11月12日 · 1 分 · Nakamura

XSLTを使ってIIIFとTEIの対照表示を実現する

概要 XSLTを使ってIIIFとTEIの対照表示を実現してみる機会がありましたので、備忘録です。 結果は以下からご確認いただけます。「校異源氏物語テキストDB」を利用しています。 https://kouigenjimonogatari.github.io/xml/xsl/01.xml 背景 TEI/XMLの可視化にあたって、これまでは、TEI XMLをHTMLに変換してブラウザ上で表示するためのJavaScriptライブラリであるCETEICeanを使うことが多かったです。 これらの取り組みではJavaScriptのフレームワークと合わせて、柔軟な開発が可能でした。 しかし、この方法ではTEI/XMLとは別に、ビューアのデプロイが必要であるなど、課題を感じる点もありました。 対策 そこで、XSLTを使ったIIIFとTEIの対照表示に取り組みました。以下のXSLファイルを用意しました。実装にあたっては、ChatGPTを利用しました。 https://github.com/kouigenjimonogatari/kouigenjimonogatari.github.io/blob/master/xsl/mirador.xsl そして、XMLファイルからは、以下のように参照します。相対パスとなっている点は、適宜読み替えてください。 < < < ? ? T < x x E t < m m I e f < l l i i t < < - x H l i t a v s m e e t i u e t l a D l t t r y n d e e l h s l s e s S e o i e = r c t > r o s " > > m 校 > n h h t 異 池 = e t > 源 田 " e t 氏 亀 1 t p 物 鑑 . : 語 < 0 t / ・ / " y / き a p w り u ? e w つ t > = w ぼ h " . < t t r e e t > x i i t - t / c l x . e s o > l r " g / h n r s e / f 1 = . " 0 . " . > / . . / x s l / m i r a d o r . x s l " ? > これにより、以下のようなXMLファイルをブラウザで表示すると、 ...

2024年11月2日 · 2 分 · Nakamura

@samvera/rampビューアのFiles/Markersタブの使用方法

概要 IIIF Audio/Visualに対応したビューアの一つである@samvera/rampビューアのFiles/Markersタブの使用方法について調べたので備忘録です。 マニュアル Filesについては、以下に記載がありました。 https://samvera-labs.github.io/ramp/#supplementalfiles また、Markersについては、以下に記載があります。 https://samvera-labs.github.io/ramp/#markersdisplay 使用するデータ 『県政ニュース 第1巻』(県立長野図書館)を使用します。 https://www.ro-da.jp/shinshu-dcommons/library/02FT0102974177 Filesタブ renderingプロパティを読むと記載されています。renderingプロパティについては、以下のCookbookにも掲載されています。 https://iiif.io/api/cookbook/recipe/0046-rendering/ 以下のようなスクリプトにより、マニフェストファイルにrenderingプロパティを追加します。 d e f a d d _ r m j j r m o w r e a a a e a u i e n n p p n n t t t d i a a d i p h u e f n n e l } i t f f u f r r e _ _ r a , d y o e t o . n i s s s i b = p r s _ p w n t e e n e j e m t p e r o g a a g l " a = a . a n i u ( = r r = j p " t r t ( t t s c c = { a a D = e h o e p e s h h " n a " n u ( u l e _ _ R : _ t a d = t m t f l i a e s a p e p a _ , f d p s [ e s p r f u n p . i o " a e l i " t i a m l = _ u ア r t i n { _ f t a o u r イ c " c g s p e h n a m r c テ h , a e a s i d a l e ム _ t = l t t f _ n I 参 a i f h . e m i = t 照 p o r . , j s a f e A i n e i s t n e f m P _ / n n " o _ i s " ( I u j d p w n p f t h " r s e u " ( a e . t ] l o r t ) i t s h t , , n i _ n h t o p " n d a d ) ( m s g i s e : m e : r n a p / } f t n a / / : = i g j m 2 f e p a ) e [ s n ) s 1 e i t ] a f _ . r e p i c s a d h t t . . _ h s g r ) p o e l . n i j d t p e ( / r " a i / p n " i g ) / . [ i j - t s 1 e o ] m n / " { j a p a n _ s e a r c h _ i d } " 以下のようなマニフェストファイルが作成されます。 ...

2024年10月17日 · 23 分 · Nakamura

iiif-prezi3を使って、動画に目次を付与する

概要 iiif-prezi3を使って、動画に目次を付与する方法に関する備忘録です。 セグメントの検出 Amazon Rekognitionのビデオセグメントの検出を用います。 https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/segments.html 以下などでサンプルコードが公開されています。 https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/segment-example.html 使用するデータ 『県政ニュース 第1巻』(県立長野図書館)を使用します。 https://www.ro-da.jp/shinshu-dcommons/library/02FT0102974177 マニフェストファイルへの反映 以下の記事などを参考に、マニフェストファイルが作成済みであるとします。 以下のようなスクリプトにより、マニフェストファイルにvttファイルを追加します。 f # c r | l o a m e s x s d d i p e e i o I f f i r i f t i l w m r a m p w r r c f o w r _ f o i a e d a a i a a a o u i e p C a t n t d n t t n n n r t t t r l d h i u _ i h h g g v p h u e i _ m f r s f d e e i l a s s i i s e r r } u f r z e m o a e n e e = o a _ _ d a s _ f n t n a a ) t o . n i n a p n s g s p t i t = b _ i t d a d n n _ p w 3 t n e i t m m t f e a d o f e i n y s e r g g p e r o : i n f a e " n c " l d p _ c x t = e i l e " " a n i u i f ( e = n n = { ( = = { = d e t o _ d a _ i t t ( t t m e m s i t s p = r " = a y n = = s s = b s d y h o e p p s a t M f ( s e a j f a T t = p t [ e f e e " p u ( u o t n _ a e s e l t s " m n a m a e i s s " g " l g : e = t m t r ( i j n s e l f h o { a g b a [ s n [ [ E { = . " p a _ t s f s i t l f . , n s n e l n " [ ! u " " n = r f i f : f u n p e e o f f . i . e i _ e i S " = e S S d a " t " " t i a M l s n e , l n " l l f i f e T h t r n S e { " { _ f t a f t s o p r o f e d o e g y " o a T a g e m c C s p e h n , _ = t m a u " a . s } f s m p S t r i n e g s a a e a s i p ( a d t ) d p t t e e H t m g _ m . n n l t t f m a j * n _ _ ( r . r C . n " O I e e i e a v v f h . e a t s * i m d a f e m " o i t ] T n T s _ d n p a a . , j s n h o m f a i s ) f a , n t s " d i t t } t p s s i s t i , n a e n r i k t e " : e m a o / e _ " n " o , f . n s i } f x e e m ] x e m c r { n i p w n e " l i t f / : } _ n s : " s p . { i d d u " ( A s r o f _ e o / r t [ ] t m i n ( } t ) i n t " a e p s u r a s 0 a ( a n d { # _ n n _ ) d s a t t a n " ] m m k d e t d a d o p ( t t ( p n g . p i e e x = i s e t a a f _ h m u g e i l _ x } { r n a t s ) j ) a t e ( d ( l r } " s } f t t h s : n _ " m i a " , t / : = i ) f o i s i s n , a m 2 o : : n f e l e g r a ) n ) e g l c e t n ) P s m i o ( } i a t e s n , f g _ n e d { e e p t c s e s , a . o ) n t t j n " d _ A h s d ] } s n ) o s " e n n ) / , g o " " m t ] 1 e a 0 n t / 0 t i 0 . o 1 j n 0 s , 0 o 0 n R " e s o u r c e I t e m , c o n f i g , H o m e p a g e I t e m , K e y V a l u e S t r i n g 以下のようなマニフェストファイルが作成されます。 ...

2024年10月9日 · 12 分 · Nakamura

iiif-prezi3を使って、動画に字幕を設定する

概要 iiif-prezi3を使って、動画に字幕を設定する方法に関する備忘録です。 字幕の作成 OpenAIのAPIを使用して字幕ファイルを作成しました。動画のファイルを音声ファイルに変換しています。 f f f c r r r l o o o a m m m s s d d o p d e e p y o V f f e d t i n u e d l a s g a # w a b n e _ o p e e u i i v o i a i l t d 一 t i C n d _ f _ i 時 h i m i l i _ k . t o フ a t # w m p m i t d e c r ァ t u e i p o p e _ o y l a = イ e d m W t o r o n _ t i n ル m i p h h r t r t ( e = e s A に p o _ i # t r t t : s n n c u オ f . a s o r e A e v o t r d ー i e u p p W a t O u l l ( s i i デ l x d e e h n u p d o f v . = p o ィ e p i r n i s m f r r e i a ) e g t S オ . o o ( s c o i e n n o d : r e O i e を N r _ A t p r d l s A S _ b t p o g 書 a t f P e e i e e p t I e d o e e n m き m ( i I m r p l = o r g o s n n s e 込 e t l で p t = a n a m t e v A ( n む d e e ト _ A " u s n e e = ( I s t T m . ラ a P = w d e s n n T " ( e . e p s ン u I h i _ c t v r O a l f m _ e ス d で s i o f r u P p f r p a e ク i ト e s _ o i e E i , o o u k リ o ラ l p f r p ) N _ m r d ( プ _ ン f e i m t A k i _ a i 0 ト f ス . r l a I e n f r o ) を i ク c - e t _ y p i y _ 取 l リ l 1 , = A = u l F f 得 e プ i " " P a t e i i # . ト e , v I p _ ( l l n を n t _ i m i e e フ a 取 t t K _ o n ( . ァ m 得 . " E k v p s n イ e a Y e i u u a ル , u " y e t f m ポ d ) ) _ _ f e イ " i p m i , ン r o a o x タ b . t v = f を " t h i " o 先 ) r ) e . r 頭 a : _ m m に a n p p a 戻 s s a 3 t す c t " = a r h ) " u i ) m d p a p i t s 3 o i " _ o t ) f n e i s m l . p # e c _ : r a M e u P a d 3 t i 形 e o 式 ( _ で f エ i ク l ス e ポ : ー ト 使用するデータ 『県政ニュース 第1巻』(県立長野図書館)を使用します。 ...

2024年10月9日 · 16 分 · Nakamura

iiif-prezi3を使って、動画にアノテーションを付与する

概要 iiif-prezi3を使って、動画にアノテーションを付与する方法に関する備忘録です。 アノテーションの付与 Amazon Rekognitionのlabel detectionを用います。 https://docs.aws.amazon.com/rekognition/latest/dg/labels.html?pg=ln&sec=ft 以下などでサンプルコードが公開されています。 https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/labels-detecting-labels-video.html 特に、GetLabelDetectionにおける集計をSEGMENTSにすることで、StartTimestampMillisとEndTimestampMillisを得ることができます。 ただし、以下の点に注意が必要です。 SEGMENTS による集計の場合、境界ボックス付きの検出されたインスタンスに関する情報は返されません。 使用するデータ 『県政ニュース 第1巻』(県立長野図書館)を使用します。 https://www.ro-da.jp/shinshu-dcommons/library/02FT0102974177 マニフェストファイルへの反映 以下の記事などを参考に、マニフェストファイルが作成済みであるとします。 以下のようなスクリプトにより、マニフェストファイルにvttファイルを追加します。 f # c r | l o a m e s x s d d i p e e i o I f f i r i f t i l w m r a m l w c l a a c f o w r _ f o i a e d a a i a a n n a o u i e p C a t n t d n b t n b n n n r t t t r l d h i u _ i e h v e o o v p h u e i _ m f r l f l l a l _ _ a i l s e n a a a u f r z e m o a e n a e _ o a s s p p s a t n a n n n t o . n i n a p n s b s p p b a a . i b a d m n n n _ p w 3 t n e i t m e t a e e = = g g a n e r e o o o p e r o : i n f a l t n l e e n l t = _ i m t b } _ a a n i u i f ( e = n _ = h ( _ m l _ n r = i = d o a o p n t ( t t m e m s i s l s a a i = o a = = l d = t r d a n h o e p p s a t M f e s = a e n b d t n a l A a i g y g o u ( u o t n _ a e g e b g i e A a g l l b a = n n v e = " " " e = t m t r ( i j n s m l f e f l = n t e a a e b n n a t { t v f . p a _ t s f s i t e f " l = e _ n i ( b b l e f o o t = y a o a f u n p e e o f n . { _ s s f o o l e e [ l " t _ i c p l r d " t i a M l s n e t l s p j t e " t n e l l " [ { a i o a e u m d { _ f t a f t s ( o e a s . g { a s n s [ E " a t d n n " e a _ s p e h n , _ = t s a l t o i [ c t . ( [ " n L n i , = v : " t i e a s i p ( e d f h n t " a i a l i S d a n o " a : " t l t t f m a j * l _ . , . e L n o p a ] t T b o n t s " : e f h . e a t s * f m i l m a v n p b a i e _ ( a . T n m . , j s n h o m , a n " o s b a P e e r m l p g i e a " ( i s t i , n a n p r a [ e s a n l t e " a g d x m t n " o , f . n m i u " d 0 l . g d s T s ] g i t e e p w n e " l i a f t ) ( ] s i e ( ) i t [ e n + u , x u " ( A s r o f n e _ f " d ( a ) m a " _ g a t t ) i n t " a e i s d a ) ] } i n : e m N i " " l / _ n n _ ) d s f t i s / d n s p a d , # B p d a d o p ( t e ( r p = o t " m } t o l i s e t a a f _ s m } f a a _ a ] e / = d a r n a t s ) j t a / : g n p m " a " y i } f t t h s _ n o e n a p / ] { " n / : = i ) f o p i u 1 o g " i + , " m 2 o : : n a f t " _ e ] 1 } , a ) n ) t e p p ) 0 " s n ) P h s u a / 0 t i a ) t t g 0 r f g : _ _ e 1 ( e e p l _ 0 s s , a a i 0 t t t b d 0 a _ A h e ) r l n ) l t a n _ ) b o s e t e + l a g _ t . " s i j , e o s " g n o . , n + j " s R s o e t n s r " o ( u e r n c d e ) I , t e m , c o n f i g , H o m e p a g e I t e m , K e y V a l u e S t r i n g 以下のようなマニフェストファイルが作成されます。 ...

2024年10月9日 · 16 分 · Nakamura

iiif-prezi3を使って、動画に関するIIIF v3マニフェストを作成する

概要 iiif-prezi3を使って、動画に関するIIIF v3マニフェストを作成する機会がありましたので、備忘録です。 https://github.com/iiif-prezi/iiif-prezi3 参考 IIIFマニフェストファイルの例、およびiiif-prezi3を使った実装例は、IIIF Cookbookで公開されています。 以下、動画に関するIIIF v3マニフェストを作成する例です。 https://iiif.io/api/cookbook/recipe/0003-mvm-video/ iiif-prezi3を使った実装例は以下で公開されています。 https://iiif-prezi.github.io/iiif-prezi3/recipes/0003-mvm-video/ f c m c a a a h a h c a c p r o a a n n n w n w a n a r o n n n n n n d n d n n n i m f i v o o o o [ v o v n i f a _ _ = _ " a _ a t i g e s b p = b w s p s ( i . s o a { o i . a . m i c t = d g A " d d s g a a f o y e n h y t e e d n _ n = m n e . h t . d i p f a = = o i s " _ a _ f r i M n t g e ] h d i e e g a i R A a h t w d t s z s n f e n t t _ = d _ e t i [ i e s n i " h ( i m . 3 ' f s o o o : w 6 * t ( j h e t u t n d 4 * e a s i e s . r a ( 3 ( 0 h m n o m l t m c t i m b t 6 * w ( n n p p ( a e i d o o a 0 * d a o ( o e i k I o = t d r , h ) n _ i r r d e t n " i y g w n p n t s = _ e P h v = e " d o a d . " c m a t a a t w ) ) g e M a h a ( g t t n = i e n a u t n i t f e p i n c d ) t n t t v d y o ( s o o a t = i o p a = p r i : n _ n h 2 f _ s s " e m d / = b v " ) e f : ( h = a = / " o a : ) s i / i t " t " i p d s t e / d t V = h i a y . 4 , l i = p i " t i i , i 8 d i " s d v t f n d 0 A s i h : e i p . t ) , n . f t / d s i i n A . t " e : n " o u i p f , o g d t t o s i a " u a o / : x m i p , r t L a / t p i i a i a p / u 4 i / t o n i i r " f c i n g / i e ) . o o P ' c i s i o n a ] o f . o k " g . o . i / b : e a k i i a o , u b o i p o 5 t o f i k 7 A o a . / / 2 n _ k p i c r . n l / i o e 0 o a r o c 3 t n e c v k i 4 a g c o i b p } t i o d o e i = p k e o / o e b o k 0 n " / o / 0 , e 0 i r 0 n 0 k n e 3 R " 0 / d c - e 3 r i i m s - e a p v o m c n e m u v i a / - r m p / 0 v c - e l 0 i e v / u 0 d I i 0 n 3 e t d 0 c - o e e 0 h m / m o 3 r c , / - o m a m m o - n c a v m v v o n m _ i a n i - m d s f f v a e i e i n p g s d n / a t e e c g . o r a e j / s n / s c / a o a h a n n n i s n " v g / o , a h p t s / a a l " l g t a ) u e i b n " o e c ) n l h " = r , " o V o i m d _ e m o a n E n x e a r m s p _ l 1 e 0 2 3 4 " k ) b . m p 4 " , まとめ 他にも多くのサンプルや実装例が公開されています。参考になりましたら幸いです。 ...

2024年10月8日 · 5 分 · Nakamura

Omeka Sで3Dモデルを公開する

概要 Omeka Sで3Dモデルを公開する方法について調べてみましたので、備忘録です。 結果、以下のように3DモデルをOmeka Sで扱うことができました。 https://omeka.aws.ldas.jp/s/sample/item/43 バージョン 使用するOmeka Sおよびモジュールのバージョンは以下です。 Omeka S 4.1.1 Common 3.4.62 IIIF Server 3.6.21 Universal Viewer 3.6.9 モジュールのインストール Common, IIIF Server, Universal Viewerモジュールをインストールします。 モジュールの設定 IIIF Serverモジュールについて、設定を2点行います。 まず、Default IIIF api version of the manifestを3にします。 また、Default IIIF image api versionをNo image serverにします。 glbファイルのアップロード 以下で公開されているglbファイルを利用させていただきます。 https://ft-lab.github.io/gltf.html 以下のように、apple.glbをメディアとして、新規のアイテムを登録します。 結果、サイトの詳細ページにおいて、Universal Viewer上に3Dモデルが表示されます。 https://omeka.aws.ldas.jp/s/sample/item/43 作成されるマニフェストファイルは以下です。 { } " " " " } " ] " " ] " " ] " ] " ] @ i t l , m , r p , v s , h , i c d y a e i r i e o t o " p b t g o e e m e n : e e " ] a { } h v { } w A { } e { } m { } t " l n d t i i l p s e " : " o a s d n s a " x h : n t " e g o g : t t " e " a " } " } : r " " " } D " " " " } " " e " " " } " " ] " " " " } " " ] " t M { " g " l , v " i t l i : i t l , f p " i t l , f l [ @ i t l , r i : p a : l : a a " : d y a r d y a o r : d y a o a c d y a i t s n b b l h " p b e [ " p b r o " p b r n o " p b g e " : i [ " [ e " ] u " ] t [ : e e " ] c : e e " ] m f [ : e e " ] m g " n : e e " ] h m { } h / f l n e n t " l n t " l n a i " l n a u j t " l n t s t / e " o " o p " : " o i " : " o t l " : " o t a a e " : " o s " t o s : n : n s h : n o h : n " e h : n " g " x h : n " : p m t e " e " : t " e " n t " e " : " t " e " : e t t " e " : " " " ] : e " { " T { " g / t A { " O " t D { " A : t T { " R " " t C { " 1 [ i t i / k , : i : l / p g : m : p a : p " p e : e " : : p a : " " d y t / a t b r s e e s t i a " s x s t s n h " p e i . [ l [ " i : n [ k " : a [ p h : t [ o e [ " : [ t : e m { } i a e g / t a l / s r p t / " u x h / a t " s i w " h / " e / e e l t / , r t t / s p " : " f s t o , S f o t s i p o c / t o " s h : . . s m " t m " t c s m e h p m , : t " " " " " } " " } i l s e - e , a : e t : e / t A [ i t m b , t l o d t k t k j t / k i m / k / p n d y o o a a / a a a o a s i a n l / a r s n " p t d r b a s t . - . o o . " i . i : : e i y " " " " " " " g e " ] p . e a r a n n m a s , i a g t " v " i t f s h w d e l n i j m w i w - / e w i i w h a " : a : d y o e e i u t " o / p e s g s l l k s t f s t o t h t " p r r i d r " : n p / n . h . d d a . e . . s m i t " i { : e m v g t a : e " r i t l t l " + . l : i l s e o t A o " a i h h t { " [ e i s d " d j a d o d t k n p n n " : t c t " i " : U s i . a , a s w a a / a a a P s n " h " e " : o h n e f o s s o s s a a s t . a : : t " : " : n t [ t n / r . . n . . a p . e a g t t M : n " t i t 3 g j j " l j " i j m w e a " p o " n u : p t a / / p p , d p / p e s " o t p s d m [ u l s l t 4 v / / a / p / n . , m i a : e o ] l l n : e i 3 o " a s s r i t l e o i / l d , l , u / d o / c , p . / e i s d k n n / " e , l / ] n m a i j a s i . a a " t o , l l o " / a b / p a e f o s . , i m / m 3 n / i / a n / r . a n e g e / i C t a / t 3 g j w g k l k c f N e p i a / / p s " a t a o e E m i t t 4 v / . , . f . n s / s - e i 3 o i l a - a t t 1 / c m o / c i d w b w e " . 4 o / n c a i a s i s x , 0 3 n 4 / a b f s . n . t / " t 3 3 n / / . l a l . " , e " / v C 3 j d r d j , x , c a N / p a y a s t o s E 4 / s " s o " n / / 3 i . , . n t p 1 / i j j " e 1 . a i p p , x " 0 n f / / t , / n / f i . " o 3 i i j , t / l i s a 4 e f o t 3 s / n i / / 3 " o a o / , n n r 4 - n i 3 p o g / a t i c g a n a e t a n / i l v 4 o / a 4 n c s " / 2 / , 4 8 p 4 f 1 " 7 " , 1 , 0 7 5 2 5 2 7 0 b 0 3 b 4 3 1 4 e 7 3 4 b b d d 3 1 8 d 0 3 4 2 a 4 . g l b " , まとめ Omeka Sと関連モジュールを使用することで、比較的に3Dモデルを公開することができました。 ...

2024年10月4日 · 8 分 · Nakamura

[2024年版] AWSサーバーレスアプリケーションによるIIIF Image Serverの構築

概要 AWSサーバーレスアプリケーションによるIIIF Image Serverの構築に関する2024年度版の記事です。 背景 以下で、serverless-iiifというリポジトリが公開されています。本リポジトリを用いることにより、AWSのサービスを用いて、コスト効率が高く、無限にスケーラブルなIIIF Image Serverを構築することができると謳われています。 https://github.com/samvera/serverless-iiif 以下で、2022年時点の使い方を紹介しましたが、今日のサービスはより使いやすいものになっていました。 方法 いくつか構築方法がありますが、GUIを通じた構築方法として、以下を参考にします。基本的な構築については、以下のサイトの通り行います。ここでは、CloudFrontとRoute 53によるカスタムドメインの設定を含む手順について紹介します。 Lambdaの作成 https://samvera.github.io/serverless-iiif/docs/quick-start/deployment-sam まず、以下にアクセスします。 https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:625046682746:applications/serverless-iiif カスタムドメインによる配信にあたり、いくつかの設定を行います。 まず、ForceHostの項目に、設定したいカスタムドメイン名を入力します。 さらに、SourceBucketにバケット名を入力します。以下の例ではたまたまカスタムドメインと同じ名前の例ですが、任意のバケット名を入力します。 最後に、「このアプリがカスタム IAM ロールを作成することを承認します。」にチェックを入れて、「デプロイ」ボタンを押します。 その後に遷移する以下のような画面において、「デプロイ」タブを選択して、「CloudFormation スタック」のリンクをクリックします。 「出力」タブに遷移すると、v2やv3のエンドポイントが確認できます。 tiled TIFFsの作成 以下のページなどを参考に、tiled TIFFsファイルを作成します。 https://samvera.github.io/serverless-iiif/docs/source-images または、「『石見国絵図』,写,〔江戸中期〕. 国立国会図書館デジタルコレクション 」の画像をtile TIFFsに変換したファイルを以下から取得いただけます。サンプルデータとしてお使いください。 https://github.com/nakamura196/iiif-sampledata/raw/main/1286204.tif このファイルを先に指定したAmazon S3のバケットにアップロードすると、以下のようなURLでImage APIにアクセスすることができます。 https://istxbnjtm5x7qcpkwapsznyltm0sufnb.lambda-url.us-east-1.on.aws/iiif/3/1286204/info.json 注意点として、上記の結果得られるJSONファイルのidには、https://iiif.aws.ldas.jp/iiif/3/1286204という値が指定されています。 これは、先の設定で、ForceHostに指定した値が反映されています。 なお、画像の閲覧には、神崎正英氏が作成されているImage Annotatorが便利です。以下のように、uパラメータでURLを指定すると、画像を表示することができます。 https://www.kanzaki.com/works/2016/pub/image-annotator?u=https://istxbnjtm5x7qcpkwapsznyltm0sufnb.lambda-url.us-east-1.on.aws/iiif/3/1286204/info.json カスタムドメインの設定 最後にカスタムドメインの設定を行います。 まず、CloudFrontでディストリビューションを作成します。Origin domainには、先ほどアクセスしたURLのon.awsで終わるところまでを入力します。 そして、「代替ドメイン名 (CNAME)」の箇所において、設定したいドメイン名を入力します。合わせて、「Custom SSL certificate」も設定します。 上記でCloudFrontの設定は完了です。 最後に、Route 53でCloudFrontディストリビューションへの設定を行います。 結果、以下のURLからJSONファイルを取得することができます。 https://iiif.aws.ldas.jp/iiif/3/1286204/info.json まとめ 誤っている点もあるかもしれませんが、AWSサーバーレスアプリケーションによるIIIF Image Serverの構築にあたり、参考になりましたら幸いです。 ...

2024年9月9日 · 1 分 · Nakamura

IIIF Presentation API v3でsvgを使ったアノテーション記述

概要 IIIF Presentation API v3でsvgを使ったアノテーション記述を行う機会がありましたので、備忘録です。 方法 以下のように記述することで、svgを使ったアノテーションを表示することができました。 { } " " " " } " " } " ] @ i t l , r r , i c d y a " ] i e " } " } t { } o " p b n g q l , v e n : e e o " h u a " ] a " ] m " " " " " } " ] " ] " ] t " l n き t i b n l n s i t w h l , t , a , i e " : " e り s r e o " u o " " d y i e a " ] h { } n { } t { } x h : " つ " e l n A e n P : " p d i b n u n e t t " : ぼ : d " e t " e r : e t g e o " m " " " o " " " ] m " " " ] " t M { " S : " t : " o [ " h h l n [ b f i t t i t i s i t i : p a [ " t : r : v " : " t " e 1 n o d y a d y t { } " d y t { } : n h a { i { i h : " : " ] a r " p t " p e : " p e " / i t t [ b [ d t " : : " i m : e i : e m " " " " } " } : e m " " " " } " h / f t e u e t C 6 { l a " o " s i t m b , t [ " s i t m b , t t 1 e p m t d p a 6 4 [ " t " : n " : " d y o o " " a " " " } " : " d y o o " " " " ] " " a t 2 s : e i : n 4 9 : " h s h : " p t d t v r s t s h : " p t d i t f s , w h r p 7 t / n o b / 2 9 : t " " t " : e i y y a g o y e " " t " : e i y d y o e { } i e g : . " / t n y / a , 0 [ t I : t A [ " v " p l e u p l t v t A [ " v " " p r r d i e 0 , c " " 1 s , " p m p n " : a : e u t r e e y a p n " : a : : e m v " " " t g t / . r : E 2 " i s a [ : n h t " e " c " c p l : n h t " a i i t p h h " i 0 e x 7 , m : g / t " i { : " : e : t e u / t " i { " : t c d y r " t : i . a { a . a / e t t A o : " o " e t t A o h " e " p o : " i 1 t m 0 g / " 1 a p n n " { : " r : " 1 a p n n t " : " : e f : " f : i p . e i 2 t : n " T " S " : 2 t : n " t I : " i 6 h . 6 v l 0 / i 7 i / : e < " p : " 7 i / : p m " " : l 6 4 t i 2 e e . j i . o t x p h e S " . o t : a i [ h e 4 9 t o 8 c 1 p f 0 n 1 a " t > t c { v < 0 n 1 a " / g m t " " 2 9 p / 1 o O : e . . P 2 t c u 校 t i g s . P 2 t p / e a t I : , 0 : a 6 m r 6 g d 0 a 7 i o a 異 p f S v 0 a 7 i a 1 " g p m / p / m g 2 " l . g . o m l 源 : i e g . g . o i 2 , e s a " / i a o a 8 , . 1 e 0 n m B 氏 / c l 1 e 0 n n 7 / : g l 1 / p n n 1 i : " . " e o 物 / R e x : " . " t . j / e e 2 p i s i 6 t 6 , 0 , n d 語 1 e c m 6 , 0 , i 0 p / S v 7 r / . z / c 2 . t y 2 s t l 2 . n . e i e e . e i o a a . 8 1 i " p 7 o o n 8 1 g 0 g i r l 0 s i r t p u 1 : n , . . u r s 1 : " . " i v 2 . e i g i i - 6 6 g 2 0 r " = 6 6 , 1 , f i " 0 n f / o / t / 2 " 1 . c , ' / 2 : . c . t / l n i o a 8 , 0 e h a 8 6 d e 1 a 3 i " i k p 1 開 . " t p 1 2 l 2 : t / c i y i 6 始 1 , t i 6 8 . " 6 i 1 e f o / / 位 : p / / 1 i , 2 o 1 n / . i a 置 6 : i a 6 t 8 n s 3 a i p < 2 / i p / c 1 m e / c i i / 8 / i i a . 6 3 a s 1 . f / p 1 w f / p u / / n / 1 j / i > 6 w / i i - a c i b / p 3 i < / w 3 i / t p o f y c / / i p a . / i i o i n e / a i 1 f > p w 1 f i k / t s 4 n i 1 / < i 3 1 / i y i e t . v i / 3 a / . / 3 f o i x " 0 a f c / i o c / / . i t , / s / a 1 h i r a 1 3 a f . " / g n 1 r i g n 1 / c / j , p e v / e f / v / 1 . 3 s 1 n a c f / 2 a c 1 j / o " j s a = 3 0 s a / p 1 n , i / n \ / 0 / n i / 1 " / p v " 1 0 p v m i / , T 1 a h 1 / 1 a a i c I / s t / s / s g i a F a / t c v p / e f n F n p p a g a p " / v / n 1 : n ' g 1 , g a A o / / v > e / e s 0 s a / a < " p n / 0 " n d s p , a j p _ , n l / a g i 1 6 o . p t e / " 5 s n 1 h / T 8 / d " i I 7 1 l , x m F / " . m a F 0 , g l g / 1 o n e A / . s a 0 0 j = n 0 1 p \ n _ _ / " o 6 0 i h " 5 0 n t , 8 2 f t 7 3 o p / . : : 0 t n / 1 i d / / f l w 0 / j w 1 f p w _ u / . 0 l p w 0 l i 3 2 / d . 3 2 / o . 0 3 r t 0 4 g i , 3 / f / 7 2 " 0 6 0 , / 8 0 d 6 0 e / / f 3 s a 0 v u \ g l " \ t > " . 国 j 立 d p 国 = g 会 \ " 図 " , 書 M 館 2 デ 7 ジ 9 タ 8 ル , コ 1 レ 3 ク 0 シ 9 ョ c ン 0 < , / - a 3 > 4 で み 1 る 7 < , / - p 6 > 8 " 5 1 , - 1 0 2 c 0 , - 3 4 - 1 7 , - 5 1 - 5 1 , - 5 1 c - 3 4 , 0 - 5 1 , 1 7 - 5 1 , 5 1 c 3 4 , 3 4 5 1 , 6 8 5 1 , 1 0 2 z \ " i d = \ " p i n _ a b c \ " f i l l - o p a c i t y = \ " 0 . 5 \ " f i l l = \ " # F 3 A A 0 0 \ " s t r o k e = \ " # f 3 8 2 0 0 \ " / > < / s v g > " 表示結果は以下です。 ...

2024年9月3日 · 11 分 · Nakamura

縦書きに対応したText Overlay pluginを導入済みのMiradorのリポジトリ

概要 縦書きに対応したText Overlay pluginを導入済みのMiradorのリポジトリを更新しました。 https://github.com/nakamura196/mirador-integration-textoverlay 参考 変更元のText Overlay pluginのリポジトリは以下です。 https://github.com/dbmdz/mirador-textoverlay デモ 以下のページで動作内容をご確認いただけます。 https://nakamura196.github.io/mirador-integration-textoverlay/ 画面右上の「Text visible」ボタンを押すと、テキストが表示されます。ロード中のままとなってしまう場合には、ページの再読み込みをしてください。 参考 以下の記事で紹介した方法を使い、Text Overlay pluginをMirador 3に追加しています。 使用例 Text Overlay pluginの使用方法などについては、以下の記事を参考にしてください。 まとめ 今後、テキスト表示にあたり、ロードしたままになってしまう不具合を解消したいと思います。 IIIF画像とテキストの応用にあたり、参考になりましたら幸いです。

2024年8月23日 · 1 分 · Nakamura

Annotorious OpenSeadragon Pluginを使ったサンプルプログラム

概要 Annotorious OpenSeadragon Pluginを使って、IIIFマニフェストファイルからロードした複数画像に対するアノテーション付与を行うサンプルプログラムを作成しました。以下からお試しいただけます。 https://nakamura196.github.io/nuxt3-demo/annotorious ソースコード 以下を参考にしてください。 https://github.com/nakamura196/nuxt3-demo/blob/main/pages/annotorious/index.vue ポイント npm install –force ライブラリ@recogito/annotorious-openseadragonはopenseadragonのv5に非対応のようで、強制的にインストールする必要がありました。 n n n n p p p p m m m m e e e e r r r r r r r r o o o o r r r r C p n o e o u e d @ l r e r d _ e o m c n p o o o e d g t n u i s l t r e e o e a s s d a o r @ n l a r n v g e o e o c t n o o d @ g r e " i i p ^ t o e 3 o u n . / s d 0 a - e . n o n 0 n p c o e y t n : s r e ^ i a 4 o d . u r 0 s a . - g 0 o o " p n e @ f n " r s ^ o e 2 m a . d 7 @ r . r a 1 e g 8 c o " o n g f i r t o o m / a t n h n e o t r o o r o i t o u p s r - o o j p e e c n t s e a d r a g o n @ 2 . 7 . 1 8 plugins プラグインとして、Annotoriousを読み込みました。 ...

2024年8月16日 · 4 分 · Nakamura

画像ファイルに対してGoogle Cloud Visionを適用して、IIIFマニフェストおよびTEI/XMLファイルを作成する

概要 画像ファイルに対してGoogle Cloud Visionを適用して、IIIFマニフェストおよびTEI/XMLファイルを作成するライブラリを作成しました。 https://github.com/nakamura196/iiif_tei_py 本ライブラリの使用方法を説明します。 使用方法 以下で使い方などを確認できます。 https://nakamura196.github.io/iiif_tei_py/ ライブラリのインストール GitHubのリポジトリから、ライブラリをインストールします。 p i p i n s t a l l h t t p s : / / g i t h u b . c o m / n a k a m u r a 1 9 6 / i i i f _ t e i _ p y GCのサービスアカウントの作成 以下の記事などを参考に、GC(Google Cloud)のサービスアカウントキー(JSONファイル)をダウンロードします。 ...

2024年8月8日 · 37 分 · Nakamura

Omeka S IIIF Serverモジュール[3.6.19, 3.6.20]の不具合

概要 Omeka SのIIIF Serverモジュールの3.6.19と3.6.20について、URIの表記が崩れる不具合が確認できました。 具体的には、以下のように、FQDNがおかしくなりました。 https://xxx.yyy.zzz.jp//aaa.bbb.ccc.jp/iiif/3/1234/manifest 対策 本記事執筆時点において、3.6.21はリリースされていないので、3.6.18以前のモジュールを使用することをお勧めします。 まとめ 参考になりましたら幸いです。

2024年7月19日 · 1 分 · Nakamura

音声資料に関するIIIFマニフェストファイルに画像を追加する

概要 以下のAudio Presentation with Accompanying Imageを試した結果の備忘録です。 https://iiif.io/api/cookbook/recipe/0014-accompanyingcanvas/ 以下はCloverで表示した例ですが、設定した画像がプレイヤーに表示されます。 https://samvera-labs.github.io/clover-iiif/docs/viewer/demo?iiif-content=https://nakamura196.github.io/ramp_data/demo/3571280/manifest.json マニフェストファイルの記述 以下に例を格納しています。 https://github.com/nakamura196/ramp_data/blob/main/docs/demo/3571280/manifest.json 具体的には、以下のように、CanvasにaccompanyingCanvasを追加する必要がありました。 { " " " " } i t d a , d y u c " " " " " ] " p r c i t h w i : e a o d y e i t { } " t m " p i d e " : i p : e g t m " " " ] h o a " h h s i t i t " n n " : t " " d y t { } t C " y h " : : " p e p a : i t " : : e m " " " " } " s n n t C 1 [ " s i t m b , t : 1 g p a 1 0 " : " d y o o " " " " " a / a 5 C s n 0 2 h : " p t d i t h w f r / s 6 a : 2 4 t " : e i y d y e i o g n " . n / a 4 , t A [ " v " " p i d r e a , 0 / s , p n " : a : : e g t m t k 7 a n " s n h t " h h a " a 9 s a , : t " i { " : t " t : m 9 " k t t A o h " : " u 9 : a / a p n n t " : : " r 9 m n t s n " t I 1 h a 9 { u a i : : p m 1 0 " t 1 9 r k o t s a 0 2 i t 9 9 a a n / a " : g 2 4 m p 6 9 1 m P n t p / e 4 , a s . 9 9 u a a i a / " , g : g 9 6 r g k o i n , e / i 9 . a e a n n a / / t 8 g 1 " m " t k j n h , i 9 , u , i a p a u t 6 r n m e k b h . a g u g a . u g 1 " r " m i b i 9 , a u o . t 6 1 r / i h . 9 a r o u g 6 1 a / b i . 9 m r . t g 6 p a i h i . _ m o u t g d p / b h i a _ r . u t t d a i b h a a m o . u / t p / i b d a _ r o . e / d a / i m d a m r o o e t p a / / m a _ m r 3 o / d p a 5 / d a _ m 7 3 e t d p 1 5 m a a _ 2 7 o / t d 8 1 / d a a 0 2 3 e / t / 8 5 m d a c 0 7 o e / a / 1 / m d n c 2 3 o e v a 8 5 / m a n 0 7 3 o s v / 1 5 / " a c 2 7 3 , s a 8 1 5 / n 0 2 7 a v / 8 1 c a c 0 2 c s a / 8 o / n 3 0 m a v 5 / p c a 7 c a c s 1 a n o / 2 n y m a 8 v i p c 0 a n a c _ s g n o s / " y m u a , i p m c n a m c g n a o / y r m a i y p n n _ a n g i n o / m y t a a i a n g n t n e g i o . / o t j a n a p n / t g n p i " o a o , t g n a e / t " i i , m o a n g / e p " a , g e " わかりにくいですが、iiif_prezi3を使った記述例です。create_accompanying_canvas()によってaccompanyingCanvasを作成し、それをcanvasに関連づけています。 ...

2024年7月12日 · 11 分 · Nakamura

IIIF Audio/Visual: 複数のvttファイルを記述する

概要 IIIFを用いたAudio/Visual資料の記述について、複数のvttファイルを記述する方法に関する備忘録です。 ここでは、以下のように、日英の文字起こしテキストを記述します。 https://ramp.avalonmediasystem.org/?iiif-content=https://nakamura196.github.io/ramp_data/demo/3571280/manifest.json マニフェストファイルの記述 以下に例を格納しています。 https://github.com/nakamura196/ramp_data/blob/main/docs/demo/3571280/manifest.json 以下の記事も参考にしてください。 具体的には、以下のように複数のアノテーションとして記述することで、rampビューアによって正しく処理されました。 " a n n o t a ] t i { } o n " " " ] s i t i " d y t { } { } : " p e , : e m " " " } " " } " " " " } " " } " [ " s i t l , m b , t i t l , m b , t " : " d y a " ] o o " " " " } a d y a " ] o o " " " " } a h : " p b j t d i t f l r " p b j t d i t f l r t " : e e a " i y d y o a " ] g : e e a " i y d y o a " ] g t A [ " l " 日 v " " p r b j e " l " E v " " p r b j e p n " : " : 本 a : : e m e a " t " : " : n a : : e m e a " t s n h : 語 t " a l " 日 " h : g t " a l " E " : t " [ i { " : t " : 本 : t " [ l i { " : t " : n : t t A { ( o h " : 語 t A { i o h " : g / a p n m n t " : [ " p n s n t " : [ l " n t s n a " t T { ( h s n h " t T { i h a i : c : p e " m t : : p e " s t k o t h s x t a t t ( s x t h t a n / a i " : t e c p / a m " : t e p m P n t n s / " x h s n t a s / " x ( s u a a i e u / , t i : a i c u / , t m : r g k o - p n / n / k o h p n / a / a e a n g p a v e / a n i p a v c / 1 " m " e l k t - n m " n l k t h n 9 , u , n e a t g a u , e e a t i a 6 r e m m " e k r - m m " n k . a r e u , n a a g e u , e a g 1 a n r e m 1 e n r - m i 9 t t a r u 9 n t a g u t 6 e i 1 a r 6 e i 1 e r h . d n 9 t a . r n 9 n a u g ) g 6 e 1 g a g 6 e 1 b i " " . d 9 i t " . r 9 . t , g ) 6 t e , g a 6 i h i " . h d i t . o u t g u ) t e g / b h i b " h d i r . u t . u ) t a i b h i b " h m o . u o . u p / i b / i b _ r o . r o . d a / i a / i a m r o m r o t p a / p a / a _ m r _ m r / d p a d p a d a _ m a _ m e t d p t d p m a a _ a a _ o / t d / t d / d a a d a a 3 e / t e / t 5 m d a m d a 7 o e / o e / 1 / m d / m d 2 3 o e 3 o e 8 5 / m 5 / m 0 7 3 o 7 3 o / 1 5 / 1 5 / c 2 7 3 2 7 3 a 8 1 5 8 1 5 n 0 2 7 0 2 7 v / 8 1 / 8 1 a c 0 2 c 0 2 s a / 8 a / 8 / n 3 0 n 3 0 p v 5 / v 5 / a a 7 c a 7 c g s 1 a s 1 a e / 2 n / 2 n / a 8 v a 8 v 2 n 0 a n 0 a " n . s n _ s , o v " o e " t t t n a t a . t " t v i , i t o o t n n " / / , w w e e b b v v t t t t " / , 2 " , なお、Cloverでは、2つの文字起こしテキストが連続して表示されました。 ...

2024年7月12日 · 9 分 · Nakamura