Skip to content

Latest commit

 

History

History
1262 lines (1234 loc) · 147 KB

Release_Notes.md

File metadata and controls

1262 lines (1234 loc) · 147 KB

Release Notes

  • v2.7.1 - 2020/04/10

    • リリース概要
      • 不具合修正のみで、他は v2.7.0 と変わりません。
      • v2.7.0 で最後にしたかったんですが、v2.6.1 → v2.7.0 で致命的なバグが起きてしまっていてやむを得ず…
    • その他の変更点
      • MP4・MKV の録画ファイルが再生できない不具合を修正
        • ご報告ありがとうございました。基本的に TS のまま保存してるので気づかなかった…。
      • 録画番組の再生時、番組概要の改行が反映されない不具合を修正
        • 今までなぜ気づかなかったんだろう…。
      • コードの書式を整理
  • v2.7.0 - 2022/04/03

    • リリース概要
      • 様々な不具合の修正を行った、最後のメンテナンスアップデートです。
      • 本当は v2.6.1 で開発終了のつもりだったのですが、BS新局のニコニコ実況対応を行う必要が出てきたため、ついでに積年の不具合をいろいろ修正しました。
        • ついでとは言いつつ、結局既知の不具合の修正がメインになってしまっています(2週間が丸々溶けた…)。
        • 今後アップデートが必要な状況(ニコニコ実況周りの変化など)がなければ、v2.7.0 が最後のアップデートになります。
      • BS松竹東急・BSJapanext・BSよしもと・WOWOWプラスの実況コミュニティの定義を追加
        • ほかの BS チャンネル同様にコミュニティが作成されていたので、その定義を追加しました。
        • 過去ログ API や JKCommentCrawler の対応も同時に行っています。BS新局の録画番組もコメント付きで楽しめるはずです。
      • KonomiTV 向けに大幅に改良された DPlayer をバックポート
        • DPlayer は JavaScript 製の動画プレイヤーです。TVRemotePlus 向けに大幅に不具合修正や改善を行ったものを、KonomiTV でもさらに改良して利用しています。
        • 8ヶ月ぶりのアップデートにあたり、さらに改良された KonomiTV 向けの DPlayer を TVRemotePlus にバックポートしました。
        • プレイヤーの設定画面周りの UI が刷新されたほか、コントロールのアイコンの余白が広がり、より押しやすくなっています。
        • フルスクリーン時、一定期間操作がない場合はマウスカーソルが表示されないようになりました。もう画面の隅にマウスカーソルを追いやる必要はありません。
        • そのほか、プレイヤーの動作安定性が向上しています。
      • tsreadex を導入し、エンコードがより安定するように改善
        • tsreadex は ffmpeg などのエンコーダーでうまく認識できない放送波の TS ストリームを、エンコーダーが認識しやすい形に整形するためのツールです。おもに KonomiTV 向けに開発していただいたものです。
        • tsreadex をエンコーダーの前に挟むことで、たとえば音声多重放送 (デュアルモノ含む) ⇔ ステレオ番組の切り替えで音声が正しく出力されなくなるなどの問題が解消されます。
          • tsreadex が事前にデュアルモノ音声の無劣化分離・ステレオへの無劣化変換・各ストリームの PID の固定を行うため、エンコーダーが途中でクラッシュすることがほとんどなくなります。
      • 文字スーパーを表示する機能を追加
        • 文字スーパーは、おもに NHK BS1/BSプレミアムの速報テロップや、緊急地震速報の赤テロップなどで利用されています。
        • ライブ配信では、文字スーパーの用途を鑑みて、字幕の表示状態に関わらず常に表示されます。
        • ファイル再生では、字幕を非表示にすると、文字スーパーも表示されなくなります。
        • 文字スーパー内に内蔵音を再生するコマンドがある際は、コマンドで指定された内蔵音が再生されます。
          • 具体的には、緊急地震速報の赤テロップと同時に「ポーンポーン」という警告音が再生されます。
          • ほかにも NHK ニュース速報の文字スーパーで内蔵音が再生されるようです(未検証)。
      • キャプチャリスト上で選択したキャプチャを Enter キーで拡大表示できる機能を追加
        • QuickLook ライクな機能ですが、Space キーはすでにキャプチャの選択に割り当てられているので、代わりに Enter キーに割り当てました。
        • 今までもキャプチャリスト上のキャプチャを右クリックすると拡大表示ができましたが、これがキーボード操作だけで完結するようになります。
      • ツイート入力フォームへのフォーカス時にフォームをハイライトする
        • キーボード操作だけではツイート入力フォームへの入力中なのかが分かりづらく、誤操作の要因になってしまっていました。
        • フォームへの入力中はフォームの周囲が水色でハイライトされるようになるため、誤操作がかなり少なくなると思います。
        • この変更と同時に、キャプチャ選択のキーボード操作に関連する多くの不具合も修正しました。
      • 画面のレイアウトを視聴画面の︙メニューから1クリックで変更できるように改善
        • コメントリストの表示/非表示と、「ナビゲーションメニューを垂直に配置」のオフ/オンを同時に切り替えられる機能です。
          • 今までも設定画面から変更が可能でしたが、より簡単にレイアウトを変更できるようになります。
        • 一度クリックすると、コメントリストが非表示になり、ナビゲーションメニューが左側に垂直に表示されるようになります。
        • この状態でもう一度クリックすると、コメントリストが再び表示され、ナビゲーションメニューの位置が画面上部に戻ります。
        • この機能はPC・タブレットでのみ動作します。
    • その他の変更点
      • 録画番組のサムネイル生成ロジックを大幅に改善
        • 壊れた TS ファイルなど何らかの理由でサムネイル生成ができない場合がありますが、その際にリスト更新処理ごとフリーズしてなかなかリスト更新が進まない、といった問題が修正されました。
          • 具体的には、ffmpeg でのサムネイル生成コマンドの実行時に、タイムアウトを設定するようにしました。
          • タイムアウトを設定したいがために外部ライブラリを導入したり、かなり大掛かりになってしまって大変だった…。
        • また、サムネイル生成に失敗したあとも毎回サムネイル生成を試みたり、ffprobe での動画長の取得が毎回実行されてしまったりといった不具合を修正しました。
        • 72 秒未満の録画番組のサムネイルが生成できない不具合も同時に修正しました。
        • 環境にもよりますが、リスト更新が以前よりも早く終わるようになっていると思います。
      • L字画面のクロップ機能の動作安定性を向上
        • DPlayer のバックポートにともない、既存の実装が動かなくなったことによる変更です。
        • CSS Transform による実装に変更したことで、結果的に以前よりも安定するようになりました。
      • ライブ配信時にコメントリストに保持するコメント量を 250 に増やす
      • 一部の BonDriver がファイル名によっては認識されない不具合を修正
      • ファイル再生画面で TS ファイルなのにダウンロードボタンが押せてしまう不具合を修正
      • ドキュメントを現状に合わせて更新
      • コードの書式を整理
      • JavaScript ライブラリを更新
      • QSVEncC を 6.10 に更新
      • NVEncC を 5.46 に更新
      • VCEEncC を 6.17 に更新
      • rplsinfo を 1.5.2 に更新
      • arib-subtitle-timedmetadater を 4.0.9 に更新
  • v2.6.1 - 2021/08/03

    • リリース概要
      • 不具合の改善や脆弱性の修正、動作安定性の向上がメインのマイナーアップデートです
      • 報告いただいた様々な不具合の改善と、xtne6f 氏のフォーク での改善内容を一部取り込みました
        • 本当は v2.6.0 でアップデート自体最後にしたかったのですが…
      • MP4 や MKV の録画ファイルを Progressive 画質以外で再生できなくなっていた不具合を修正
        • Progressive 、つまりエンコードせずに MP4 や MKV をそのまま再生する場合は問題なかったこともあり失念していました…
      • v2.6.0 になってから個人設定を一度も保存していない場合、コメントが全く表示されなくなってしまう不具合を修正
        • v2.6.0 でもブラウザごとに個人設定を一度でも保存すれば問題ありませんでしたが、意図した動作ではないため修正しました
    • その他の変更点
      • TS ファイルの拡張子が .mts / .m2t / m2ts になっている場合の動作を修正 (thanks xtne6f)
        • 対応はしているつもりでしたが、私が .ts で運用していることもあり不具合を見落としていました
      • OS コマンドインジェクションの対策 (thanks xtne6f)
      • 各種 API のステータス取得コストを下げる (thanks xtne6f)
      • 視聴者数のカウント手法を微調整 (thanks xtne6f)
        • この変更でより正確で振れのない視聴者数が表示されるようになるはず
      • ながら見など PC で画面を狭めて使うケースでのユーザービリティを改善
        • あまり想定していなかったのでスタイル崩れだとかがいくつかあった
      • コメントフィルターの設定フォームにパスワードの自動入力フォームが表示されてしまう問題を修正
      • 設定画面の UI スタイルを調整
      • そのほかスタイルの微調整
      • QSVEncC を 5.06 に更新
      • NVEncC を 5.36 に更新
      • VCEEncC を 6.13 に更新
  • v2.6.0 - 2021/07/19

    • リリース概要
      • TVRemotePlus はこれで最後のメジャーアップデートになります
        • 不具合修正のマイナーアップデートはあるかもしれませんが、基本的には v2.6.0 にて更新終了ということになります
          • 多くのフィードバックを頂いたおかげでより良いものにすることができ、また安定して動作するようになりました
          • 今となっては技術的にも品質的にも拙いソフトですが、ここまで多くの方に使っていただいていて感慨深いです 本当にありがとうございました
        • 今後は後継ソフトの開発の方に注力していきます
      • 字幕の表示方式を大幅に変更し、iPhone・iPad で字幕が表示できるようになったほか、エンコードも安定するようになりました
        • arib-subtitle-timedmetadater を使い、ARIB 字幕を ID3 メタデータストリームに変換して TS に重畳しています
        • ARIB 字幕ストリーム (arib_caption) を HLS の仕様に含まれる ID3 メタデータストリームに変換することで、hls.js が使用できない iOS Safari でも ARIB 字幕を受信・描画できるようになりました
        • ARIB 字幕ストリームをエンコーダー側でそのまま HLS にコピーする場合、なぜか一部の民放の番組で CM 区間に突入するとエンコード速度が極端に落ちて不安定になったり、エンコーダーが突如落ちたりといった原因不明の諸問題があったのですが、事前に ID3 メタデータストリームに変換するようになったため、この問題も副次的に解決しています
          • これにより、ストリーム開始時の字幕のデフォルト設定が[字幕オン]に変更になりました
          • 以前のバージョンからアップデートされる場合は現在のデフォルト設定が使われますが、現在では字幕を含めてエンコードする事による問題はほとんど起きなくなっているため、以前から導入されている場合でも[字幕オン]に変更することを推奨します
        • 1ヶ月以上も arib-subtitle-timedmetadater を受信に挟むとドロップしブロックノイズが発生する問題に悪戦苦闘していましたが、様々なおつよい方々にご協力いただき、なんとか安定する状態に持っていく事ができました
        • arib-subtitle-timedmetadater と字幕表示の新方式を開発してくださった monyone 氏、ならびにドロップ問題やエンコーダー側での不具合修正とデバッグをしていただいた rigaya 氏、TSTask 側の不具合修正など様々な面で支援していただいた xtne6f 氏に、この場をお借りして感謝いたします
      • ストリーム開始から実際に映像が再生されるまでの待機時間がかなり短縮されました
        • 環境にもよりますが、特にチャンネル切り替えが最大 3 秒程度速くなっているはずです
        • QSVEncC・NVEncC・VCEEncC にエンコーダーの起動時間を短縮する機能を実装してくださった rigaya 氏に感謝いたします
      • コメントフィルター機能を追加しました
        • ニコニコで言うところの「NG機能」に相当するもので、コメントフィルターに登録したキーワードがコメントに含まれていた場合、表示しないようにできます
        • 簡易的な実装ではありますが、これで不快なコメントを非表示にできるようになり、より見やすくなると思います
        • コメントフィルターは個人設定から設定できます
    • その他の変更点
      • NHK BS1 (jk101) の実況用コミュニティの公式化に対応
      • チバテレビ (jk12) の実況用コミュニティに対応
      • 個人設定の各項目に説明を追加した
        • 今までは項目名しか記載していませんでしたが、説明がないことであまり認知されていない機能があるようなので、環境設定同様に説明を追加してみました
        • 一度読んでみて頂けると TVRemotePlus をより活用できるかもしれません
      • エンコーダーに渡すコマンドを調整
        • 最大ビットレートを指定するようにしたことでパーティクルなど動きが大きいシーンでビットレートを使いすぎるのを防止する効果が期待できるほか、ビットレート設定の見直し、音声多重放送での不具合修正などを行っています
        • 以前のバージョンと比べてよりエンコードが安定しているはずです
      • 字幕の縁取りの描画精度を改善
        • より綺麗に縁取りされるようになっています
        • aribb24.js のアップデートに伴う改善です
      • エンコーダープロセスを終了するときに、他のプロセスを Kill してしまう可能性がある問題を修正
        • Pull Request していただいた xtne6f 氏に感謝します
      • ファイル再生ページの読み込み速度を改善・エラーページ周り、ファイルロック関連の改善と修正
        • Pull Request していただいた xtne6f 氏に感謝します
      • 秋田朝日放送・テレビユー山形の実況が取得できない問題を修正
        • ご報告ありがとうございました
      • asyncbuf.exe を追加
        • arib-subtitle-timedmetadater とエンコーダーとの間に挟み、標準出力をバッファリングしてパケットロスを減らす目的で利用しています
        • 元は xtne6f 氏版の EDCB に同梱されているものです
      • TSTask を更新
        • TSTask を xtne6f 氏と rigaya 氏による改良が行われたバージョン (https://github.com/tsukumijima/TSTask) へ差し替えました
        • 以前のバージョンからアップデートされる場合は、現在の TSTask-tvrp.exe を bin/TSTask/ フォルダの 32bit/ ないしは 64bit/ フォルダの TSTask.exe で更新する必要があります
      • ffmpeg・ffprobe を 4.4 に更新
        • ffmpeg 4.2 以降では ARIB 字幕を HLS ストリームにコピーできない仕様上の制限があり、その影響で今までは 4.1 系に固定せざるを得ませんでした
        • 字幕表示方式の変更に伴い、この制限を考慮する必要がなくなったため ffmpeg を更新できるようになりました
      • QSVEncC を 5.05 に更新
        • QSVEncC の 4 系 → 5 系 では大幅なリファクタリングが行われているため、もしかすると一部の環境ではうまくエンコードできない事があるかもしれません
          • 私の環境 (Sandy Bridge) でもうまく動かなかったのですが、rigaya 氏へのフィードバックを重ね、現在では正常にエンコードできています
          • 万が一お手元の環境で QSVEncC が動かないのであれば、私ではなく rigaya 氏の方にフィードバックして頂ければと思います
      • NVEncC を 5.34 に更新
      • VCEEncC を 6.12 に更新
        • VCEEncC に限り、エンコードの安定性を優先してハードウェアデコーダーを使わないオプションに変更しました
          • rigaya 氏いわく「VCE のハードウェアデコーダーはエラー耐性が低く、ちょっとしたパケットロスでもすぐフリーズしてしまいエンコードが止まる」「安定性を優先するのであればソフトウェアデコーダーの方が良い」のだそうです
          • エンコードならともかくデコードはそこまで CPU を消費しませんし、見たいときにエラーで中々見れないよりかは良いという判断です
      • 「デフォルト設定を使い 1 クリックでストリームを開始する」設定時に「スキャンしています…」というバルーンが表示されてしまう不具合を修正
      • EDCB Material WebUI の URL が指定されていない時に発生する不具合を修正
      • Stream1 と Stream10 が同時に終了されてしまうであろう不具合を修正
      • DPlayer の不具合修正と更新
      • その他、細部の改善と修正
  • v2.5.0 - 2021/03/30

    • リリース概要
      • 致命的な脆弱性を修正するセキュリティアップデートを含みます、旧バージョンをお使いの方はできるだけ早く更新してください
        • 脆弱性の悪用に繋がるため詳細は避けますが、API 等に細工した特殊なリクエストを送ると OS コマンドを含めた任意のコードが実行可能になってしまいます
        • 攻撃は(ホストとポートが一致している必要がありますが)外部からでも可能なため、速やかに更新することを推奨します
        • この脆弱性を教えていただき、また修正パッチまで提供して頂いた xtne6f 氏に感謝します。足向けて寝れません…
      • 機能追加・不具合修正・iOS/iPadOS 端末での互換性の改善などを多量に含む3ヶ月分の大型アップデートです
        • 大きなものから細かいものまで相当な数の不具合を修正し、ようやく不具合なく安定して使える状態になったと思います
        • 変更点は大きいですが、再インストールの必要はありません(…のはずです)
        • Cookie 名を変更したため、アップデートすると個人設定と Twitter のログイン状態がリセットされます
      • 現実的に現状バージョンの TVRP で実装できる機能は一部を除きほぼ全て追加したつもりです
        • 一番の課題は録画番組リストの挙動が不安定で複数フォルダに対応していない事ですが、これに関しては抜本的な再実装が必要になるため、現行バージョンでは難しいです
        • いつになるかは分かりませんが、TVRemotePlus の機能をベースにモダンな技術で全て書き直したソフトをリリースするつもりです
          • v3 になるのか、別のソフトになるのかは現時点でははっきりしていませんが…
          • 録画番組リスト周りを筆頭に技術的負債により実装が困難な機能が複数あり(根本的に改善するには大幅に書き直す必要がある)、 それらを改善するには新しく全て書き直したほうがトータルで見て良いだろうという結論に至りました
          • 保守がしんどいし、スパゲッティなクソコードを維持していてももうあまり学びが得られないので、フロントエンド・バックエンドともにモダンな技術に移行したいのもあります
    • 字幕描画用ライブラリを b24.js から aribb24.js に変更した
      • v2.5.0 の目玉の機能追加です
      • これで字幕の描画が大幅に改善され、位置、サイズ、ルビ、DRCS 含め ARIB 字幕が完璧に描画されるようになりました!!
      • TVTest の TVCaptionMod2 と比較しても遜色なく忠実に描画できていてすごいです!驚くべき速さで実装して頂いた monyone 氏に感謝してもしきれません
      • キャプチャ機能の方でも字幕が表示されている場合はそれを含めてキャプチャできるようになっています
        • Shift キーを押しながらで字幕を表示中でも字幕を入れずにキャプチャします
      • 詳細: https://twitter.com/TVRemotePlus/status/1355591344354299906
    • iPhone / iPad 端末での互換性改善と不具合修正
      • ファイル再生でエンコード中、Safari のネイティブ HLS プレイヤーで再生時間が最新のセグメントの範囲にシークされてしまう不具合を修正
        • 以前から挙動は把握していましたが修正できていませんでした
        • 数時間潰した挙げ句結局 currentTime に 0 ではなく 0.000001 を入れればシークしてくれることが分かり唖然…
      • hls.js が利用できないブラウザ(主に iOS Safari)でキャプチャに失敗する不具合を修正
        • こちらの実装も一部良くなかったけど、結局 hls.js を有効化しているともれなく失敗する事が分かって hls.js をやめました
      • iPad Safari の PWA モード等で Picture-in-Picture が使えない場合にエラーメッセージを表示するようにした
        • 本当に不可解なんですが、iPad Safari の「PWA モードのみ」Picture-in-Picture が使えず、よくわからないエラーが出ます
        • フラグは使える設定になっているし、requestPictureInPicture() を叩くまで分からなくてどうしようもないのでこれで勘弁してください
      • hls.js が利用できないブラウザでプレーヤーの初期化が失敗する不具合を修正
        • aribb24.js の導入に関連する気もするけどもはや調べる余力がなかった
      • フルスクリーン関連のブラウザの互換性を改善
        • iOS Safari では Fullscreen API が使えず、Safari 独自の謎 API で動画だけ「Safari 側の標準プレイヤーで」再生されます
        • これ周りで不具合があったし、実装も良くなかったので改善しました
      • iPad Safari で hls.js を使うのをやめて、安定性向上と引き換えに字幕が表示できなくなった
        • 字幕が表示できなくなったのは hls.js をやめた関係です
        • iPad Safari の Media Source Extension API はブラウザ側に致命的なバグが複数あり、字幕を表示させるために何日も格闘しましたが結局まともに再生することができず、諦めました
        • ファイル再生を NVEnc でエンコードすると再生できなくなる、ライブ配信の切り替わりに失敗する、キャプチャが真っ黒になる、WebGL ならいけるかとキャプチャを試すと今度は映像が真っ黒になって CSS で無理やりリドローを掛けてなんとか 10fps で描画される程度でまともに見れないだとか酷すぎる、Apple は独自のブラウザエンジンを禁止する前に自社のブラウザの最悪なバグを直したらどうですか???🤔🤔🤔
        • 結局ネイティブの HLS プレイヤーが一番安定することが分かり、やむを得ず安定性の向上を優先しました
        • aribb24.js の作者の monyone 氏が iOS / iPadOS Safari のネイティブ HLS プレイヤーでも ARIB 字幕を表示する謎の技術を編み出して下さったので、次のリリースではもしかすると iPhone 含め iPad で字幕が表示できるようになるかもしれません
    • Android 版 Firefox での互換性改善と不具合修正
      • Android 版 Firefox でフルスクリーンにできない不具合を修正
        • Fullscreen API の prefix 地獄がつらかった…
      • Android 向け Firefox でキャプチャに失敗する不具合のエラー捕捉を改善
    • ナビゲーションメニューを垂直に表示できるようにした
      • 個人設定 →[ナビゲーションメニューを垂直に配置 (*)]から設定できます
      • 横長のビューポートでもっとプレイヤーを大きくしたいのに上のヘッダーが邪魔で横の余白だけ余ってるって事があるかと思いますが、そういう時に使うとプレイヤーをより大きく表示できます
      • お使いの PC やタブレットの画面レイアウトに応じて適宜設定してみてください
    • 画面全体をフルスクリーンで表示できるようにした
      • 今までもプレイヤーをフルスクリーンにする事はできましたが、新たに TVRemotePlus の画面全体をフルスクリーンにすることができるようになります
      • 画面右上の︙メニュー → [フルスクリーンで表示]からフルスクリーンに切り替えられます
      • iOS Safari では Fullscreen API が動かないので使えません
      • キーボードショートカットは E キーに割り当てています
    • キャプチャした画像を拡大表示できるようにした
      • 要望ありがとうございました、キャプチャしたシーンの確認などにどうぞ
      • PCでは右クリック、スマホやタブレットでは長押しすると拡大画像が表示されます
      • 今のところ機能として用意はしていませんが、拡大画像を右クリックor長押しすればブラウザに画像を保存できます
      • 詳細: https://twitter.com/TVRemotePlus/status/1375860345344978944
    • 画質設定を個人設定から上書きできるようにした
      • 以前から要望があって、特に外出時に画質を下げ通信量を節約して使いたいケース等で有用そうだったので実装しました
      • 「環境設定を引き継ぐ」に設定していれば(既定)環境設定の画質設定がそのまま使われます
    • 実況勢いの情報の取得元を namami (http://jk.from.tv/) に変更
      • 今まで取得元にしていたちくラン側の仕様変更で実況勢いが取得できなくなってしまったので、暫定的対応だったこともあって namami に変更しました
      • この変更でコミュニティベースの実況チャンネルで現在実況番組が放送されていない場合に実況勢いが - にならなくなりますが、そこまで問題にならないと思うので様子見です
      • あと一度リロードしないと実況勢いが更新されなかったっぽいのも修正しました
    • コミュニティベースの実況チャンネルを追加
      • tvk・テレ玉・WOWOW PRIME・WOWOW LIVE・WOWOW CINEMA・BSアニマックス の実況チャンネルが追加されました
      • 過去ログ API 側でも対応済みです(もっとも稼働することがあまりないようですが)
    • リロード後もチャンネルリストのタブの選択を保存するようにした
      • ご要望ありがとうございました、ザッピングみたいな事がしたい時に便利だと思います
      • くどいかなーとも思ったので、要望があれば次のバージョンでオンオフを切り替えられるようにします
    • ヘッダーに録画番組と設定へのリンクを表示するようにした
      • 今までサイドメニューを開く → リンクをクリックする、と 2 ステップかかっていたのがリンクをクリックする 1 ステップだけでできるようになるので、より操作が楽になると思います
      • タブレット以上の横幅で表示されます、縦メニューにも対応済みです
      • 詳細: https://twitter.com/TVRemotePlus/status/1372964991658172419
    • 局ロゴを横長の長方形で表示するようにした
      • 今まで長らく正方形にクロップして表示していましたが、クロップせず全て表示してほしいという声が寄せられていました
      • スマホでも長方形で表示されます(その代わり表示サイズは以前よりも若干小さくなります)
      • 詳細: https://twitter.com/TVRemotePlus/status/1373323612313190405
    • コメントリストのパフォーマンスのデフォルト設定を「軽量」に変更した
      • アップデートを重ねた結果、もはや標準との違いはコメントリストのコメントが改行されるか、一行で表示されてはみ出たコメントは ... で切り捨てられるかの違いだけになっていたためです
      • コメントリストは「標準」だとコメント数が多くなればなるほど重くなってコメント描画にも支障をきたしますが、「軽量」ならそれが改善されます
      • 特にスペックの低い PC やタブレットでは軽量にしておくことを”強く”推奨します(「標準」だとコメント数が多い映画等では最悪フリーズします)
    • ダークモードのデフォルト設定を OS のテーマと連動するようにした (Closed #2)
      • 初回アクセス時( Cookie に tvrp_settings がない状態)にブラウザがダークモードならダークモードで、それ以外ならライトモードに設定します
    • L字クロップの設定の有効/無効を切り替えられるようにした
      • そもそもL字にやられない事を祈るばかりですが、だいたい特定の局だけ表示されて他だとL字になってなかったりするので、 設定をリセットしなくても有効/無効を切り替えられるようにしてみました
      • 詳細: https://twitter.com/TVRemotePlus/status/1374415495013695490
    • チャンネルリストのスライダーの実装を大幅にリファクタリング
      • リファクタリングに加え Swiper ライブラリ自体の更新も行い、より安定して動作するようになりました
      • 以前は画面をリサイズするとチャンネルリストの幅がはみ出してしまったり機能しないといったケースがあったのですが、そういった不具合がなくなります
    • 番組情報・チャンネルリストの更新処理をより軽量化
      • 更新処理を工夫したことで更新時の負荷がかなり軽減されるはず(PC だとスペック高くて体感できないけど)
      • 更新負荷が軽くなったので、更新する頻度を 10 秒から 8 秒に少し短くしました
    • TVRemotePlus が使う Cookie に全て tvrp_ の prefix を付与した
      • Cookie を settings → tvrp_settings, twitter → tvrp_twitter_settings, twitter_session → tvrp_twitter_sesson, watching_session → tvrp_watching_session
        にそれぞれリネームしました
      • こうすることで Cookie が衝突する自体を避けられるし(同じホストならポートが別でも Cookie が共通になってしまう)、管理もしやすくなります
      • 個人設定諸々がリセットされるのはこの変更の影響です
    • その他の改善
      • キーボードショートカット一覧のスタイル崩れの修正と配置の調整
      • ︙メニューの項目を並び替え
      • 局ロゴをブラウザにキャッシュしてもらえるようにした
        • PHP 側で EMWUI のロゴを出力しているのでページのロード毎に局ロゴのダウンロードが行われていましたが、 ほとんど変わることのない地デジ/BS/CS合わせて100チャンネル近くの局ロゴがリロード毎にダウンロードされるのは単に遅くなるだけなので、キャッシュさせるようにしました
      • L字クロップの設定を LocalStorage に保存するようにした
        • 今までは個人設定と同じ Cookie に保存していましたが、サーバー側で処理するわけでもなく Cookie に置いておく理由がなかったため
      • ヘッダーの色味を調整
        • 以前からダークモード時に他がダークブルーなのにヘッダーだけ青っぽくないのが気になっていたので、ちょっとだけ青っぽい色にした
      • プレイヤーから AirPlay ボタンを削除
      • Android 版 Chrome などで上から下に引っ張るとリロードされる機能を無効化
        • 普段は便利な機能ですが、TVRP の場合誤操作の原因になったり、PWA でフルスクリーンで運用する場合にステータスバーを表示する操作の邪魔になる場合があったため
        • リロードボタンもあるのでそこまで問題にはならないと思います
      • ツイートを送信する際のハッシュタグのロジックを大幅に改善
        • 今までスペース等をハッシュタグフォームに入れるとスペースにハッシュタグがついてしまうことがあり不具合が多かったので、実装し直しました
      • 設定ページの文言を現状に合わせて修正
      • 設定のデフォルト値の調整
        • HLS 周りのデフォルト設定を変更
      • 過去ログのコメントが空だった場合にメッセージを表示するようにした
      • コードの書式を整理
      • npp*64_10.dll を削除
        • NVEncC に付属していたものですが、特定のフィルタを使わない限りは不要で、さらにファイルサイズが合計で 67MB もありました
        • エンコード処理に支障がないことを確認できたので削除しました
      • jQuery を 3.6.0 に更新
      • Swiper を 6.5.0 に更新
      • QSVEncC を 4.13 に更新
      • NVEncC を 5.29 に更新
      • VCEEncC を 6.09 に更新
      • TSTask を更新
        • 最近(といってももう1年近く前)にビルドしたものに差し替えました
      • スタイルの調整・改善
    • その他の不具合修正
      • スマホの画面の向きを切り替えると正常にプレイヤーのフロート表示ができなくなる不具合を修正
      • スマホでプレイヤーのコンテナの高さが画面の高さを超えるとプレイヤーの表示がおかしくなる不具合を修正
        • プレイヤーの高さが画面の高さを超えている事自体が良くないので、プレイヤーの高さの最大値を画面の高さにすることで解決しました
      • 画面がリサイズされるとコメントリストが中途半端に手動スクロールになってしまうことがある不具合を修正
        • 正直直ってるかは微妙なんだけど、以前より回数は減ってるのでヨシ!(タイミングがシビアなのでどうしようもない)
      • エンコーダーのログを書き出す設定にしている場合、ストリームをライブ配信からファイル再生に変更できない不具合を修正
      • 東海テレビ011 など、末尾に3桁の数字がつくチャンネルで実況勢いを取得できない不具合を修正
      • TVTest のチャンネル設定ファイルに 1 や 2 がつかない「TOKYO MX」で登録されている場合に実況勢いを取得できない不具合を修正
      • 存在しない SourceMap の URL を削除
      • ファイル再生でコメントに date_usec プロパティがない場合にコメントの読み込みに失敗する不具合を修正
      • ウインドウ幅が 500 ~ 510 ピクセルの時に表示が大幅に崩れる不具合を修正
      • コメント数表示でエラーになる不具合を修正
  • v2.4.2 - 2021/01/04

    • 主にニコニコ実況関連の不具合修正のみですが、より安定性が向上しています
    • ニコニコ実況から追い出されたときに再接続できるようにした
      • 今までも再接続できるようにしたはずですが、実際に試したわけではないので機能していませんでした
      • コメントの多い番組で実際に追い出され、数秒後に問題なく再接続できていることを確認しています
      • 中々実装に苦労した(追い出されないとデバッグできない)ので我ながら感動
    • ネットワーク接続が切断された場合などにニコニコ実況に再接続するようにした
      • ネットワーク接続が切断された場合、コメントは復旧できても肝心の映像が復旧できない事があるみたいなので素直にリロードした方が早い気もする
    • ニコニコ実況のコメント数を表示できるようにした
      • ライブ配信では 4 時のスレッド開始からの総コメント数、ファイル再生では番組ごとのコメント数が表示されます
      • ライブ配信の場合定期的にコメント数が送られてくるのでおまけ的につけてみました(いらない気もしないでもない)
    • ファイル再生時、過去ログに /nicoad や /emotion などの運営コメントが表示されないようにした
      • 過去ログ API 側でレスポンスに運営コメントを含めるよう仕様変更した件への対応です
      • 今のところ非対応ですが、今後エモーションなど一部の運営コメントに関しては描画できるようにするかもしれません
    • ニコニコ実況の AT-X 実況用コミュニティ (co5245469)に対応
      • のんのんびより一挙無料放送に合わせてできていたので追加してみました
        • 当面は無料放送がある時間のみの枠取りになるようです
      • 過去ログ再生もできていることを確認済みです
      • 旧ニコニコ実況では存在しなかったチャンネルですが、便宜的に内部的に利用する実況 ID は jk333 に割り当てています
    • ニコ生のスクレイピング時のエラーハンドリングを改善
      • 指定された放送 ID が 404 などのときもエラーを出すようにした
    • 削除されたコメントが含まれている場合に過去ログの再生に失敗することがある不具合を修正
      • deleted なコメントって本当にあるんですね(初めて見た)**
    • ちくランからの実況勢い取得処理を改善
      • ちくランからの実況勢い取得は今のところ暫定的なものです
        • アクティブ人数なので以前の実況勢いと集計方法が異なるし、明らかに人が多いのに少なめに判定されてしまうことがあるなど実況勢いとして使うには安定しない…
        • 将来的には過去ログ API におまけとして現在の実況チャンネルの勢いを取得できる API を作り、そこから取得するようにしようかなーと思っています
    • フジテレビONE・日テレジータスなどの地上波の局名を冠した CS 局で地上波側の実況チャンネルが設定されてしまう不具合を修正
      • 正規表現をミスってました
    • サーバーキャスト用の[デバイスをスキャン]ボタンを右上︙メニュー内から Chromecast モーダル内に移動した
      • ブラウザキャストを使う事が大半であろう中でサーバーキャスト専用のアクションを︙メニューの中に入れておくのは不適切かなーと思った
        • 機能の特性上インストールしてから1回使われるかどうかだし…(しかも出来が悪くてだいたい失敗する)
    • L字画面のクロップ設定のレンジ・ラジオコントロールのデザインを統一した
      • 以前はブラウザデフォルトのコントロールを使っておりブラウザによって見た目がまちまちだったので Bootstrap から拝借した CSS に置き換えました(一から書くのはだるかった)
      • 今だったら最初から Bootstrap 使って書くんだろうけど今からそれをやる余力もなく…
    • VCEEncC でストリームの開始に失敗する不具合を修正
      • マニュアルには --preset と書かれているけど、実際は --quality らしい(引数一覧にもそう書かれてた)
      • QSVEncC・VCEEncC は --quality で、NVEncC だけ --preset みたい(両者とも省略オプションは -u )
    • ライブ配信時、API 側で任意の放送 ID をクエリに設定してセッション情報を取得できるようにした
      • これは API 側の仕様でこれを呼び出す画面はなく実質機能しません(実装しようとしたけど使うか微妙になってきたのでやめた)
    • JavaScript のインデントをスペース:4 に統一
      • スペース:2 だと見づらくて仕方がない…
    • 長らく VSCode に指摘されていた CSS のエラーを修正
    • その他細かな修正
  • v2.4.1 - 2020/12/28

    • 年末なのでニコニコ実況関連の過去の負債を一掃しました
      • 3 週間近くに及ぶ新ニコニコ実況対応関連の実装をようやく完了しました(激しくつかれた)
      • v2.4.0 で重いと報告を頂いていたコメント描画も改善されているはずです
    • BS 各局の有志によるコミュニティからのニコニコ実況に対応した
      • これで BS 各局に関しても旧実況とほぼ同等の環境にもどったはず…?
      • コミュニティからの実況は 24 時間放映されているわけではないため、実況がない時間帯では「現在放送中のニコニコ実況がありません。」というメッセージが表示されます
    • ライブ配信のコメントリストの更新処理を最適化した
      • 動くこと優先で突貫工事で書いたこともあって何度も要素を取得するなど無駄が多数ありましたが、できる限り処理の無駄を省いて高速に動作するようになりました
      • 動作安定性も向上し全体的に軽くなっているはず
      • コメントが多くなるとブラウザがフリーズするような現象も緩和されていると思います
      • この変更により、コメントスクロール時のアニメーションがなくなったほか、コメントリストに保持するコメントの最大数が 500 件から 100 件に減りました
        • アニメーションを削除した理由はアニメーションを追加するとスクロールタイミングの関係で動作が不安定になる他、コメントが殺到するとアニメーションが渋滞して非常に重くなる現象がみられたためです
          • アニメーションを削除したことで、少なくとも私の環境ではパフォーマンスが上がったように感じます
          • コメントスクロールボタンを押した時は以前同様にアニメーションで滑らかにスクロールされます
        • コメントリストに保持するコメントの最大数は、多すぎると DOM 描画の関係で重くなるのと、ニコ生本家のコメントリストも 100 件まで保持するような仕様になっていたため、ニコ生本家に合わせた感じです
          • 最新 100 件より前のコメントを漁る機会もほとんどないと思うので、動作軽量化の方を優先しました
    • ファイル再生のコメントリスト関連の処理を一から実装し直した
      • 新ニコニコ実況に移行した後もレガシーで不具合の多いコードが残ったままになっていましたが、新しいロジックを思いついたので一気に再実装しました
      • 以前のロジックよりも大幅に誤動作が減り、より安定した動作とパフォーマンス向上が見込めます
      • また、コメントリストのパフォーマンス(個人設定から設定可能)で軽量モードを指定した際も、通常モード同様に再生時間に合わせて自動スクロールできるようになりました
        • この変更により、通常モードと軽量モードの機能的な差はコメントが 1 行で表示されはみ出た部分は省略されるか、折り返して表示されるかの違いだけになります
      • これでニコニコ実況関連の JavaScript は全てが jikkyo.js 内に統一されたことになります(1100行ェ…)
    • ちくわちゃんランキング(ちくラン)から実況勢いを取得できるようにした
      • ちくランは現在視聴中のアクティブユーザー数を数値化しているみたいです
        • そのため厳密には旧ニコニコ実況の実況勢いとは測定手法が異なりますが、ないよりかは全然良いと思います
      • サーバーに負荷をかけないよう、取得結果はちくラン側の自動更新間隔と同じ1分間キャッシュするようにしています
    • エンコードパラメータを調整
      • 少しビットレート上げすぎかな…?と思ったので、高画質分のビットレートを下げました
        • ビットレートは上げるとより綺麗になりますが、その分サイズが大きくなるのでストリームが止まりやすくなります
      • 各エンコードのプリセットを高速モードにしました
        • 私の環境だとあまり変わってないので気持ちだけ…
    • セグメントあたりの秒数を 0.5 秒まで短縮できるようにした
      • ライブ配信で 0.5 秒に設定した場合、放送波との遅延を最短で 3 秒近くまで抑えられます
      • ただしスペックによっては CPU 使用率が増えたり再生が不安定になることもあるので、現状一長一短です(特に外出先からスマホで見る場合はかなり再生が不安定になる気がする)
      • ファイル再生も同様に 0.5 秒まで設定できるようになっていますが、リアルタイム性が求められるわけではないのでやらない方が無難だと思います
    • コメントの遅延時間を 120 秒まで指定できるようにした
      • 以前は 60 秒まででしたが、90 秒以上録画マージンを取っている人からの要望を受けて上限を緩和しました
    • コメントが非表示状態のとき、プレイヤーのニコニコ実況に関するメッセージを表示しないようにした
      • ニコニコ実況機能を使わない人がニコニコ実況に関するメッセージを見ても邪魔なだけかなーと思ったので…
    • ファイル再生でコメントがほぼ 1 秒おきにしか描画されなかった問題を修正
      • 本来はコメント時間の小数点以下の数値に date_usec を使うべきところ、誤って vpos(スレッド開始から換算した 1/100 秒単位の数値)を使ってしまっていました
        • 多分ニコニコ実況機能実装当初からのバグ…
    • 外部 API にアクセスする際にユーザーエージェントを設定するようにした
      • 過去ログ API がどのソフトから使われているかサーバーログから把握できるようにするための変更です
      • 元々 TVRemotePlus 向けでしたが、TvtComment や JKCommentViewer など多数のソフトで対応していただいたようで感謝です
    • KBCテレビ・テレビ西日本の実況チャンネルが認識されない問題を修正 (Close #1)
      • 報告ありがとうございました(首都圏在住なのでこういう報告は助かります)
      • ch_sid.tsv は実況勢いの再実装により不要になったため削除し、jikkyo_channels.json に移行しました
    • ストリームが変更されたとき、実況が存在しないチャンネル→実況が存在するチャンネルに移動しても実況が読み込まれない不具合を修正
    • ライブ配信でコメントリストを非表示にするとコメントが描画されなくなる不具合を修正
    • 過去ログ API が落ちているときにエラーを返すようにした
    • コメントスクロールボタンのアイコンを変更
    • ニコ生が落ちているときにエラーを返すようにした
    • その他諸々不具合修正など
  • v2.4.0 - 2020/12/19

    • ニコ生に移行した新ニコニコ実況に対応しました!(1週間くらいぶっ通しでコーディングしていたのですごくつかれた)
      • ニコニコ実況関連の処理を完全に一から書き直した関係でかなり変更量が大きいため、まだ不具合が残っているかもしれません
        • 不具合あれば報告いただけると助かります
        • ニコニコ実況関連以外の変更は少ないです
      • 導入後はかならずブラウザのキャッシュを削除してください!!キャッシュが残っていると動作がおかしくなります
    • 12/16 からニコ生に移行した、新ニコニコ実況のコメントの受信・送信に対応した
      • 公式で用意されているチャンネルの放送に対応しています
      • 非公式の有志によるコミュニティからの放送には対応できていませんが、近いうちに対応予定です
      • 実況勢いは今のところ機能していません。代替案を検討中です
    • 廃止された旧ニコニコ実況の過去ログ API にかわり、自作した過去ログ API を利用して過去ログ再生機能を実装し直した
      • 現時点では 12/15 までに投稿された旧ニコニコ実況の過去ログのみです(今後新実況の過去ログにも対応予定)
      • 12/15 までに録画した番組のコメントは以前同様に再生できると思います
    • ツイート送信時に送信完了を待たずにツイート本文や選択した画像をクリアするようにした
      • 送信に時間がかかると次のツイートや画像を設定できないためです
    • Stream 1 が Offline でも Stream 2~4 が埋まっていれば Stream 5 以降を使えるようにした
      • 割とこれから見る番組のタスクとして事前に録画を何本もストリーム開始しておくことがあったので
    • Chrome 以外からキャストできなくなっていた問題を修正
      • いつの間にかクリックイベントが動作しなくなっていた(なんでかは知らない)
    • ライブ配信時のコメントリストの最大表示数を 499 個から 500 個に変更
    • ファイル再生時、稀に自動再生に失敗する事がある問題を修正
      • タイミングによって変わるので直ってるか微妙だけど少なくとも失敗する確率は減ったはず
    • ファイル再生時、内容が空のコメントをコメントリストに表示しないようにした
    • ファイル再生時、コメントが存在しない場合にコメントリストのスクロールボタンをクリックすると無限ループしてフリーズする不具合を修正
      • 無限ループって怖くね?
    • Access-Control-Allow-Origin ヘッダの設定を変更
      • 全てのリソースが CORS 許可になってるのさすがにまずそう
    • socache_shmcb_module が読み込まれていなくても Apache を起動できるように修正
  • v2.3.0 - 2020/11/04

    • 不具合修正が多めです
    • ニコニコ実況のリニューアルに伴い、TVRemotePlus のニコニコ実況機能は 12 月末をもって利用できなくなります
      • 旧 API が廃止になるためで、NicoJK も同様に利用できなくなると思われます(事実上ニコ生に統合される模様)
      • ファイル再生時のコメントも今までの過去ログが取得できなくなるようであれば、同様に利用できなくなります
      • 新 API へも対応予定ですが、WebSocket が必須になるため実装難易度が上がるのでなんとも…
      • 今までの過去ログが消える、または今後過去ログを保存しなくなるとなれば大打撃で、実装方法を考え直す必要がありそうです(とてもつらい)
        • もし過去ログにアクセスできなくなるのであれば、私の方で全ての過去ログを取得して API 化するなどの対応も検討します
    • キャプチャした画像を複数ツイートできるようにした
      • 今回のアップデートのメインです
        • 我ながら結構よくできてるとおもいます
      • 以前は新しいキャプチャを撮ると古いものは削除されていましたが、この変更でキャプチャが 10 枚まで保存され、過去のキャプチャをキャプチャ画像リストで表示・選択して複数ツイートできるようになりました
      • キャプチャ画像リストはツイートボタン横のリストアイコン、もしくは Alt + Q で表示できます
      • キャプチャすると常に最新のキャプチャを自動選択し、ツイート本文を添えて投稿できます(以前からの挙動)
        キャプチャ画像リストを開き、過去のキャプチャを選択するとキャプチャの自動選択は解除されます
      • 選択された画像は黒っぽくなり、中央に選択された順番を示す数字が表示されます
      • 画像は 4 枚選択するとそれ以上は選択できなくなります(選択されていない画像が白っぽくなる)
        中央の数字の順番通りにツイートされるので、並べ替えたい場合は一度選択を解除してからもう一度選択してください
      • この変更に伴い、ツイートの残り文字数表示の位置など若干ツイート画面のレイアウトが変わっています
      • キーボード操作などの詳細な仕様は Twitter のスレッド にて解説しています、ぜひ一読しておいてください
    • L字画面を拡大してクロップできるようにした
      • 使用例: https://twitter.com/TVRemotePlus/status/1314974795323244544
      • 台風などでL字にやられた際に使えると思います
        • ただし、今のところツイート機能のキャプチャはクロップされません
      • 画面右上の︙メニュー → [L字画面のクロップ]から設定を行えます
        • 拡大起点に加え、X座標、Y座標も設定できます
        • 設定内容はリロード後も保持されます(クロップをやめたい場合は拡大率を 100% にもどしてください)
    • 番組表までスクロールしたときに動画を右上にフロート表示するようにした
      • 現在視聴中の番組を見ながら番組表に移動したりチャンネルを切り替えたりできるようになりました
      • 個人設定 → 機能 →[番組表へスクロールした時にプレイヤーをフローティング表示する]から有効にするかを設定できます
    • コメントリストのパフォーマンスを変更できるようにした
      • 半沢直樹などの極端にコメントが多い番組の場合、コメントを HTML に大量に挿入するため再生やコメント描画がかなり重くなることがありました
      • 軽量モードでは Clusterize.js を用いて現在表示中の要素のみを表示するようにしたため、大幅に軽くなっています
        • ただし、軽量モードの場合はコメントが常に一行表示になる(はみ出た文は … で省略)ほか、現時点では自動スクロールが利用できません
      • 個人設定 → コメント →[コメントリストのパフォーマンス]から標準モード・軽量モードいずれかを設定できます
    • ライブ配信時、半沢直樹など著しく実況コメントが多い場合にストリームがカクついてまともに見れない事がある問題を改善
      • 実況コメントの取得処理を Comet 化し、ニコニコ実況側で更新があるまでレスポンスを返すのを待って余計なリクエストが行われないようにしました
      • 今までは著しく実況コメントが多い場合に何度もコメントをリクエストしてしまい、ブラウザの同時接続数を食いつぶしてストリームを取得できない状態になる事がありましたが、これが大幅に改善されます
      • 渾身の出来だったんですが、旧 API が廃止が決まってしまったのですぐに使えなくなりそうです…
    • ファイル再生時のコメントリストへの表示ロジックを変更
      • 今まではプレイヤーとコメントリスト表示用で別々にコメントを取得していましたが、二重に取得していて非効率なためプレイヤー側で取得したコメントを引っ張ってくるように変更しました
    • Shift キーを押しながらキャプチャすると字幕を表示しているときでも字幕を入れずにキャプチャできるようにした
      • キーボードショートカットからも同様に利用できます(Alt + Shift + 1・Alt + Shift + 2)
      • 隠し機能化しそう…(ショートカット一覧画面がいっぱいで入り切らない)
    • Twitter にログインした時のコールバック先の URL にストリーム番号を反映するようにした
      • たとえば Stream 2 から Twitter にログインしたなら、Twitter のページから TVRemotePlus に返ってくる際に Stream 1(トップページ)ではなく Stream 2 に返ってくるようになります
    • 個人設定のカテゴリ分けを変更
      • 機能カテゴリからコメントカテゴリを分離しました
    • 不具合修正
      • リバースプロキシからのアクセスで環境設定の表示を有効にしている場合に右下の保存ボタンが表示されない不具合を修正
      • ファイル再生時、コメントスクロールボタンをクリックしてもスクロールしてくれないことがある不具合を修正
      • 個人設定の値に 0 を指定した場合に値が正しく反映されない問題を修正
        • PHP は 0 も '0' も false として判定してしまうらしい…🤔🤔🤔
      • リクエスト送信に失敗した時に何らかの形でエラーを表示するようにした
      • macOS 環境で Tab キー・スペースキーが変換候補の選択に使えないことがある不具合を修正
        • macOS 固有の IME 動作が原因だったようで、IME で変換中にキーボードショートカットを無効にすることで対応しました
      • macOS 環境で一部のショートカットキーが機能しない問題を修正
      • エンコーダーが ffmpeg の時にファイル再生に失敗する不具合を修正
        • 痛恨のコマンドミス… 不具合報告してくれた方ありがとうございました
      • BonDriver が用意されていない場合に環境設定が保存できない問題を修正
      • Twitter 未連携時にアカウント確認画面が正しく表示されない問題を修正
    • Apache を 2.4.46 に更新
      • 更新ついでに HTTP/2 に対応しました
      • HTTPS でアクセスした場合は HTTP/2 で通信されるので、多少読み込みが早くなるかも…?
    • QSVEncC を 4.08 に更新
    • NVEncC を 5.19 に更新
    • VCEEncC を 6.05 に更新
    • そのほか細かな修正
  • v2.2.0 - 2020/08/17

    • 不具合修正も含め4ヶ月分の大幅なアップデートとなっています(しんどい)
      • 設定ファイル自体への変更はありませんが、できれば新規インストールの方がよさそうです
      • 変更箇所が膨大なため、README など各ドキュメントが古い情報のままになっている場合があります
    • 局ロゴ表示に伴う変更
      • 局ロゴ表示用の新規 API (/api/logo) を追加したため、リバースプロキシで運用されている方はリバースプロキシ側の設定変更が必要になります
        • 他の API 同様に Apache の場合は Substitute 、nginx の場合は sub_filter で /api/logo の URL を置換するように設定します
          • 頻繁に変更になってしまい申し訳ないです…(把握しきれてない)
        • 詳しくは Reverse_Proxy.md を参照してください
      • 環境設定の[EDCB_Material_WebUI の API がある URL]が[EDCB_Material_WebUI のある URL]に変わりました
        • 今まで http://192.168.1.11:5510/api/ だったものが http://192.168.1.11:5510/ だけでよくなります
        • 互換性の観点から api/ が付いていた場合は除去するようにしていますが、できるだけ http://192.168.1.11:5510/ のように設定することを推奨します
        • TVRemoteViewer_VB から番組表を取得している場合はうまく動かなくなるかも…(未検証)
    • 局ロゴを表示できるようにした
      • 以前から複数要望をいただいていましたが、ようやく実装できました
      • 事前に TVTest で .bmp 形式の局ロゴを取得しておきましょう
        • 必ず TVTest の設定 →[EPG/番組情報]→[BMP形式のロゴを保存する]にチェックを入れてからロゴを取得してください
          • 取得した局ロゴは LogoData ファイルに保存されていますが、中身は特殊なバイナリになっているため読み取れません
          • 地デジは1チャンネルごとにしばらく放置していると取得できます(局ロゴの表示プラグインで確認しましょう)
          • BS・CS110 の局ロゴはチャンネルを BS1 に合わせたまま放置すると全てのチャンネルのロゴが取得できるらしいです
          • 全てのロゴを取得しきってしまっている(BMP形式のロゴは保存してない)場合は局ロゴを取得できないことがあるようです
            • 一旦 LogoData と LogoData.ini を削除かリネームして、最初からロゴ取得をやり直した方がいいかもしれません
        • TVTest 内の Logo フォルダに大量の局ロゴ (.bmp ファイル) が保存されていれば EMWUI (と TVRemotPlus) で局ロゴを使用できます
        • TVTest で .bmp 形式の局ロゴを取得できていない放送局はデフォルト画像が代わりに表示されます
      • EDCB_Material_WebUI (EMWUI) の局ロゴ表示機能を利用しているので、あらかじめ EMWUI で局ロゴを表示できる状態にしておく必要があります
        • EDCB と同じ階層に TVTest があり、かつ TVTest フォルダ内に 局ロゴ (.bmp ファイル) が入っている Logo フォルダ と LogoData.ini がある場合は自動で局ロゴが表示されるはずです
        • TVTest が EDCB と異なる階層にある場合は、EDCB\Setting\HttpPublic.ini に LOGO_INI=C:\DTV\TVTest\LogoData.ini LOGO_DIR=C:\DTV\TVTest\Logo のようにLogoData.ini と Logo フォルダへのパスを設定してください
        • 局ロゴが表示されないときは、まず EMWUI の[番組表]や[放送中]に局ロゴを表示することを目標にしてみてください
          • EMWUI で局ロゴを表示できれば TVRemotePlus でも表示できるはずです
        • 局ロゴを表示しない事もできます、[個人設定]→[番組表に局ロゴを表示]からオフにしてください
    • ファイル再生でコメントを遅らせる事ができるようにした
      • 録画時の設定で前後に数秒マージンを取って録画している場合、コメントの描画が早くなってタイミングがずれてしまう事があります
      • これは TVRemotePlus が番組自体の放送時刻を使ってコメントを取得しているためです
        • 例えば途中から録画した場合はかなりコメントがズレてしまいますが、これも仕様です
      • 例えば前後5秒録画マージンを取っている場合は、[個人設定]→[コメントの遅延時間(ファイル再生・秒)]を 5 に設定すると、コメントがぴったりのタイミングで表示されるはずです
    • TVRemotePlus-Launcher を追加し、Web サーバー (Apache) をバックグラウンドで起動できるようにした
      • 今までは TVRemotePlus を起動している間 Apache がタスクバーに表示されたままになってしまっていましたが、タスクトレイに格納された TVRemotePlus-Launcher からバックグラウンドで Apache を起動するようにしたことで解消されます
        • TVRemotePlus-Launcher のソースコードは TVRemotePlus-Launcher においてあります
          • C# と WPF は初めてなので作りが甘い部分があるかもですがご愛嬌…
          • ブランチ扱いにしていましたが、わかりづらそうなので別のリポジトリに分けました
      • TVRemotePlus-Launcher(青緑のアイコン・TVRemotePlus.exe)を起動するとタスクトレイに表示され、Apache はバックグラウンドで起動されます
        • タスクトレイのアイコンを右クリック →[サーバー (Apache) の設定]から、サーバーの設定内容や Apache の起動ログを確認できます
        • Apache が起動できなかったり異常終了した場合はエラーダイヤログが表示されるので、ログの内容を確認してください
      • 今までの方法でも Apache を起動することはできますが、常に Apache がタスクバーに表示されます
      • 実行には .NET Framework 4.8 以降が必要です、もし PC にインストールされていない場合は適宜インストールしてから実行してください
      • 詳しくは README-Launcher.md を参照してください
    • TSTask の制御周りの変更
      • TSTaskCentreEx を追加した
        • TSTaskCentreEx は、TSTask にメッセージコマンドを送信できるコマンドラインツールです
          • RecTaskCentreEx をフォークし、TSTask にもコマンドを送れるようにするなどの様々な改良を行っています
        • TVRemotePlus から TSTaskCentreEx を実行することで、TSTask に様々なコマンドを送信できるようになります
      • TSTask を TSTaskCentreEx から EndTask コマンドを送信して終了するように変更した
        • 今までは taskkill コマンドで(無理やり)終了させていましたが、一部の BonDriver ではうまく終了できないことがありました
        • EndTask コマンドを送信して終了するようにしたことで、どんな BonDriver でも確実に終了できるようになるはずです
      • チャンネル切り替えを TSTask にコマンドを送信して行うようにした
        • これにより、以前からの課題だったチャンネル切り替えが遅い問題が大幅に改善され、同じ BonDriver でのチャンネル切り替えなら最短で4~5秒、別の BonDriver でも5~8秒程度に短縮されます
        • 今まではチャンネル切り替えごとに TSTask を終了してもう一度起動させていましたが、チューナーの再オープンやチャンネルのセットなどで TSTask の起動に時間が掛かることがボトルネックになっていました
        • チャンネル切り替えを TSTaskCentreEx からコマンドを送信して行うことで、TSTask を終了させることなく起動中の TSTask を再利用しチャンネルを切り替えられるようになりました
        • 地デジから BS・CS に切り替える(またはその逆)場合は BonDriver をオープンし直すため同じ BonDriver の時ほど早くはなりませんが、それでももう一度起動する時間が省けたことで数秒短縮されてるみたいです
    • 一部のショートカットキーを変更した
      • 今まで S キーだった[ストリームの同期]は L キーに変更になりました
      • また、[字幕の表示/非表示を切り替える]が S キー、[コメントの表示/非表示を切り替える]が D キーに変更になっています
    • 幽霊化していたフォルダを削除
      • Git が大文字と小文字を区別する一方 Windows では区別しないので齟齬があったことが原因
    • ストリームを開始する際に既存のログがあれば削除するようにした
      • あまり意味なさそう
      • tstask.1.log になるのをどうにかしたかったが無理そうなので諦めた
    • スマホからアクセスしたときのモーダルデザインを変更した
      • 今までは PC と同様で幅だけ狭くしたようなデザインでしたが、どこか窮屈な印象を与えてしまっていました
      • これを最近流行り?のモーダルが画面下部から出てくるようなデザインに変更し、より使いやすく、アプリらしい UI に変更してみました
      • 機能への変更はありません
    • ライブ配信の場合にコメントが重複して描画されることがある問題を修正
      • ずいぶん前からの懸案事項でしたが、付け焼き刃ではあるものの一応解決できました
      • あまりデバッグできていないので、なにか不具合があれば言ってください
    • ツイート投稿周りの不具合を修正
    • iOS 環境で Progressive 画質が選択できない問題を修正
      • ようやく修正できました
    • ファイル再生で「もっと見る」をクリック or タップした際に全ての番組が表示される不具合を修正
      • リストに表示する件数を指定できるようにしてからのエラーだったらしい(int のはずが str になってた)
    • iPhone5s サイズの端末で発生するスタイル崩れを修正
      • モーダルが画面が小さすぎて収まりきらない場合があるので、適宜スクロールさせるようにしてみました
      • また、サイドメニューのうち下に隠れた部分がスクロールできない問題を修正しました
    • 番組表内各局の次の番組の長さが現在放送中の番組のものと同じになる不具合を修正
      • 番組表機能を実装したときからの不具合だったみたいです…
      • 全く気づきませんでした、報告ありがとうございました
    • 初回アクセス時にコメントリストと Twitter 投稿フォームが表示されない問題を修正
      • 作りが甘かった…
    • 上固定・下固定のコメントが巻き戻してもう一度再生するとスクロールコメントになってしまう不具合を修正
      • 最初に表示した時は指定通り上固定 or 下固定で表示されますが、巻き戻してもう一度再生するなど、コメントが再度表示されると全てスクロールコメントになってしまっていました
    • リバースプロキシの URL の末尾にスラッシュがついていない場合にリバースプロキシ機能がうまく動作しない問題を修正
      • Twitter で教えていただきました、ありがとうございました
    • 使う見込みのない php-ffi を削除
    • ファイル再生時に日付が表示されなくなっていた問題を修正
    • プレイヤーのコメント入力欄で「?」を入力するとショートカット一覧が表示されてしまうのを改善した
      • Mac のみの現象だったので気づかなかった…
    • キャストの初期化に失敗することがある問題を修正
    • プレイヤー (DPlayer) を v1.26.0 に更新
      • 1年半ぶりのリリースみたいです
      • まれにプレイヤーが再生と停止を繰り返す状態になるなどの数多くの不具合が修正されています
      • また、AirPlay のサポートが追加されているようです(環境がないので使えるかは不明)
    • ffmpeg を 4.1.6 に更新
      • ffmpeg の 4.2 系以降は ARIB 字幕をエンコード後の TS に含められないため更新していませんでしたが、4.1 系の更新が出ていたので 4.1.4 → 4.1.6 に更新しました
    • QSVEncC を 4.07 に更新
      • 3.28 からサポート終了につき Windows7 環境で動かなくなってしまっていたので保留にしていましたが、4.03 で確認したら Windows7 でも動くことを確認したので更新しました
      • もしお使いの Windows7 環境で動かない場合は 3.28 で上書きしてみてください
        • QSVEncC 3.28 は動作環境で Windows7 がサポートされている最後のバージョンです
        • QSVEncC64.exe が QSVEncC-tvrp.exe にリネームされてるので注意
    • NVEncC を 5.14 に更新
      • NVEncC もいつのまにか Windows7 のサポートが切られていましたがこちらの環境では動くことを確認したので更新しました
    • VCEEncC を 6.02 に更新
      • Radeon の 5000 シリーズでインターレース解除を行う場合は 6.02 でないと動かないらしいので、同梱分はアップデートすることにしました
      • Windows7 で Radeon GPU が動く環境がないのでなんとも言えませんが、もしお使いの Windows7 環境で動かない場合は 5.01 で上書きしてみてください
        • VCEEncC 5.01 は動作環境で Windows7 がサポートされている最後のバージョンです
        • VCEEncC64.exe が VCEEncC-tvrp.exe にリネームされてるので注意
    • jQuery を 3.5.1 に更新
    • FontAwesome を 5.13.0 に更新
    • そのほか細かな修正
  • v2.1.2 - 2020/04/15

    • 前回のアップデートで確認された不具合の修正などです
    • 前のリリースノートでも書きましたが、このバージョンに致命的な不具合がない限りしばらく更新しないと思います
    • TSTask の起動時に TSTaskCentre も起動できるようにした
      • 環境設定から変更できます
      • ライブ配信がいつまで経っても開始できないときとかに見てみてください(ほぼほぼデバッグ用…)
    • キーボードショートカットを追加した
      • 字幕の表示 / 非表示を切り替えるには J キー、コメントの表示 / 非表示を切り替えるには K キーを押してください
      • ついでにキーボードショートカットキー一覧も ? キーで表示できるようにしました
    • 新規インストール時にインストーラーから EDCB Material WebUI の API がある URL を設定できるようにした
      • 事実上必須の設定にもかかわらずインストール時に設定させないのは不親切な気がしたので…
    • EDCB Material WebUI の API がある URL に自己署名証明書が指定されている HTTPS URL を指定できるようにした
      • EDCB Mateial WebUI を自己署名証明書で HTTPS 化してる環境向けです
      • いままでは証明書が不正ですブッブーとエラーが出ていましたが、それを抑制するようにしました
    • 一部の環境で Apache が起動できない問題を修正
      • PHP がロードする dll が httpd.exe と同じフォルダになくて読み込めていなかったのが原因らしい
    • 2つ以上 TVRemotePlus 組み込みの Apache を起動するとどちらかが落ちる不具合を修正
      • OPCache を有効化したはいいものの、Windows では2つ OPCache でキャッシュしたファイルをメモリ上に置くことができないらしい
      • メモリの確保に失敗した場合はファイルキャッシュにフォールバックするよう設定することで解消した
        • キャッシュは C:/Windows/Temp 以下に保存されるため、システムの起動ドライブが C: ドライブ以外だとうまくいかないかもしれません
          その場合は (TVRemotePlus)/bin/PHP/php.ini 内の opcache.file_cache を適宜変更してください
    • 一部ファイル・フォルダの大文字化を反映した
      • ローカルの開発環境では twitteroauth → TwitterOAuth などのように変更していたのですが、Git のデフォルトではファイル・フォルダ名の大文字と小文字を区別しないらしく、小文字のままになっていました
      • git config core.ignorecase false で解決
    • インストーラーの不具合を改善した
      • 新規インストール時に php.ini の extension_dir( PHP の拡張機能があるパス)を絶対パスに書き換えるようにした
        • 今までは httpd.exe からの相対パスを指定していましたが、httpd.exe を起動した際の作業フォルダが異なっているなど、拡張機能を読み込めない場合がありました
        • インストール時に絶対パスに書き換えておくことで、これらの問題を解消できます
      • 設定の引き継ぎ時に以前のバージョンにない変数があると空白が設定されてしまう問題を修正
    • TVRemotePlus-CommandLine が動かなくなっていた問題を修正
      • コマンドラインからストリームの開始・終了ができる(隠し)機能ですが、最近の機能追加で使えない状態になっていました
      • ライブ配信だけでなくファイル再生もコマンドラインから行えるようにしてみましたが、番組情報が取得できないことに気づいたのと必要性を感じなかったのでやめました
        • 要望があればまた実装します(ないと思いますが)
    • ツイート投稿周りの細かな修正
    • NVEncC を 4.69 に更新した
    • スタイルの調整
    • 細かい不具合の修正
  • v2.1.1 - 2020/04/07

    • 既知の問題
      • 録画番組リストの再構築を行わない限りリロードする度にリスト更新が発生することがある(原因不明)
      • 違うフォルダの同じファイル名の動画が存在する場合、同じ番組情報になってしまい同じ番組が2つ録れているように見えてしまう(実態は別)
      • その他挙動不審な点がいろいろ…
      • これらは全て録画番組リストを json にて無理やり管理していることが原因のため、SQLite で録画番組リストをデータベースで管理するよう、リスト更新処理を大幅に作り変えることを検討しています
      • 次のバージョンでデータベース化できればと思っていますが、しばらく多忙になる事が予想されるため暫く新規の要望は反映できないと思います
        • 録画番組リストのデータベース化を最優先で実装します
      • また、将来的に launch.exe から TVRemotePlus を起動するようにし、タスクバーに格納して Apache を launch.exe から呼び出すような形にすることを検討しています
        • コンソールウインドウの非表示化もそれの準備工事で、launch.exe から書き出されたログを閲覧できるようにしようかとも考えていますが、暫く先になりそうです
      • 5ch などでいただいた不具合報告・要望のうち、比較的実装コストが低いものは実装したはずです…
        • 他にも未実装の要望がいくつかありますが(もしくは忘れているかもしれない)、実装はしばらく先になると思います…
        • 他にも色々やり途中の残務が残っているので消化しないと回らなくなりそう…
    • 一度に表示する録画番組の件数を指定できるようにした
      • 個人設定より変更できます
      • デフォルトは 30(件)です
    • PHP を 7.4.4 に更新した
    • OPCache( PHP の拡張機能)を有効化した
      • PHP の更新時に拡張機能を整理したときのついで
      • PHP コードをコンパイルした上で一時的にメモリにキャッシュするもので、高速化が期待できます
      • そこまで効果はないかも…?(副作用はないので有効にするだけしておく)
    • エンコード画質の底上げ
      • 全体的にビットレートを上げてみました
      • ファイルサイズの増加はあまりないため、再生への影響はありません
    • エンコーダーのコンソールウインドウの表示・非表示を切り替えられるようにした
      • 今までは常にエンコーダーがタスクバーに表示され、クリックするとコンソールウインドウが表示される状態でしたが、今回のアップデートからはデフォルトで表示されなくなります
        • タスクバーにもデスクトップにもエンコーダーは表示されませんが、タスクマネージャーから見るとエンコーダーと TSTask(ライブ配信のみ)が起動している事が確認できます
      • また、同時にデフォルトで logs フォルダ以下にエンコーダーのログを書き出すようになります
      • エンコーダーのログはストリームの開始ごとに常に上書きされます
        • 取っておきたいログはコピーするなどして控えるようにしてください
      • タスクバーに毎回コマンドプロンプトが表示されるのが鬱陶しい、という意見をいただいていましたが、この更新にて解消されます
      • 今までの挙動に戻したい場合は、[エンコーダーのログをファイルに書き出す]をオフにした上で[エンコーダーのウインドウを表示する]をオンに設定してください
    • コマンド実行周りの処理の改善
      • 非同期実行を行う場合に popen() ではなく proc_open() を使うようにしました
      • proc_open() の方がより細かいオプションを指定できるほか、出力先を指定できるため汎用的です
    • 拡張子が MP4・MKV の場合にエンコードオプションに dual_mono_mode をつけないようにした
      • TS ファイル向けのオプションで MP4・MKV には効果がない上、音声コーデックに AAC 以外が使われている場合はエンコードに失敗するためです
    • キャスト周りの改善
      • 前回のバージョンから Chrome 以外向けのキャスト機能が正常に動作していなかった問題を修正しました
      • デフォルトの音量を調整しました
    • ニコニコ実況がないチャンネルの録画を再生すると「コメントの読み込みに失敗しました…」と出る問題を修正
      • ついでに ch_sid.txt を ch_sid.tsv に変更しました
      • ch_sid.tsv に定義されていてかつ実況 ch の値が -1 のチャンネルはエラーを出さないようにしました
    • サブチャンネルを非表示にしている状態でサブチャンネルを視聴しようとすると番組情報が全て取得できなくなる問題を修正
      • 構造的な問題なのでサブチャンネル非表示時の現在視聴中のサブチャンネルの番組情報の表示は諦め、代替テキストを表示するようにし、エラー抑制を行うようにしました
      • サブチャンネルを番組表に表示している状態であれば現在視聴中のサブチャンネルの番組情報も表示できるほか、サブチャンネル非表示時でも番組表は正常に表示できるよう修正しました
    • 全画面時にプレイヤーのコントローラーが消えない問題を修正
      • カーソルを動かさずに3秒経過すると自動でコントローラーが隠れます
      • カーソルを動かすとコントローラーがまた表示されます
    • 一部のチャンネル設定ファイルが正しく読み込めない不具合を修正
    • Ctrl + C が実行できない問題を修正
    • 一部の番組表の記号が修飾されていない問題を修正
    • アイコンの色が暗めだったのを修正
    • 一部スタイルが崩れることがある問題を修正
    • その他細かな修正・改善
  • v2.1.0 - 2020/03/22

    • バグフィックスがメインです
    • 全体的にコードを見直したり整理したり細かい部分の修正が多いです
    • フォルダ構造が変わっているため、上書きインストールだと不具合が発生する可能性があります
      • 別のフォルダに新規インストールすることをおすすめします(毎度互換性無視の新規インストールですみません…)
    • また、Twitter 投稿機能を使っている場合で、アップロード先のフォルダを upload/ に設定している場合は投稿に失敗します
      • アップロード先のフォルダを空に設定すると、(TVRemotePlus)/data/upload/ に保存します
    • アップデートモードでインストールする際に、設定ファイルを自動で更新し、設定内容を引き継げるようにした
      • 設定ファイルに変更があった際、毎回新規インストールする必要が(おそらく)なくなります
      • ただし、前述の通り、v2.0.0 以前から v2.1.0 へのアップデートではフォルダ構造が変わっているためアップデートモードでのインストールはおすすめしません
        • 動くには動きますが、使われないファイルが残ってゴチャゴチャする上に予期せぬ不具合を生む可能性があります
        • 実際に使えるのは v2.1.0 → (次のリリース) の時になるでしょうか
      • 古い設定ファイル内を読み込み、新しくコピーした設定ファイルを古い設定ファイルの設定内容で書き換えるような実装になっているため、うまくいかないことがあるかもしれません
    • launch.bat を同梱するようにした
      • ダブルクリックすると Apache が起動します
      • デスクトップのショートカットからしか公に Apache を起動する手段がないのはマズいと思ったので…
        • 処理は (TVRemotePlus)/bin/Apache/bin/httpd.exe を start コマンドで起動しているだけです
        • デスクトップのショートカットを消してしまった場合は httpd.exe へのショートカットをデスクトップに持ってきてあげてください
    • サブチャンネルに対応し、番組表にサブチャンネルを表示できるようにした
      • サブチャンネルは例えば TOKYO MX2 (091)・NHKEテレ3 (023) など、同じ局に複数のチャンネルがある場合の、メインではない方のチャンネルのことです
      • 常時マルチチャンネルの TOKYO MX2 などを除き、サブチャンネルでの放送がない場合はメインチャンネルと同じものが流れます
      • 個人設定 → [サブチャンネル]をオンにするか、右上の︙メニュー →[サブチャンネルを表示]をクリック or タップすると、サブチャンネルが番組表に表示されます
      • 個人設定 → [サブチャンネル]をオフにするか、右上の︙メニュー →[サブチャンネルを隠す]をクリック or タップすると、メインチャンネルのみ番組表に表示します
      • サブチャンネルも他のチャンネルと同様にストリームを開始できます
        • 前述の通り、サブチャンネルの放送が行われていない場合はメインチャンネルと同じ内容になります
        • ニコニコ実況はサブチャンネルごとに別れていないため、メインチャンネルと同じものが流れます
        • 半ば無理やり対応させているため、不具合があるかもしれません
    • サブチャンネル対応の関係で、チャンネル番号の表示を Ch: 01 から Ch: 011 のように変更した
      • 一般的なテレビと同様のチャンネル番号になっているはずです
      • また、リモコン番号が重複するチャンネルの場合は、Ch: 011-1 のように表示されるように変更しました
    • 録画番組のリスト表示に対応した
      • 通常表示よりもサムネイルが小さくなり、一度に多くの番組を表示できるようになります
      • 要望を受けての実装ですが、割といいかもしれません
      • 個人設定 → [録画番組のリスト表示]をオンにするか、右上の︙メニュー →[リスト表示に切り替え]をクリック or タップすると、録画番組が細長いリストで表示されます
      • 個人設定 → [録画番組のリスト表示]をオフにするか、右上の︙メニュー →[通常表示に切り替え]をクリック or タップすると、録画番組が通常通り(今まで通り)表示されます
    • ファイル再生時に右側のコメント欄を再生時間に合わせてスクロールするようにした
      • ライブ配信時にスクロールしていたものをファイル再生時でもできるようにしてみました
    • ライブ配信時のコメント欄のスクロールを滑らかにした
      • 滑らかにはしてみましたが、時間が経つとだんだん滑らかではなくなってきます(いまのところ原因不明・適宜リロードしてください)
    • スマホ・タブレットの場合にプレイヤーに10秒早送り・巻き戻しできるボタンを表示するようにした
      • 続けてタップすることで10の倍数分早送り・巻き戻しできます(アプリ版 YouTube の実装をちょっと真似た)
      • ショートカットキーが使えない上シークバーで再生時間を操作しなければならないなど、操作性に難があった操作が大幅に改善されます
    • 録画番組の検索で大文字と小文字を区別しないようにした
      • RegExp に i オプション入れただけ…
    • 番組名内のマーク( [字] など)の修飾処理を改善した
      • 今まではただ単に大かっこで囲われてる文字をマークとして修飾していたのですが、マークでない文字列まで修飾されてしまうことがあったため、 EDCB の ARIB8CharDecode.h を参考に定義されているもののみ修飾するようにしました
    • ch2 に CS110 が存在しない場合に CS タブに BS のチャンネルが表示されてしまう不具合を修正
      • 手抜き実装が裏目に出た
    • Apache のログを完全に出力しないようにした
      • Apache はログを勝手に消してくれないので放置してると数 GB になることが…(それが原因で動作がおかしくなったことがあったので…)
    • ページ遷移時にcoverをかけるようにした
      • SPA ではありませんが、体感的に素早く遷移しているように見せるための実装です
    • 設定項目の PWA・HTTPS を一番下に配置するようにした
      • 使用頻度が高いわけでもないのに上にあるのは邪魔なので(特にスマホ)…
    • MP4・MKV を再生する場合にチェックボックスで不正な値を設定できないようにした
      • 今までは画質は Progressive・エンコーダーは ffmpeg みたいな不正な値を入力できてしまい不具合が多発していました
      • 正直もう jQuery 地獄でつらい
      • 5ch でも指摘があったので…
    • ディレクトリ(フォルダ)構造を変更・整理した
      • TVRemotePlus の内部ファイル・ライブラリは基本的に modules フォルダに入れるようにしました
      • twitteroauth も modules フォルダに移動になっています
    • Twitter 投稿時のデフォルトのアップロードフォルダを変更した
      • 前述しましたが、upload/ に設定している場合は今回のバージョンから空に設定してください(自動で (TVRemotePlus)/data/upload/ に保存します)
    • ハッシュタグ付きツイートのタイムスタンプを Cookie に記録するようにした
      • 複数のユーザーがログインしている場合に色々問題があるな…と思ったので…
      • tweet_time.txt は廃止となります
    • ストリーム管理周りの処理の改善
      • v2.0.0 で実装が甘かった部分を中心に実装しています
    • アイコンを改善した
      • アイコンの角丸を iOS に準じたものにしました
    • インストール後に PHP のエラーが出る不具合を修正
    • インストーラーにダブルクオートを含む文字列を入力するとエラーになる不具合を修正
    • ストリーム終了ボタンで ffmpeg が終了できない不具合を修正
      • ffmpeg のコマンドに , が含まれていて CSV がうまくパースできていなかったのが原因でした
    • スマホでスクロールすると勝手にBS・CSタブから地デジタブに戻ってしまう不具合を修正
      • 何回も修正してる気がする…。。
    • スタイルの修正
    • その他細かな修正・調整
  • v2.0.0 - 2020/02/18

    • 待ちに待った(?)v2.0.0 です
    • 年末年始を溶かしましたが全く終わらなかった上に前回のリリースから2ヶ月以上開いてしまった…
    • 機能追加・不具合修正盛りだくさんのメジャーバージョンアップになっています
      • 設定ファイルをバックアップした上で、上書きで新規インストールしてください
        • 設定ファイルに新しい項目が追加されているため、単純なアップデートではエラーになります
        • インストーラー側で設定ファイルの引き継ぎ機能を追加したいところですが、そこまで余裕がありませんでした…
      • インストールした後、ブラウザのキャッシュを削除してから開くようにしてください
        • CSS や JavaScript のキャッシュが残っていると正常に動かないことがあります
      • 一部の URL を変更したため、リバースプロキシで運用されている方はリバースプロキシ側の設定変更が必要になります
    • 他に年度末までに終わらせないといけない事がいろいろ残っているため、いくつかの機能追加や修正が次回バージョン以降の実装に繰り越しになっています
    • メジャーバージョンアップのためいろいろ不具合を抱えていることが予想されます、不具合があれば報告していただけると助かります
    • ストリームの複数同時配信に対応した
      • 元々単一ストリーム前提で作っていたためほぼ全てのコードを修正する羽目に…
      • これにより、ライブ配信を同時配信して2つのチャンネルを行き来したり、時間のかかる録画ファイルのエンコードをライブ配信を見ている間に行わせておく、といったことができるほか、
        録画ファイルを途中まで見てたけどリアタイしたい番組が近づいてきたので泣く泣くライブ配信でストリームを上書きする、のようなことがなくなります
      • サイドメニューの[ストリーム終了]ボタンを[このストリームを終了]と[全てのストリームを終了]ボタンに変更した
        • 今視聴しているストリームを終了するには[このストリームを終了]ボタンを、
          今視聴しているストリームも含め全てのストリームを終了したい場合は[全てのストリームを終了]ボタンをそれぞれクリック or タップしてください
      • ストリーム開始設定からどのストリームでストリームを開始するか選択できるようにした
        • セレクトボックスより配信したいストリーム番号を選択し、ストリームを開始してください
        • 何も指定がない場合、ライブ配信の場合は現在視聴しているストリームで、ファイル再生の場合は空いているストリームでそれぞれストリームを開始します
        • デフォルトは Stream 1・2・3・4 の4ストリームが用意されており、4ストリーム全て使い切っているときのみ Stream 5 以降が利用可能になります
          • もし5ストリームを全て使い切っている場合は Stream 6 が、同様に6ストリームを全て使い切っている場合は Stream 7 が、それぞれ利用可能になります
      • 番組情報欄の下にストリーム一覧(タスク)を表示するようにした
        • それぞれのストリームをクリック or タップすると、そのストリームの視聴画面に遷移します
        • 赤いストリーム終了ボタンをクリック or タップすると、そのストリームのみストリーム終了することができます
        • ストリームが Offline になった場合は、自動でストリーム一覧から消去されます
          • Stream 1 のみ、状態にかかわらず常にストリーム一覧に表示されます
          • 逆を言えば、Stream 1 以外のストリームは Offline のときはストリーム一覧に表示されません
            • ストリーム数に上限はないため、Stream 1 以外の Offline 表示を許容してしまうとストリーム一覧が Offline であふれてしまうためです
        • ちなみに、ストリームの状態はすべて同期されるため、例えば Stream 1 でストリームを開始した場合、Stream 1 を見ているすべての端末のストリームが自動で切り替わります
      • 現在視聴中のストリーム / メインストリームをデフォルトのストリームにする設定を追加した
        • 新規インストール時はデフォルトでオンになっています
        • この設定をオンにすると、現在視聴中のストリーム(ライブ配信時)/ メインストリーム(ファイル再生時)をファイル再生を開始するときのデフォルトのストリームにします(同時配信機能が追加される前の動作に近い)
        • この設定をオフにすると、ストリーム開始時に空いている( Offline の)ストリームをデフォルトのストリームとして選択し、配信中のストリームを選択しないようにします
        • 個人設定の[デフォルト設定を使い1クリックでストリームを開始する]をオンにしている場合は、自動でデフォルトに設定されているストリームでライブ配信を開始します
        • あくまでデフォルトのストリームなので、上記の設定をオンにしていない場合はセレクトボックスからストリームを変更できます
    • ダークモードに対応した
      • 個人設定 →[ダークモード]をオンにするとダークモードになります
      • シックな感じでかなり良いと思います(私は常にダークモードで利用しています)
      • 今のところ、実装の都合で OS がダークモードの場合でも自動では切り替わりません
      • 配色は Twitter のダークブルーをかなり参考にしました
      • これにともない、スタイルシートを改修しました
      • また、スクロールバーが細くなっています( Firefox を除く)
    • 設定ページの URL を /setting/ から /settings/ に変更した
      • これにともない、リバースプロキシで運用されている方はリバースプロキシ側の設定変更が必要になります
      • この他、一部のファイルのファイル名が変更になっています
    • ファイル再生ページの[リストをリセット]ボタンを[リストをリセット]ボタンと[再生履歴をリセット]ボタンに分割した
      • 録画ファイルリストの挙動がおかしくなった(番組情報がずれている、毎回リスト更新が行われる)場合、リストをリセットしリストを再作成することになりますが、
        その際に再生履歴も一緒に削除されてしまうため、再生履歴のリセット機能を[再生履歴をリセット]に分割し、[リストをリセット]時には再生履歴が削除されないようにしました
    • 番組情報がファイル内に存在しない場合( MP4 ファイルなど)に .ts.program.txt から番組情報を取得できるようにした
      • 今まで TS ファイルの番組情報は rplsinfo で TS ファイルから取得していたのですが、エンコード後の MP4 ファイルには録画情報が含まれていません
      • そこで、EDCB で録画した場合に(設定していれば)書き出される番組情報ファイル(.ts.program.txt)があれば、それから番組情報を取得するようにしました
      • [番組情報ファイルのあるフォルダ]を指定した場合は、指定したフォルダ内にあるか検索します
      • [番組情報ファイルのあるフォルダ]を指定しない場合は、録画ファイルと同じ拡張子なしファイル名.ts.program.txt があるか検索します
    • エンコード時のログを書き出せるようにした
      • 詳細設定の[エンコード時のログをファイルに書き出す]をオンにすると、(TVRemotePlusをインストールしたフォルダ)/data/stream(ストリーム番号).log に書き出されます
      • エンコード途中で落ちる場合にエラーを確認してみてください
    • VCEEncC でインターレース解除ができるようにした
      • アップデートでインターレース解除が利用できるようになったので、インターレース解除オプションを追加してみました
      • テストできる環境がないので、うまく動かない場合は報告頂けると助かります
    • 画質設定に 144p (256×144) を追加した
      • 200kbps くらいの低速モードでも視聴できるはずです
      • 映像は荒いですが、音声は 128kbps・48000kHz に設定してあるのでラジオのように使うのもありかもしれません
    • ケーブルテレビなど TransModulation 環境で番組表を地デジ・BS・CS に正しく分けられるようにした
      • いただいた J:COM 用のチャンネル設定ファイルに合わせているので、他のケーブルテレビだと動かないかもしれません
      • 報告いただけると助かります
    • ファイル再生時に、ライブ配信同様再生時間に合わせてコメントリストを自動でスクロールするようにした
      • 手動でコメントリストをスクロールすると自動スクロールがオフになり、ライブ配信同様に青緑の矢印ボタンが表示されます
      • 表示されたボタンをクリック or タップすると再び自動スクロールされるようになります
    • スマホ・タブレットでのプレイヤーの UI を改善した
      • フォーク元の DPlayer に更新が来ていたので、それを元に使いやすくなるよう改良を加えました
      • 今までは PC 版とほぼ同じような UI だったのですが、再生 / 停止ボタンを中央に設置しました
      • 再生 / 停止ボタンの位置変更により、アイコンのサイズが大きくなりました
      • 3秒間プレイヤーに何もタップしなかった場合、自動でボタンを非表示にするようにしました
    • プレイヤーの倍速設定にに 0.25 倍・1.75 倍を追加した
    • キーボードショートカット(ホットキー)を追加した
      • F キー … 全画面のオン/オフを切り替える
      • W キー … ブラウザ全画面のオン/オフを切り替える
      • P キー … ピクチャーインピクチャーのオン/オフを切り替える(ブラウザが対応している場合のみ)
      • S キー … ストリームを同期する(ライブ配信時のみ)
      • C キー … コメント入力フォームを表示・フォーカスする
      • Tab キー … ツイート入力フォームにフォーカスする/フォーカスを外す
        • ツイート入力フォームにフォーカスしているときは Tab キー以外のキーボードショートカットが効きません
        • 英字キーのキーボードショートカットを使う場合、一旦 Tab キーを押してツイート入力フォームへのフォーカスを解除してください
    • キーボードショートカット一覧を表示できるようにした
      • 右上のメニューから「ショートカット一覧」をクリックすると表示できます
    • 環境設定の保存ボタンを下にスクロールしたときも表示するようにした
      • 保存するときにいちいち上に戻る必要があるのがちょっと面倒でしたが、解消されます
      • 環境設定を下にスクロールすると上に戻るボタンの隣に表示されます
    • Basic 認証の対象から favicon(アイコン)を除外するようにした
    • 英字フォントを Open Sans に変更
    • インストーラー周りの不具合を修正
      • PHP が既にインストールされている場合にインストーラーの実行に失敗することがある不具合を修正しました
      • インストーラーのあるドライブとインストール先のドライブが異なる場合に証明書の生成に失敗する不具合を修正しました
      • 自己署名証明書の生成コマンドを変更しました
    • 空白を含むパスにインストールすると正常に動作しない不具合を修正した
      • インストーラーが実行できないのもそうですが、多くの問題はコマンドを実行する部分で発生していました(ダブルクオートで囲んでなかったのが原因…)
      • ただ、start コマンドではダブルクオートで囲むとエラーになることがあるので、仕方なく TSTask は cmd.exe を介して実行するようにしました
        • この関係で、ライブ配信を開始すると黒いウインドウが2つ出るようになります
        • プロセス起動用の exe を作りタスクトレイに格納できるようにすることを検討していますが、いつになるかは不明…
    • 拡張子が .MTS・.M2T・.M2TS の TS ファイルが再生できない問題を修正
      • テストはしていないので、もしうまく行かないようであれば報告頂けると助かります
    • リバースプロキシ周りの処理を改善
      • リバースプロキシからのアクセスかどうかは HTTP ヘッダに X-FORWARDED-HOST があるかどうかで判定しています
      • このため、X-FORWARDED-HOST ヘッダが送信されないリバースプロキシの場合はリバースプロキシからのアクセスかどうかを判定できません
    • リバースプロキシからのアクセス時に Chrome で JavaScript 経由でキャストができない事がある問題を修正
      • 数ヶ月間悩みの種だったけど $(function 内でイベントを定義していたため発火していなかっただけだったという…
    • キャスト機能周りのコードの整理
    • サイドメニュー表示中にスクロールできないようにした (タッチデバイスのみ)
      • スクロールしてしまうと URL バーの出入りで要素が途切れるなど何かと不都合なためです
    • リスト更新処理周りの不具合の修正とコードの整理
    • iPhone で一部のスタイルが崩れる問題を修正
    • iPhone でプレイヤーが上部に固定できない不具合を修正
    • 1コメが存在しないときにニコニコ実況のコメントの取得に失敗する不具合を修正
    • 再生画面のサイズを表示領域いっぱいに拡大する処理の軽量化と不具合の修正
      • 計算上ぴったり合うはずなのに微妙にずれてしまい、結局横幅を現在の横幅+(ずれ幅*2.1)に設定することで妥協しました
    • ウインドウがリサイズされたときにチャンネルリストの表示位置がおかしくなる不具合を修正
    • 細かなスタイルの修正
    • QSVEncC を 3.28 に更新
      • QSVEncC 3.29 から Windows7・8.1 に非対応になってしまったため、これが最後のアップデートになると思います
      • 動かないか試してみましたが、エンコード開始直後に落ちてしまいました
    • NVEncC を 4.64 に更新
    • VCEEncC を 5.01 に更新
    • rplsinfo を 1.5.1 に更新
    • この他多数の軽微な修正・調整など
  • v1.4.2 - 2019/12/03

    • 今回も不具合修正のみです…
    • v1.3.0 以前からアップデートモードでインストールした場合、インストールに失敗します… (Apache が起動しません)
      • Apacheを更新した関係でApacheの設定ファイルも結構変わってしまっているので、config.php のバックアップを取った上で新規インストールモードでインストールしてください
      • 設定をやり直すだけなので、一度フォルダを削除してからインストールする必要はありません
      • config.php を一旦リネームするなどして上書きされないよう退避し、新規インストール後、適宜以前の config.php の設定内容を新しい config.php に移し替えてください
        • 面倒なことになってしまいすみません… 設定ファイルをいい感じに更新する方法があればいいのですが
    • インストールに失敗し、Apache がエラーで起動しない問題を修正
      • 何度もすみません…
      • Apache の更新時のインストーラーの対応がちぐはぐになっていたみたいです…
    • インストーラーの録画ファイルのあるフォルダの指定時にフォルダが実際にあるかどうか確認するようにした
      • インストーラーの不具合修正のついでです
    • タブの表示位置がおかしくなる事がある不具合を修正
      • v1.4.0 でこのあたりを修正した時に Swiper を初期化する順番を間違えてしまっていました
    • PWACompat.js・Push.js を更新
      • JavaScript ライブラリ類で更新があったものをついでで更新しました
  • v1.4.1 - 2019/12/02

    • 不具合修正のみです
    • インストールに失敗する問題を修正
      • openssl.cnf を同梱するのを忘れていました…
        • インストーラーは openssl.default.cnf・openssl.default.ext をそれぞれ openssl.cnf・openssl.ext にコピーし、それを編集する形を取っていました
        • 前回のアップデートで openssl.cnf の同梱が必要ではなくなったため、openssl.default.cnf を廃止し、openssl.cnf をそのまま同梱するようにしたはずでした
        • …が、.gitignore の除外設定をそのままにしていた、というのが原因です…
    • ffmpeg を shared 版に変更した
      • 後述の ffprobe を同梱するにあたり、shared 版の方がファイルサイズを削減できるためです
      • ffmpeg を 4.2.1 に更新できないか試してみたのですが、ffmpeg が 4.2 から ARIB 字幕を arib_caption として認識するようになりました
        それ自体は良いのですが、字幕を -scodec copy でコピーしようとしたところ、何故か ffmpeg が勝手に WebVTT に変換しようとして
        しかも WebVTT へのエンコーダーが存在しないためエラー吐いて落ちるというバグとしか思えない症状がどうやっても改善できなかったので、暫くは 4.1.4 のままになりそうです
        • そもそも -scodec copy としているのに何故 WebVTT に変換しようとするのか理解できない…
        • 映像が H.264 とはいえ HLS は MPEG2-TS 形式なので、コンテナ的にコピーできないという事はないはず…
        • 字幕が映らなくても構わないのであれば -sn オプションをつければ行けます
    • ffprobe を同梱した
      • 今の所使っていませんが、今後録画ファイルのコーデック確認等に使う事を想定してついでに同梱しておきます
      • 準備工事ということで…
  • v1.4.0 - 2019/11/30

    • ぎりぎり11月中にコミットしたのでセーフ
    • 更新多めなのでちょっと他で動くかどうかが心配…
    • ちなみに 1.4.0 みたいなバージョンは メジャーバージョンアップ(機能追加がほとんど)です
    • 1.2.1 みたいなバージョンは マイナーバージョンアップ(不具合修正多め)と分けてるつもり
    • 設定ファイルの項目が変更になっています・config.php を予めバックアップした上で新規インストールし、
    • VCEEncC でのエンコードに対応した
      • VCE の仕様でインタレ解除が出来ないらしいですが rigaya さんが最近の QSVEncC 等の変更に合わせて 5.00 をリリースしていたので対応する事ができました
        • いつも本当にありがとうございます…
      • こちらに VCE が使える環境があるわけではないので、動くかは微妙です…(フィードバックいただけると助かります)
    • MKV ファイルの再生に対応した
      • MKV で再生させてる方が結構多そうなので対応するだけしてみました
      • プログレッシブダウンロードで再生する場合、ブラウザで再生出来るコーデックは限られるため、例えば H.265 でエンコードしたファイルの場合は音声しか再生されません
        • MP4 でプログレッシブダウンロード再生させる場合も同様です
        • MKV は Firefox・Safari では再生できないみたいです(= Chrome 系だけっぽい?)
        • 再生できないときは適宜普通にエンコードして再生させるなりしてください(丸投げ
    • MKV ファイルのダウンロードに対応した
      • MKV 再生対応の完全についでです
    • リバースプロキシ対応周りの変更
      • HTTP ポートの設定は廃止し、自動で HTTP ポートを取得できるようにしました
      • リバースプロキシからのアクセスに正式に対応し、リバースプロキシからアクセスする時の URL を設定できるようにしました
      • この辺りがややこしくてかなり行き詰まってました
    • リバースプロキシからのアクセス時に環境設定を非表示にする設定を追加
      • オンにすると、リバースプロキシからのアクセス時に設定ページの環境設定を非表示にします(環境設定を保存する処理自体を封印します)
      • セキュリティ対策です、リバースプロキシを使っている方はオンにしておくことをおすすめします
      • 再びこの設定をオフにする場合は、リバースプロキシを介さずに設定ページにアクセスするか、config.php を直接編集してください
    • DPlayer(動画プレイヤー)を更新
      • スマホで設定画面の高さがおかしくなる不具合を修正しました
      • あとはスタイル調整とか
    • タブを BS か CS にしたときにブラウザバー開閉でタブがおかしくなる不具合を修正
      • なんかよくわからんけどゴニョゴニョしてたら直った
      • ブラウザのキャッシュを完全に消してからリロードしてみてください
    • 設定ページのフォームに 0123 のように0埋めされた数字を入力・保存すると 123 のように変換されてしまう不具合を修正
      • 数値扱いできるものは数値として書き込んでいたのですが先頭が0から始まるものは除外するようにしました
    • Mac で Option キー + 1 などのショートカットを使うと!を反対にした謎の文字が一緒に入ってしまう不具合を修正
      • preventDefault() してなかっただけ閉廷
    • Chrome 以外のブラウザでキャストするときにプログレッシブダウンロードの動画が再生できない不具合を修正
      • すっかり忘れてました…
    • インストーラー周りの変更・整理
      • インデントを揃えたりとか
      • 証明書の作成バッチも大幅に更新しました
    • TSTask に Theme ファイルを追加した
      • すっかり同梱するの忘れてました…
    • Apache を 2.4.41 に更新
      • リリース時から一度もアップデートしていなかったため一気にやってしまいました
      • 設定やファイル等カスタムしているので数時間かけてようやく…
    • PHP を 7.3.12 に更新
      • 7.3.12 にしたら変なファイルが増えてたのでごっそり消しときました(配布サイズ対策)
    • TwitterOAuth を更新
      • 別件でちょっと弄ったのでそのついで
    • QSVEncC を 3.27 に更新
    • NVEncC を 4.55 に更新
    • デフォルトの設定内容をちょっと変更
    • りどみが雑になってたので整理
    • その他細かな修正・スタイル調整・コード整理など
  • v1.3.1 - 2019/11/**(幻)

    • 再生履歴が表示できなくなっていた問題を修正
      • アップデートする前に一度 (TVRemotePlus)/htdocs/files/history.json を削除してください
  • v1.3.0 - 2019/11/03

    • システムの根幹(特にファイル再生周り)にかなり手を加えた大幅なアップデートとなっています
    • アップデートの際の諸注意
      • 録画ファイルリストのフォーマットが変更されているため、一度「リストをリセット」からリストをリセットし、もう一度リストを生成し直してください
      • (TVRemotePlus)/htdocs/files/info/ フォルダは廃止されました
        • アップデート時に手動でフォルダごと削除してください
      • API の名前が変更になりました
        • アップデート後に残る (TVRemotePlus)/htdocs/api/ フォルダ内の下記フォルダを手動で削除してください
          • epgguide.php
          • jkapi.php
          • searchfile.php
          • watchnow.php
        • また、リバースプロキシを利用している場合は、Apache 等の Web サーバーの設定ファイルも適宜書き換えてください
      • 以前のバージョンのキャッシュがブラウザに残っていると、正常に動作しない可能性があります
        • 必ずブラウザのキャッシュを削除してからアクセスしてください
    • MP4 ファイルの再生に対応した
      • 以前から要望があった機能なのですが、ようやく実装できました…
      • また、MP4 ファイルであれば TS のように一々エンコードする必要はないため、ついでにプログレッシブダウンロードにも対応しました( MP4 ファイルのみ)
        • プログレッシブダウンロードは、要は元の MP4 ファイルをそのまま再生させる方式のことです
        • 元の MP4 ファイルそのままの画質で再生できます
        • エンコードを行わないため、最初から最後まですぐに再生できます
        • 回線が遅いなどの事情がない限り、MP4 ファイルを再生する場合はプログレッシブダウンロードで再生する事をおすすめします
        • MP4 ファイル再生時はデフォルト値をプログレッシブダウンロードに設定します
      • MP4 ファイルでは番組情報が取得できないため、同じファイル名のTSファイルがあればその番組情報を借用するようにしました
        • 同じファイル名の TS ファイルがない場合、番組情報が取得できないため、ファイル名と更新時刻から推測して表示します
      • 現状、MP4 ファイルの再生時には字幕はオン・オフに関わらず表示されません
        • MP4ファイル自体に字幕が含まれていないためです
        • 将来的には同じファイル名で字幕ファイルが置いてあれば変換して表示できるようにしたいと考えています
    • MP4 ファイルのダウンロードに対応した
      • ついでで MP4 ファイルのダウンロードにも対応しました
      • MP4 ファイルのサムネイルにマウスをかざすか、タッチデバイスであればサムネイルをタップするとダウンロードボタンが表示されるので、それをクリック or タップするとダウンロードされます
      • 持ち出し用のスマホやタブレットに予めエンコードしておいた動画をダウンロードしておいて出先で見る、といった使い方ができると思います
      • TS ファイルはあまりにもファイルサイズが巨大な上、スマホではうまく再生できないプレイヤーが多いため、ダウンロードには非対応としています
      • 後日 TS ファイルの MP4 ファイルへのエンコード機能も実装予定です
    • リスト更新を大幅に高速化した
      • 遅い遅いと言われていたリスト更新の処理ですが、大幅に高速化しました
      • 遅くなっていた原因ですが、録画ファイルのあるフォルダ内にスクランブル解除に失敗した TS ファイルなどの再生できないファイルがあった場合に、30秒ほど試行した後サムネイル生成に失敗するのにも関わらず毎回生成させていたためでした…
      • サムネイル生成に一度失敗したらそれ以降サムネイルの生成を行わないようにする事で、処理を大幅に高速化する事ができました
      • 毎回2~3分かかっていたリスト更新が1番組あたり4秒程度で更新できるようになりました
    • API 周りの変更
      • 前述の通り、API ファイルの名前が変更になりました
      • epgguide.php → epginfo.php
      • jkapi.php → jikkyo.php
      • searchfile.php → listupdate.php
      • watchnow.php → status.php
      • 前からガバガバ英語なのと分かりづらいのと主な役目が変わってしまったAPIがあったりで名前を変えたいと思っていました
      • また、.php なしで API にアクセスするようになりました
    • Android 版 Chrome にて Picture-in-Picture (PiP) に対応した
      • 今まで Android 版 Chrome では JavaScript からピクチャーインピクチャーを呼び出す事が出来なかったのですが、Chrome78 より実装されたみたいです
      • 今までも全画面にした後ホームボタンを押す事で PiP モードにする事は可能でしたが、これからはプレイヤーのボタンを押すだけで PiP モードに移れるようになります
      • 「何か調べ物をしながらテレビを見る」など、いろいろ活用できると思います
      • ただし、古い Android(8.0以前…?)では OS 側が非対応のため表示できない場合があります
      • その他 PiP ボタンを追加するにあたりアイコンの位置・サイズ調整等も行いました
    • インストーラーでの証明書生成を自動で生成できるようにした
      • 今までの Enter 連打が必要なくなります
      • 証明書生成に失敗する環境があるらしいのですが、こちらでは生成できているので原因がよくわかっていません…
    • ストリーム開始時のコマンドを表示できるようにした
      • ストリーム開始時の ffmpeg や QSVEncC といったエンコード用ソフトの起動用コマンドを表示できます(ほぼほぼデバッグ用)
      • 表示させる場合は、環境設定の下の方の「ストリーム開始設定後の画面を表示せずに再生画面へリダイレクトする」をオフにしてください
    • 1080p 以外の画質で再生させた場合にアスペクト比が歪む問題を修正
      • 前回のアップデートの弊害でした…
      • 1080p とそれ以外の画質でエンコード時のピクセルアスペクト比を分ける事で修正しました
    • 一部のチャンネルの実況勢いが表示されない問題を修正
      • ch_sid.txt 内のチャンネル名と実際のチャンネル名が異なるケースが複数出てきています
      • 他にも実況勢いが表示されないチャンネルがあれば 5ch の方で報告していただけると助かります
    • 録画ファイルを検索後「もっと見る」をクリックすると一番上までスクロールされてしまう不具合を修正
      • ファイル再生周りをかなり改修したのでそのついでです
    • ニコニコ実況のコメントと字幕が同時にキャプチャ画像に含まれている際に合成する順番が逆なのを修正
    • NVEncC を更新
    • その他バグ修正・微調整・スタイル調整など…
  • v1.2.2 - 2019/10/11

    • 台風で停電しそうなので早めにうp
    • CH2ファイルが BonDriver_Spinel_T01_MyPC.ch2 のようなファイル名の場合にチャンネル設定ファイルがうまく取得出来ない不具合を修正
      • 元々 BonDriver_Spinel_T1.ch2 のようなファイル名を想定していたのですが、T01 のように 2 桁にしている方や T01_MyPC のように PC 名を付けている方もいたようで…(本当は統一してほしいところなんですが)
      • ついでに BonDriver の dll の方もそのようなファイル名になっていても検出出来るようにしました
    • コメントの遅延時間を個人設定から指定出来るようにした
      • 0 ~ 60(秒)の範囲で指定できます
      • 個人設定は端末ごとに反映されます。注意してください。
    • 1080p で配信した場合、BS11 など 1920×1080 で放送されている局で 4:3 の比になってしまう不具合を修正
      • アスペクト比を指定してなかったのが原因っぽいです…
    • Mac 版 Chrome でコメント付きでキャプチャした場合にフォントが明朝体になってしまう不具合を修正
      • なぜ sans-serif と指定しているのに serif 体になってしまうのかは謎…( Mac のバグでは🤔)
    • 初回インストール時に初期設定に関わらず配信休止中…の音楽が流れてしまう不具合を修正
      • 多分治ってると思います(思いたい)
    • その他軽微な修正
  • v1.2.1 - 2019/10/03

    • Twitter にログインしているアカウントを確認できるようにした
      • PC の場合は青い鳥アイコンにマウスをかざすと、スマホ・タブレットの場合は青い鳥アイコンをタップすると表示されます
      • v1.2.1 以前から Twitter にログインしていた場合は「ログインしていません」と表示されます、正しく表示させる場合はもう一度ログインし直してください
    • CBC テレビとメ~テレの実況勢い・コメントが表示されない不具合を修正
      • メ~テレに関しては全角チルダと波ダッシュの文字コードの違いが原因でした… どうにかしろよMS(無理)
    • Font Awesome を v5.11.2 に更新
    • スタイルの微修正
  • v1.2.0 - 2019/09/26

    • 画質設定に 1080p(1440×1080)を追加した
      • 地デジと BS の殆どの局では 1440×1080 で放送されているので、サイズを抑えながら普通に見るのと変わらない画質で視聴できます
      • 以前の 1080p だとどうしてもスマホなどの低スペック端末ではストリームがカクつく事があったのですが、1440×1080 であればセグメントのダウンロード時間を 1920×1080 よりも低く抑えられるため、より高画質でカクつかずに再生できるようになっていると思います
      • 特に Chromecast 再生時や大画面ディスプレイでの再生時に違いが良く出るような気がします
      • これに伴い、インストール時のデフォルト画質を 1080p に変更した他、以前の 1080p(1920×1080)は 1080p-high という扱いとしました
    • 地デジと BS・CS の混合チューナーに対応した
      • 前々から色々な方に要望されていたのですが、ようやく実装しました
      • こちらに混合チューナーの環境がないので動くかどうか微妙…
      • 地デジと BS・CS 双方を同じ BonDriver で再生させる場合は、設定ページの BonDriver のデフォルト設定を(地デジ用)・(BS・CS用)どちらとも同じ BonDriver を指定して下さい
      • これに伴い、BonDriver フォルダに無印( T0 や S0 が付いていない)BonDriver があればそれも選べるようにしました
      • ついでに UTF-16LE(BOM 付き)がうまく読み込めず一部チャンネルの実況勢いが表示されない不具合も修正しました
    • Chromecast キャスト機能を大幅に改善
      • 今回のアップデートのメインです(3日ぶっ通しでようやく…)
      • PC・Android の Chrome かつ https でアクセスしている場合に Chrome ネイティブ機能でキャストするようにした
        • 情報が不親切な英語ドキュメントしかなくてかなり大変でした…
        • http アクセスだと動かないのでネイティブ機能を使う場合は(予め PWA 用の証明書を端末にインストールした上で)https でアクセスしてください
        • これにより Chromecast と 手元のプレイヤーの再生位置が綺麗に同期されるようになります(中々同期出来ず大変でした…)
        • JavaScript からのキャストは(当然ながら)Chrome 以外のブラウザでは使えないので今まで通りの方法でキャスト出来るようにしました
        • iOS 版 Chrome は対応してるのかしてないのか良く分からないので当面は他ブラウザ同様の対応としました
      • 今までの方もネイティブ機能に合わせ動作等を改善しました
      • あと Chromecast でなくても Google Cast に対応している製品( AndroidTV だとか GoogleHome だとか GoogleNestHub だとか)であれば同様にキャスト出来るはずです
    • プレイヤー周り
      • TVRemotePlus で使用している動画プレイヤー(DPlayer)を最新版に更新した
      • Android スマートフォンでの再生時にフルスクリーンにした場合画面を横に回転するようにした
        • iPhone・iPad はそもそもフルスクリーン API が極めて限定的対応かつ Screen Orientation API 非対応なので無理です
      • たまに動画のシーク時にプレイヤーが再生と停止を繰り返してバグる不具合を修正・その他シーク周りの改善
      • コメント描画のさらなる高速化
        • 本当はこれ以上高速化したい(特にスマホ)んですがもう限界そう…(最初の頃と比べれば大分カクつかなくなったし…)
        • 実験台にしてるスマホがミドルレンジだししょうがないね
    • 再生ページのロード時の動作を高速化
    • スタイルの調整
    • NVEncC を 4.50 に更新
    • その他不具合修正など…
  • v1.1.0 - 2019/09/13

    • 新規機能の追加はあまりありませんが、ほぼ全てのファイルを修正したのでメジャーバージョンアップです
    • 諸々不具合が修正されていると思います
    • コメントのフォントサイズをある程度変えられるようにした
      • プレイヤーのコア部分を弄ったので疲れました…
    • ファイル再生時に字幕をストリームに含めるかどうか設定できるようにした
      • ごく稀に字幕をストリームに含めると途中でエンコードに失敗してしまう録画があるためです
      • デフォルトはオンになっています、問題があった時のみオフにすることをおすすめします
    • TVRemoteViewer での番組表取得に関する情報を追記
    • コメントリストをスクロールしている時に新しいコメントが来ると強制で下にスクロールされてしまう不具合を修正
      • 色々悩みましたが、結局 YouTube Live っぽい仕様にしました
    • 生放送時に一時停止した状態にするとコメントが溜まりに溜まる不具合を修正
    • ニコニコ実況がメンテナンスの際にメンテナンス表示を出すようにした
      • 丁度最近メンテナンスがあったのでそのついでです
    • ニコニコ実況の過去ログ取得時にコメントが多すぎる(例:ラピュタ)と実行時間制限を超えてタイムアウトしコメントが取得できない不具合を修正
      • 正直ラピュタレベルはコメントが多すぎてまともに再生できませんでした…(Canvasにしたほうが大量のコメントには強いんでしょうけど、改造元のプレイヤーがCSSアニメーションで実現させる方式のためどうしてもコメントが多くなるとかなり重くなってしまいます)
    • iOS 環境でファイル再生時にシークが出来ない(バー自体が出ない)不具合を修正
      • Safari の仕様で HLS ストリーミング再生時は video.duration が取得出来ないらしく、こちらもプレイヤーのコア部分を大幅に弄ったので疲れました
    • スマホなどのタッチデバイスでのシーク時に再生させながらシークしようとするとシークバーが荒ぶる不具合を修正
      • シーク中は一旦動画を一時停止させるようにしました
      • これもプレイヤーのコア部分を大幅n(ry
    • 個人設定が数日で切れてしまう不具合を修正
      • Cookie の有効期限を365日にしました
    • 個人設定の読み込みに失敗する不具合を修正
    • スマホで見た際にヘッダーのロゴを中央寄せするようにした
    • ヘッダーのアイコンにマウスをかざした際に丸くホバーするようにした
    • 右上のサブメニュー周りの変更
      • サブメニューを閉じる際に透明な要素を置いて何もないところをクリックしたら変な所を押しちゃった、という事がないようにした
      • サブメニューが引っ込まない不具合を修正した
    • Twitter ログインの有効期限を1週間から3ヶ月に変更
      • 上の Cookie 有効期限変更のついでです
    • 絶対パスに変更しきれていなかった部分の変更
    • 全体的な速度の高速化
    • CSS レイアウト(見た目)の調整
    • 肥大化したコードを大幅に整理
    • インストーラーの微修正
    • ffmpeg.exe → ffmpeg-tvrp.exe・QSVEncC64.exe → QSVEncC64-tvrp.exe・NVEncC64.exe → NVEncC64-tvrp.exe にそれぞれ名前を変更
      • TVRemotePlus 側で他に起動している各 exe のプロセスを謝って全て kill しないための暫定処置です
    • NVEncC を 4.47 に更新
    • リリースノートを書くようにした
      • 毎回変更点が多くて作業してると何をアップデートしたか忘れるためです…
    • その他細かな不具合の修正を山程…
  • v1.0.2 - 2019/08/30

    • ストリームの画質を向上
    • Chromecast キャスト機能の動作を修正
    • 設定が反映できない不具合を修正
    • その他不具合修正のみです
  • v1.0.1 - 2019/08/29

    • コメント描画、サイドメニュー開閉などの随所で使われているアニメーションの大幅な高速化
      • フロントエンド部分は全て jQuery で書いていたのですが jQuery 自体がかなり遅く、0.5秒ごとなどに実行する処理にしては重すぎたので定期的に実行する処理はピュアJavaScriptで書き直しました
      • animate() は Velocity.js で置き換えました
      • PCだとよくわからないと思いますが、特にローエンドの Android などで今までカクついていたコメントが大分ましになっていると思います(スペックによりますが)
      • また、プレイヤーの設定→コメントを無制限に表示 をオフにすると、生放送時で0.5秒ごとに実行するコメント取得処理時に一度に描画するコメントを8個に制限します
        • 金曜ロードショーなど、実況勢いが200を超えるような番組で効果を発揮します
        • 低スペックPCやスマホではこの設定をオフにしておくことをお勧めします
    • BonDriverチャンネル設定ファイル(.ch2)の取得処理の変更
      • 今まで認識出来ていた.ch2は概ね認識できると思います(思いたい)
      • BonDriver_FSUSB2N.ch2 などのファイル名の場合、地上波用かBS・CS用か認識できません
      • 必ず地上波用であれば BonDriver_FSUSB2N_T.ch2・BS・CS用であれば BonDriver_FSUSB2N_S.ch2 のように、ファイル名の最後に T(0-9)かS(0-9)を付けるようにしてください
    • ファイル再生画面の更新時にフェードを掛けるようにした
      • 今までより綺麗だと思います
    • Firefoxにてブックマークから開いた場合に地デジ・BS・CS切り替えタブが機能しない問題を改善
    • インストーラーで予め録画ファイルのあるフォルダを設定出来るようにした
    • Chromecast機能が動かない問題を修正
    • Chromecast機能の再生/停止関連の動作を一部修正
      • 操作の遅延が少なくなると思います
    • ファイル再生画面でリストがない場合にエラーになる問題を修正
    • ストリーム再起動が重複する問題を修正
    • その他不具合修正諸々
  • v1.0.0 - 2019/08/27

    • ついに正式版になりました!(いつまでもRC版できりがなさそうなので…)
    • 環境設定設定を設定ページから変更できるようにした
      • これで config.php を一々いじる必要がなくなる他、設定ミスで文法エラーが起きることもなくなり非常に使いやすくなると思います
    • 録画ファイル増減時にリストを自動で更新するようにした
    • 地デジのチャンネルに BonDriver_*S0.dll などBSCS用BonDriverを、BSCSのチャンネルに BonDriver_*T0.dll などを表示しないようにした
      • 設定ページを作るにあたり不都合になったので一緒に修正しました
    • ストリームが途中で止まってしまった場合に20秒以上ストリームの更新がない事を検知してストリームを再起動するようにした
    • ストリーム開始して30秒以上音沙汰がなければ失敗したと判定して自動でストリーム終了するようにした
    • ファイル再生画面の画面描画時にフェードアニメーションを追加
    • ←キーで5秒巻き戻し・→キーで5秒早送り・スペースキーで再生/停止、(プレイヤーにフォーカスが当たっている状態で)↑キーで音量+・↓キーで音量- が出来るようにした
      • 実際はもっと前から出来たのですが、あまり認知されていなかったのと動作が微妙だったのでまとめて修正しました
    • Twitter ログイン時に Consumer Key 等が間違っていて認証に失敗した際にエラーメッセージを出すようにした
    • サイドメニューのバージョン欄を version 1.0.0 のように表示するようにした
    • アイコンの更新
    • その他諸々の不具合修正