Skip to content

otya128/TVTDataBroadcastingWV2

Repository files navigation

TVTDataBroadcastingWV2

ダウンロード https://github.com/otya128/TVTDataBroadcastingWV2/releases

web-bmlとWebView2を使ったTVTest用データ放送プラグイン

動作画面

動作環境

映像レンダラはEVR, EVR (Custom Presenter), madVR, システムデフォルト, VMR9, VMR9 Renderless, VMR7, VMR7 Renderlessで動作します。 ただし現時点ではVMR9 Renderless, VMR7 Renderlessを使うとフルスクリーンでの表示などに支障があります。

字幕やコメントを直接映像に合成するプラグインとは相性が悪いため、同時に正常に表示したい場合にはレイヤードウィンドウを使うように設定するかあきらめるなどしてください。 映像レンダラにVMR9 Renderless, VMR7 Renderlessを選択した場合映像に直接合成してもレイヤードウィンドウを使うようにしても字幕やコメントがデータ放送中の映像に合わせて縮小されます。

操作

TVTest起動時には有効にならないようになっているため右クリックメニューからプラグインを有効にするか、設定でサイドバーにプラグイン有効アイコンを表示させてそこから有効にしてください。 有効にしたタイミングでWebView2が起動します。

プラグイン有効時に表示されるリモコンかパネルに追加されるリモコンかTVTest側の設定でキーなどをデータ放送の操作に割り当てて操作することが出来ます。

字幕ボタンを押すとaribb24.jsを使った字幕を表示することが出来ます。

テレ東(BSや系列局含)では初回は50秒ほど待たないとデータ放送が表示されません。

設定

キー割り当て、パネル、サイドバー、ステータスバーの設定はTVTestの設定で行えます。

通信コンテンツ

Plugins/TVTDataBroadcastingWV2.iniを以下のようにすると通信が有効になります。

[TVTDataBroadcastingWV2]
EnableNetwork=1

プラグイン有効時にリモコンを表示しない

パネルを使う場合やキー割り当てした場合リモコンウィンドウは不要

TVTest起動時にプラグインを有効にする

音量をTVTestと連動する

操作音などの音量

数字ボタンが使われていなければTVTestに渡す

データ放送中で数字キーが使われていない場合数字コマンドで選局可能にする

制約

おおよそ実装されていますが一部のAPI、イベント、要素は未実装です。

通信機能は既定では無効であり、その場合すべての外部へのリクエストはブロックされます。(ICoreWebView2::add_WebResourceRequestedを呼んでいる部分を参照)

ビルド方法

TVTestプラグインのビルド

Visual C++ 2022が必要(2019でもおそらく可能)

NuGetパッケージを復元しTVTDataBroadcastingWV2.slnをビルド

web-bmlのビルド

現状web-bmlを使うために無理やりサブモジュールで参照していてさらにそのweb-bmlもサブモジュールを持っているため以下のコマンドで初期化/更新

git submodule update --init --recursive

Google Fontsよりフォントをダウンロード 存在しなければ場合MS ゴシックで代替される

curl https://raw.githubusercontent.com/googlefonts/kosugi-maru/bd22c671a9ffc10cc4313e6f2fd75f2b86d6b14b/fonts/ttf/KosugiMaru-Regular.ttf -o browser/dist/KosugiMaru-Regular.ttf
curl https://raw.githubusercontent.com/googlefonts/kosugi/75171a2738135ab888549e76a9037e826094f0ce/fonts/ttf/Kosugi-Regular.ttf -o browser/dist/Kosugi-Regular.ttf

以下のコマンドでビルド

cd browser
yarn install
yarn workspace @chinachu/aribts build
yarn run build
  • Plugins/
    • TVTDataBroadcastingWV2.tvtp
    • TVTDataBroadcastingWV2
      • resources/
        • TVTDataBroadcastingWV2.html
        • dist/
          • TVTDataBroadcastingWV2.js
          • Kosugi-Regular.ttf
          • KosugiMaru-Regular.ttf

のように配置するかTVTDataBroadcastingWV2.tvtpと同じディレクトリにTVTDataBroadcastingWV2.iniを作り以下のようにする

[TVTDataBroadcastingWV2]
ResourceDirectory=x:\xx\browser\