Awesome
EDCB Material WebUI
EDCBのWebUIを、Material Design Liteを使いマテリアルデザインに沿うように表示できます
予約の追加確認、番組表の表示などの基本的な機能の他、リモート視聴・ファイル再生、PWAなどに対応しています
Legacy WebUIをベースとして、多くの部分を流用し、作成しています
view
mp4init.lua
segment.lua
comment
legacy.script.js
は一部ファイル名を変えて流用、
logo
をTvTestの設定の読み込み部分など、 xcode
を公開フォルダ外のファイルにアクセスできるよう変更し使わせて頂きました
おかげさまでド素人にも作成することができました。xtne6f氏に感謝します
導入
最低限の動作に必要なファイルは、EDCBのreleasesのEDCB-work-plus-s-bin.zip
で入手可能です
リモート視聴を行う場合は、別途使用するトランスコーダが必要です
-
EDCBのReadme_Mod.txtのCivetwebの組み込みについてをよく読む
-
EDCBのHTTPサーバ機能を有効化、アクセス制御を設定
EnableHttpSrv=1
HttpAccessControlList=+127.0.0.1,+192.168.0.0/16
-
http://localhost:5510/ などにアクセス、サーバー機能が有効になったことを確認
※ ここでうまく行かない場合はEDCBの設定の問題だと思われます -
ファイルを適切に設置 (下記の配置例を参照)
HttpPublic
とSetting
のフォルダをEDCBフォルダに入れる
※ 配置例 (EMWUI、legacyは任意にリネーム等可)EDCB/ ├─ HttpPublic/ │ ├─ api/ │ ├─ EMWUI/ │ ├─ legacy/ │ ├─ img/ │ │ └─logo/ │ ├─ video/ │ └─ index.html ├─ Tools/ │ ├─ ffmpeg.exe │ ├─ ffprobe.exe │ ├─ tsreadex.exe │ ├─ asyncbuf.exe │ ├─ tsmemseg.exe │ ├─ psisiarc.exe │ └─ edcbnosuspend.exe ├─ Setting/ │ ├─ XCODE_OPTIONS.lua │ └─ HttpPublic.ini ├─ EpgDataCap_Bon.exe ├─ EpgTimerSrv.exe ├─ EpgTimer.exe ├─ lua52.dll └─ SendTSTCP.dll
-
リモート視聴する場合EpgDataCap_Bonなどのネットワーク設定でTCP送信先にSrvPipeを追加
-
http://localhost:5510/EMWUI/ にアクセス出来たら準備完了、設定へ
- 更新の際は
HttpPublic
のフォルダのみを上書きしてください - PWAを使用する場合は追加の設定や別途ファイルが必要です
設定
番組表などの基本的な設定は設定ページで
配信機能の設定などはHttpPublic.ini
とXCODE_OPTIONS.lua
を編集してください
テーマカラー
MDLで選択したテーマカラーに変更することができます
選んだテーマカラーのcss
をダウンロードしmaterial.min.css
を置き換えるか、HttpPublic.ini
のcssキー
を編集することで変更できます
- 一部(border周り)が置き換えただけでは対応できない部分があります(
.mark
)
気になる方はcssをuser.css
に記述してください - 色はMaterial designから選択することをお勧めします
.mark
のborderはA700を指定しています
PWA
PWA(プログレッシブウェブアプリ)に対応しアプリとしてインストールすることができます
- SSL/TLSによる通信が必須となります
- Civetwebの組み込みについてを参照してSSL/TLSを有効にしてください
視聴機能
Legacy WebUIの配信機能を移植し、以下の事が可能となりました
- HLSでの配信
- web-bmlによるデータ放送の表示
- aribb24.jsによる字幕表示
- 実況の表示 (録画用アプリにTvTestの使用時のみ)
過去の機能と仕様などが変わり互換性はありませんので再度設定をしてください
EDCB Legacy WebUIについてにも目を通してください
注意
- トランスコードオプションは
XCODE_OPTIONS.lua
を編集してください - リモコン、コメントボタンを長押しすると各データの常時取得が有効になります
- データ放送がリセットできないため、一度データ放送を読み込みチャンネルを変更すると、リモコンボタンは無効化されます
上記の理由から常時取得有効中でも、リモコンボタンを一度押すまでデータ放送は読み込まれません - データ放送のNVRAM設定はLegacy WebUIと共通です、今のところ Legacy WebUI のNVRAM設定でできます
- 実況ログ表示機能は動作未確認、動いてたらラッキー
- プレイヤーの速度設定はブラウザ側の機能を使用しています
倍速読み込みはトランスコードオプションのfilterFast
を有効にします
リモート視聴
- EpgDataCap_BonなどのTCP送信先にSrvPipeが追加されている必要があります
- NetworkTVモードでEpgDataCap_Bonなどを起動しています
他にNetworkTVモードを使用している場合は注意してください
ファイル再生
- 開始時間を指定し、再度トランスコードすることでシークっぽい動作をしています
- 録画結果ページでは録画結果(
GetRecFileInfo()
)からファイパスを取得し、ファイルの確認をし表示します ffprobe.exe
がToolsフォルダにある場合、メタ情報が取得可能となり、より正確な処理ができます
ライブラリ
-
録画保存フォルダのビデオファイル(
ts
,mp4
,webm
等)を表示・再生します
HttpPublic.ini
で任意のフォルダ指定が可能です -
Chrome系ブラウザでmp4を再生しようとするとエラーで再生できないことがありますが
-movflags faststart
オプションを付けエンコすることで再生できる場合が、 また公開フォルダ外のファイルはスクリプトを経由するためシークできるブラウザとできないブラウザあるようです -
サムネ
HttpPublicFolderのvideo\thumbsフォルダにmd5ハッシュ.jpg
があるとサムネを表示できます
ライブラリページのメニューから作成することができます
補足
局ロゴ
EDCBのロゴに対応しています
- ロゴフォルダにない場合、TVTestのロゴを検索するかどうか
HttpPublic.ini
で設定できます - LogoData.iniが見つからない場合のみ公開フォルダ下の
img\logo\ONIDSID{.png|.bmp}
(4桁で16進数)を表示(旧仕様互換)
放送中ページ
URLに?webPanel=
を追加すると無駄をそぎ落としたデザインになります
- VivaldiのWEBパネルに追加して使用することを想定しています
番組表の隠しコマンド
以下をGETメゾットで取得しますのでURLに含めてください
hour=整数
開始時間を指定interval=整数
表示間隔を指定- デフォルト値
PC=25
スマホ=13
- デフォルト値
chcount=整数
読み込むチャンネル数を一時的に変更- デフォルト値
PC=0(無制限)
スマホ=15
- showが有効時は非表示のチャンネルを含みます
- デフォルト値
show=
非表示指定したチャンネルを読み込む(サイドバーで表示・非表示)- 値は指定する必要はありません
subch=
サービス一覧でサブチャンネルを表示します
chcount
とshow
は週間番組表では使えません
お知らせ機能
※PCでのみでの機能です
- 登録した番組の開始30秒前にデスクトップ通知します
- videoフォルダにnotification.mp3を用意すると通知音が出ます
各自で用意してください
注意
チャンネルが増えたりしたら設定を保存しなおしてください(番組表に表示されません)
動作確認
- Windows
- Chrome
- Vivaldi
- firefox
- Android
- Chrome
その他
- iOS、スカパープレミアムの環境はありません。
- バグ報告は詳細に、上記の環境ない箇所の場合は特に詳細に、対処できません
- 欲しい物リストを公開しておりますので気に入ったらよろしくお願いします
- このプログラムを使用し不利益が生じても一切の責任を負いません
- また改変・再配布などはご自由にどうぞ
Framework & JavaScriptライブラリ
- Material Design Lite
- Material Symbols
- jQuery
- jQuery UI
- jQuery UI Touch Punch
- Hammer.JS
- jquery.hammer.js
- hls.js
- web_bml_play_ts.js
- aribb24.js
- danmaku.js
This software includes the work that is distributed in the Apache License 2.0.