Skip to content

v2.0.0

Compare
Choose a tag to compare
@tsukumijima tsukumijima released this 18 Feb 16:02
· 594 commits to master since this release
  • 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 に更新
    • この他多数の軽微な修正・調整など

アーカイブは 64bit 版のみです。
下の Assets を開き、TVRemotePlus-2.0.0.7z または Source code (zip) からダウンロードしてください。
7z の方が早くダウンロード出来ますが、別途 7-zip・lhaplus などの解凍ソフトが必要です。
インストール後は一度ブラウザのキャッシュを削除し、さらにPCであれば Ctrl + Shift + R してキャッシュを完全に削除してからアクセスしてください。