-- vim:set ft=lua: dofile(mg.script_name:gsub('[^\\/]*$','')..'util.lua') ct=CreateContentBuilder(GZIP_THRESHOLD_BYTE) ct:Append([=[

# EDCB Legacy WebUIについて

EDCBの操作をブラウザから行うことができます。このWebUIではJavaScript(メディア再生や字幕表示を除く)やCookieは使用しません。
このWebUIでは公開フォルダ(HttpPublic)にないファイルには原則アクセスしません。

EDCBの「録画保存フォルダ」を公開フォルダ配下(公開フォルダ直下のvideoフォルダを推奨)に設定すれば、リンク表示などの追加機能を利用できます。

番組表などにはEDCBの「EPG取得対象サービス」でチェックされたサービスのみ表示します。

デバッグ出力やメニューのシステムスタンバイ機能はデフォルトで無効化しています。
必要に応じてutil.luaの定数定義を編集して有効にしてください。

トランスコード機能(xcodeボタン)や視聴機能(viewボタン)を利用する場合は、ffmpegなどのトランスコーダーとtsreadex.exeとをEDCB直下のToolsフォルダに用意してください。
既定ではHLS再生が有効なのでtsmemseg.exeも必要です。
後述のデータ放送の表示にはpsisiarc.exeも必要です。
また、必要に応じてutil.luaの定数定義を編集してください。
ブラウザの制限により自動再生されないことがあるので、その場合は再生画面をクリックやタップしてください。

視聴機能を利用する場合は、EpgDataCap_Bonなどの「TCP送信先」にSrvPipeを追加しておく必要があります。
予約一覧にあるviewボタンは起動済みのEpgDataCap_Bonなどに接続して視聴するものです。
リスト番組表にあるviewボタンはNetworkTVモードによりEpgDataCap_Bonなどを起動して視聴するものです。
NetworkTVモードでは「視聴に使用するBonDriver」をEpgTimerSrv設定で指定しておく必要があります。

HLS再生時やb24tovtt出力のWebVTTが配置されたメディアファイル再生時は、aribb24.jsによる字幕表示ができます。
字幕つき全画面表示は再生画面の左上隅あたりをクリックやタップしてください。

トランスコード時や視聴時、psisiarc出力の.pscファイルが配置されたメディアファイル再生時は、web-bmlによるデータ放送の表示ができます。
※指定サービス対象データに「データカルーセルを含める」必要があります。

トランスコード時や視聴時、TVTestのNicoJKプラグインのログや実況の表示ができます。おもに録画用アプリをTVTestにしている人向けの機能です。
再生画面の中央やや下あたりをマウスオーバーやタップすると実況コメントを入力できます。

tsreadex.exeを"edcbnosuspend.exe"という名前でコピーしてToolsフォルダに用意すると、メニューに「録画後動作を抑制」ボタンが現れます。
このedcbnosuspend.exeをEpgTimerSrv設定の「録画後動作の抑制条件」に指定しておくことで録画後動作を一時的に抑制することができます。
※edcbnosuspend.exeは単に起動させておくだけの何もしないプロセスです。

スクリプトはLua 5.2を使用しています。Lua 5.2 Reference Manual (有志による日本語訳)
EDCBによる追加機能はDocument/Readme_Mod.txtの「Lua edcbグローバル変数の仕様」を参照してください。

無保証です。セキュリティに気をつけてください。スクリプトの改変、再配布などすべて自由です。

スクリプト作成などにあたって特にEDCB Material WebUIを参考にしています。
トランスコード機能は「Tvmaid MAYA ストリーミング設定」やChinachuやTVRemotePlusを参考にしました。

]=]) ct:Finish() mg.write(ct:Pop(Response(200,'text/html','utf-8',ct.len)..(ct.gzip and 'Content-Encoding: gzip\r\n' or '')..'\r\n'))