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=1HttpAccessControlList=+127.0.0.1,+192.168.0.0/16
-
http://localhost:5510/ などにアクセス、サーバー機能が有効になったことを確認
※ ここでうまく行かない場合はEDCBの設定の問題だと思われます -
ファイルを適切に設置 (下記の配置例を参照)
HttpPublicとSettingのフォルダをEDCBフォルダに入れる
※ 配置例 (EMWUI、legacyは任意にリネーム等可)EDCB/ ├─ HttpPublic/ │ ├─ api/ │ ├─ EMWUI/ │ │ ├─js/ │ │ : ├─ts-live.js │ │ └─ts-live.wasm │ ├─ legacy/ │ ├─ img/ │ │ └─logo/ │ ├─ video/ │ ├─ index.html │ : │ ├─ Tools/ │ ├─ ffmpeg/ │ │ ├─ ffmpeg.exe │ │ ├─ ffprobe.exe │ │ : │ ├─ NVEncC/ │ │ : │ ├─ QSVEncC/ │ │ : │ ├─ asyncbuf.exe │ ├─ edcbnosuspend.exe │ ├─ psisiarc.exe │ ├─ psisimux.exe │ ├─ tsmemseg.exe │ ├─ tsreadex.exe │ ├─ tspgtxt.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と同じフォルダに置き、設定ファイルでファイル名を指定してくださ
MDLのサイトが封鎖されたため公式サイトから入手することができなくなりました
ですが、外部CDN cdnjs などから入手可能なのなようです
- 置き換えただけではごく一部対応しきれない部分があるので、気になる場合は設定ファイルの
themeでプライマリーカラー、アクセントカラー、A700の色を指定してください - 色はMaterial designをなどで参照してください
PWA(プログレッシブウェブアプリ)に対応しアプリとしてインストールすることができます
- SSL/TLSによる通信が必須となります
- Civetwebの組み込みについてを参照してSSL/TLSを有効にしてください
Legacy WebUIの配信機能を移植し、以下の事が可能となりました
- HLSでの配信
- TS-Live!モジュールでMPEG2を直接再生
- web-bmlによるデータ放送の表示
- aribb24.jsによる字幕表示
- 実況の表示
EDCB Legacy WebUIについてにも目を通してください
- トランスコードオプションは
XCODE_OPTIONS.luaを編集してください - コメントボタンを長押しすると常時取得が有効になります
データ放送がリセットできないため、一度データ放送を読み込みチャンネルを変更すると、リモコンボタンは無効化されます
上記の理由から常時取得有効中でも、リモコンボタンを一度押すまでデータ放送は読み込まれません
力技で対応しました- データ放送のNVRAM設定はLegacy WebUIと共通です、今のところ Legacy WebUI のNVRAM設定でできます
初期値はHttpPublic.iniから指定できるようになりました - 倍速読み込みはトランスコードオプションの
filterFastを有効にします
- EpgDataCap_BonなどのTCP送信先にSrvPipeが追加されている必要があります
- NetworkTVモードでEpgDataCap_Bonなどを起動しています
他にNetworkTVモードを使用している場合は注意してください
- TvtPlayのチャプター機能を再現
- 対応形式や読み込み順など模してますが、一部挙動を変更しています
- 開始時間を指定し、再度トランスコードすることでシークっぽい動作をしています
- 録画結果ページでは録画結果(
GetRecFileInfo())からファイパスを取得し、ファイルの確認をし表示します ffprobe.exeがToolsフォルダにある場合、メタ情報が取得可能となり、より正確な処理ができます
-
録画保存フォルダのビデオファイル(
ts,mp4,webm等)を表示・再生します
HttpPublic.iniで任意のフォルダ指定が可能です -
公開フォルダ外のファイルはスクリプトを経由するためシークできるブラウザとできないブラウザあるようです
-
サムネ
HttpPublicFolderのvideo\thumbsフォルダのmd5ハッシュ.jpgを、またはTS-Live!が有効な場合に表示できます
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、スカパープレミアムの環境はありません。
- バグ報告は詳細に、上記の環境ない箇所の場合は特に詳細に、対処できません
- 欲しい物リストを公開しておりますので気に入ったらよろしくお願いします
- このプログラムを使用し不利益が生じても一切の責任を負いません
- また改変・再配布などはご自由にどうぞ
- Material Design Lite
- Material Symbols
- jQuery
- jQuery UI
- jQuery UI Touch Punch
- Hammer.JS
- jquery.hammer.js
- hls.js
- web_bml_play_ts.js
- TS-Live!
- aribb24.js
- danmaku.js
This software includes the work that is distributed in the Apache License 2.0.