VladiのブログVladiのブログPC関連のことを書いてます。電源制御型USBハブでUSBチューナーの見失い状態を解消する。こちら今まで当Blogではネットワーク経由で"TS抜き"チューナーを使う仕組みとして何度か、Spinelを使った家庭内配信をご紹介していたのですが、これはロケフリ視聴というよりも、チューナーのフル機能を家庭内の全てのPCで使えるようにするのが目的でした。Spinelは家庭内の十分なLAN帯域が確保できる環境内であれば全てのPCをテレビや録画機に変身させることができ便利この上ないのですが、これだけだと単に視聴したいだけの場合もiPhoneやAndroid端末からは(SpinelクライアントやTvTest等が開発されていないので)直接テレビを観ることはできませんし、またネットワーク帯域を大食いするため、家を離れた場所でPCから家のチューナーを使ってテレビを視聴する「ロケフリ視聴」という使い道にも向いていません。そのような"TS抜き"環境で録画されていく動画ファイルの再生環境やライブラリ化についても、過去の記事ではTvtPlayやWhiteBrowserをご紹介していましたが、これも同一LAN上のPCでは便利に使えるものの、モバイル端末やリモート環境を想定したものではありませんでした。ご紹介したいと思います。Media等と比較しても)十分使えるものになっていると思います。(勿論放送TSファイルだけではなく大抵の動画ファイルのストリーミングに対応しています。)さて、ロケフリを実現するソフトとしては以前からRemoteTestなど十分に実績のあるものがあったのですが、今に至ってのご紹介になったのは、「既に公開の停止されたRemoteTestに代わって現役ソフトとしての発展が見込めるTvRemoteViewer_VBが出てきた」という点が大きいものの、他にも訳があります。リモート視聴をおこなう際、ネットワーク帯域だけの問題であればSpinelのような「ストリーム圧縮のない」仕組みであっても、太いアップ/ダウンストリームの回線さえあれば理論的には可能なのですが、公衆ネットワークの帯域を無駄に使ってしまう点でハタ迷惑ですし、特にアップストリームの使い過ぎはプロバイダの帯域制限に引っかかる危険性があります。したがってリモート視聴に必要十分な画質/帯域に圧縮してから送る、というロケフリ視聴向けサーバ・システムは不可欠になります。それ以前の問題として、以前「まねきTV」が違法とされた事が解釈によっては、(不特定多数ではなく)自分での利用に限定したリモート視聴の仕組みであっても二次放送と見なされて、違反と判断され得るのではないか、という疑いがありました。この辺はある意味厳密な法規定ではなく法の運用で決められている話なので、公にやっている事例が無い以上どこまでなら可能なのかは判断のしようがなく、そういう話もあってかSpinelの場合は作者の意思として利用の前提条件にリモート視聴には使わないという制限が付いていましたし、RemoteTestの作者が公開を止めてしまったのもその辺の恣意性を警戒しての事かもしれません。ところが「テレビの放送や録画をリモートから視聴する」という仕組みは(iPhone/Androidでの持ち出しすら不自由な現状ではTV/レコ共々ますます売れない、という現実をなんとかしようと思ったのか)NexTV-F起案で仕様を決めたようで、"nasne"についてはこの秋から、またBDレコーダについてはその少し前から、いずれもソニーが先鞭をつけて堂々と始めることになり、「公にやっている事例」が存在することになりました。(さすがルール拡大解釈の請負人ソニー様・・)ある意味毒見済みとなった訳で、そうとなれば「TS抜き」システムであればより簡単で柔軟な構成が実現できる応用分野なので、それをご紹介できる環境は揃ったと判断したわけです。いう経緯ですので、外からのご利用は厳密にVPN等で保護の上、ご自身での視聴の範囲内に留めることを守ってください。その辺を守っていただかないとご自宅のシステムのセキュリティが守れないのは勿論のこと、二次放送行為として罰せられる可能性があります。「TS抜き」環境をベースとするメリットは、(この話に限りませんがメーカー独自仕様やガラバゴス規格に振り回される事なく)、HLSという次世代映像配信の主流に最も近いと目され今後の発展も見込まれる手順によって、機種を選ばず特別な端末用ソフトも不要な形で、「痒い所に手が届く」システムが構築できる点です。(考えてみればHLSもそうですがMPEG-DASH、MSEと次世代のストリーミング標準を競っている技術はどれも、配信のために毎回無数のビデオファイルに「ダビング」する仕様なので、「ダビ10」ルールでは永遠に利用できませんね。した上で「お風呂TV」にするのも楽しそうですね。外からだと家に帰れない時や出張中に見逃したくない番組や気になるニュースを見るのに便利です。(特にワンセグでも見られない衛星放送など。)また録画したものをこの仕組みで外から再生するのも簡単で、一種のクラウド型サービスとして、異なる端末で再生シーンを引き継ぎながら観られるのも便利です。別の話として、日本の放送フォーマットは動画フォーマットとしても特殊な要素が散りばめられているので、VLCやKodiなど広く使われているメディアプレーヤーでも日本の放送tsファイルになった途端に不安定になったり無音になったりインタレース縞だらけになったりと、汎用の端末プレーヤーには厳しい作りになっています。(よくこれらの汎用プレーヤーソフトを使って「Androidで録画サーバのファイルが観れた。最強ツールはこれだ!」といった記事を見かけるのですがそれはヌカ喜びで、常用しているといろいろな不具合に出くわし、「やっぱりTVを見るにはメーカー製AV機器が安心だね」と言わせたい向きの思惑通りの結果になります。)一方、Windows環境に限って言えば先人たちが"ts抜き"環境を整備していく中でTvTest、Rectaskのような専用ソフトやQSVEnc等様々なツールが作られ、ffmpegやhandbrakeの場合は日本向け仕様のマージに日本人も参画して来た経緯もあって放送フォーマットの処理もしやすくなっているので、「WindowsPCで一旦汎用端末に向いたフォーマットに変換した上で端末に送る。端末側は後付けプレーヤーではなくより単純にH/W最適化されたHTML5プレーヤーで再生する。」という2層構造が非常に有効に働きます。いう経緯でこのソフトの立ち位置も最初は「ロケーションフリーを実現するソフト」だったのが、今では「オールインワンのTV/動画鑑賞システム」に発展してきています。最新版の視聴画面はこのようになっています。どのプラットホームでもブラウザから同じ手順で使えますし、全画面視聴もOKです。ブラウザ画面ならHTML5とAjaxの技術を使って、このようにニコニコ実況や2ch実況を流すことも出来るようになっています。現在のバージョンでは並列ストリーミング数の上限が事実上なくなり、定義した数までサーバ能力が許す限りの並列ストリーミングが可能になりました。ファイル再生については個別のファイル再生のほかにプレイリスト機能もあり家のPCや通勤中のスマホで再生を引き継ぎながら長いシリーズ物等を鑑賞していくことも可能になっています。こちらはスマホのトップ画面の例ですがこんな感じで、プラットホームに合わせて自分で使いやすいようにカスタマイズできる点も特徴になります。後日追加された機能として、ChromecastやFireTV、AndroidTV等を併用すればこんな感じで家にあるテレビや余ったモニターを活用して、大画面でもストリーミング&実況を楽しめるようになります。それらにPCを繋いでも同じことは出来ますし、テレビはテレビ本来のチューナーも持っていますが、Chromecastとストリーミングを使うメリットは自在なコンテンツの扱いや実況など豊かな楽しみ方ができること、画面1つ映すのにかかる費用やN/Wコストが僅かで済むこと、それでいて十分な画質で楽しめること等がポイントで、この辺は実際使ってみると実感できると思います。写真に映っているWiFi経由のリモコン機能は当初Chromecast専用だったのですが、最新バージョンではどの端末画面でもリモコンから操作できるようになりましたので、テレビ代わり(あるいはテレビの置き換え)として使うのにも便利になっています。当記事ではこのようなソフトの使い方を以下の内容・順番でご説明いたします。準備2)各ソフトウェアのダウンロードと配置3)TvRemoteFilesの追加(上書き)4)一旦起動して、初期パラメータをセットする。利用して1)より強力なVPN環境を作成する。補足.改訂履歴(2017年5月追記)TvRemoteViewer_VBも登場して2年以上を経過し、使い勝手を上げるための根本的な設計変更も幾つか出て来ています。最新の機能についてもこの記事に追加していければ良いのですが、Blogページの容量制限もありますので、関連する所にはリンクを張りつつ大きなくくりとしては別記事にまとめました、その索引もここに補足しておきます。余談の雑記その1)Chrome/OperaでTVRemoteViewer_VBの表示が少し大味になったと思った場合その2)ファイル/プレイリスト画面の改良その3)動画エリアの右上に「動画エリア縮小」ボタンを付けた。その4)ファイルリストを一気に読み込めるようにした。その5)その他小ネタそちらも併せてご参照いただければ幸いです。VCE)の本格サポートが追加されました。これは単なる機能追加と言うより、TVRemoteViewer_VBの活用範囲が大幅に拡がる話なので、別記事にまとめてあります。これによって今持ってるPCがかなり古かったりショボくて、とか、PCすら持っていないという方でも、安いスティックPCとPLEXのUSBチューナーを使って気楽にロケフリ&ストリーミング環境が作れるようになります。導入自体は簡単ですので、1-5)まで設定が進んだらぜひそちらもご参照いただければと思います。TvRemoteViewer_VBはアップデートが速く、機能の進化や使い勝手の改善も多いです。バージョンアップ支援ツール」を使えばほぼ自動化でき、数分もかかりません。リンク先を読んでご利用いただければと思います。1.TvRemoteViewer_VBの導入まずは家庭内LAN/Wi-FiI環境で、スマホ・タブレットやPCから自由に視聴できる環境を作成します。ここをしっかり作っておけば、リモート視聴に必要なのはVPN環境の追加だけです。準備そもそもの前提として、この記事の手順でロケフリ環境を作るには、"TS抜きチューナー"をお持ちであることが前提になります。(チューナー無しでも”ファイル再生”は使えますが、その場合もプロテクト無しの映像ファイルである必要があります。ようなPLEX系チューナーの導入記事がありますので、それらを導入される方はご参考にしてください。PT3の導入もWiki等がいろいろ存在しています。PT1/2、FSUSB2/HDUx/DY-UD200/Friio等をお使いであれば、それで問題なく動きます。(ただしそれらは新規入手は難しいですし、今から敢えて選ぶメリットも無いと思います。)その上で、まずは以下の準備作業から始めてください。TvRemoteViewer_VBを動かすPCには、以下のランタイムが必要です。4.0または4.x(4.xは4.0の上位互換です。3.5とは別ですのでご注意ください。導入されているかは、以下のファイルを解凍したbatファイルをダブルクリックしてみれば判ります。「checkvdnfw.zip」をダウンロード(これはatmarkITさんの記事にあったバッチファイルを少々修正の上転載させていただきました。4.0(または4.x)がインストール済み」と出てくればOKです。未導入の場合は、Windows7かそれ以前であれば、以下のリンクからダウンロード&導入してください。4.xを有効化してください。Windowsファイアーウォールでポート40003へのアクセスを許可する。アクセスには、家庭LAN内であってもリモートであってもポート40003を使いますので、TvRemoteViewer_VBを動かすPC上で該当ポートを開けておく必要があります。ここではデフォルトで動いているWindowsファイアーウォールの設定手順を解説しますが、もし他のファイアーウォールソフトを導入している場合には、それぞれの手順に従ってポート40003のアクセスを許可しておいてください。コントロールパネルでWindowsファイアーウォールをクリックします。「詳細設定」をクリックし、Windowsファイアーウォールの設定画面で、左の「受信の規則」をクリックし、次に右の「新しい規則」をクリックして、出てくるウイザード画面で「ポート」を選択して「次へ」を押します。「TCP」を選択し「特定のローカルポート」を選択して入力欄に「40003」と入れ、「次へ」を押します。次の画面で「接続を許可する」、その次の画面でドメイン・プライベート・パブリックを全てチェックします。その次の画面ではルールの名前を聞いてきますので、TVRemoteなど適切な名前を付けて、「完了」を押します。これでファイアーウォールの設定完了です。確認のため、Windowsファイアーウォールの設定画面で(左で「受信の規則」が選択されているのを確認の上で)上で付けた名前を探し、ダブルクリックしてください。設定内容が出てきますので、特に「プロトコルおよびポート」のタブで「TCP」、「特定のポート」、「40003」が選ばれていることを確認してください。該当ルールを削除して、もう1度定義し直してみてください。ここを間違うと視聴は確実に失敗しますので慎重に。(これだだけ注意書きしても「IEで動かなかった」と書いている方がいますので繰り返しますが、Windows環境ではこのアプリの動作環境としてのブラウザは好きなように選べますので、IEの特異的な非互換性に気を遣うよりも、IEをサポート対象外にすることでコードをシンプルにする方を選んでいます。IEはもう後が無いわけですし、後継のEdgeは強力にサポートしていますのでここはご了承ください。いずれでも問題無く使えます。このアプリは一部webkitしかサポートしていない装飾を使っている関係で、Firefoxでは表示が格好良くない部分があるかもしれませんが、いずれにしろ問題なく使えます。Windows10以降であれば、標準添付されているEdgeブラウザがWindows環境では初めてHLS動画を標準サポートしており、綺麗で滑らかな画質の環境になっていますので第一のお勧めです。→解説記事にしてあります。いずれも未導入のかたは、お好みのものをリンク先から導入しておいてください。いつもの事ですが、導入時に何も考えずに次へ、はい、などと答えていくとデフォルト(標準)のブラウザが変更されますので、変える気がなければ「デフォルトのブラウザにする」のような該当箇所でチェックを外す/いいえと答えるなど、しっかり意思表示してください。mobile、Android環境ではChromeがお勧めです。その辺の情報は別記事にまとめてあります。Playerが必要でしたが、現在はhls.jsによってより高い画質で使い勝手の良い視聴環境をご提供しています。(こちらの記事に説明してあります。)http://vladi.cocolog-nifty.com/blog/2016/10/tvremoteviewer_.html#s34Flashは今となっては必要ありませんが、うまく視聴できない時の選択肢として旧来のFlashプレーヤータイプも使えるようにしておきたい、という場合は、リンク先から導入しておいてください。現在、各ブラウザベンダはFlashがデフォルトでは動かないようにしつつあります。Flashを動かす場合にはブラウザ毎に設定が必要になっていますので、利用される場合は各ブラウザ用最新の「Flashを使う」というような記事を検索してください。Chrome用にはこの辺の記事が参考になると思います。5導入するPCのIPアドレスを固定する。iOSやAndroid端末からこのPCにアクセスするためには、このPCのIPアドレスを固定する必要があります。いうのは、PCからのアクセスであればローカルLAN内のコンピューターに対しては、http://server1:40003/のように、コンピューター名だけ指定すれば、アドレスが固定されていなくても常にアクセス可能なのですが、iOS等のブラウザの場合は(恐らくセキュリティ上の配慮だと思いますが)、IPアドレス以外のドメイン名が入力されると、そのドメイン名が公開されているかをどこかのホストに問い合わせに行き、公開されていないドメイン名だとアクセスを拒否してしまいます。IPアドレスを直接書けば素直にアクセスしてくれますので、配信するPCはIPアドレスを固定しておいてください。固定IPアドレスの設定方法はこちらのリンクにあります。設定しておけば、TvRemoteViewer_VBの利用の際はブラウザのアドレス欄にhttp://192.168.0.20:40003/と入れれば良いわけです。いっても毎回入れるのは面倒だと思いますので、アクセスできたらこれをブックマークに登録しておくと良いと思います。2台以上のPCでTvRemoteViewer_VBを動かして使い分けする時は、それぞれのPCのIPアドレスを192.168.0.21、192.168.0.22のように固定していけば良いです。(これはあくまで例ですので、実際のアドレスはLAN上で他の機器とバッティングしない値を設定してください。最初に各種ソフトウェアパッケージをダウンロード・解凍して、以下のように配置します。全体の注意点ですが、導入するフォルダ、およびその上位フォルダには日本語(を含む2バイト文字)は使わないようにしてください。ようなフォルダの下にあるとNGです。(ffmpegがうまく扱えないようです。TvRemoteViewer_VB」の記事に、バージョンの新しい順に「v0.XX」のリンクでアップされていますので、最新版をクリックしてダウンロードし、適切なフォルダに解凍した上で、中身を実行用フォルダ(以後、\TvRemoteViewer_VBフォルダとします)にコピーしてください。Vista以降では)管理者モードでの起動が必要な場合があります。(でないと、うまく動かないだけでなく起動すら失敗する)。「管理者としてこのプログラムを実行する」をチェックして、OKを押してください。次に、\TvRemoteViewer_VBフォルダの下に\htmlフォルダを作成してください。フォルダにある(index.htmlなど)全てのファイルをコピーしてください。\streamフォルダを作成してください。「\streamフォルダは必ず\htmlフォルダの下に作る」という制限が取り除かれましたので、別の場所、例えば別のSSDやRamDiskに作っても構いません。\streamフォルダの場所をきちんと指定すれば、どの場所に置いてもよいようになっています。等)ではなく、何かのフォルダを作って指定してください。(ルート指定ではうまく動きません。\stream専用領域にしました。\fileフォルダを作成してください。これは過去には自動作成されていたのですが、現在サーバセキュリティ対策のため、最初に手動で作成しておく必要があります。Static」をクリックしてダウンロードし、適切なフォルダに解凍した上で、中身を実行用フォルダ(以後、\ffmpegフォルダとします)にコピーしてください。*なお、TvRemoteViwer_VB最新版で利用しているhlsセグメントの機能は最新版(2014年12月5日以降に公開)のffmpegでなければ対応しません。今後新規に導入される方、またTvRemoteViwer_VBを最新版に更新される方は、必ずffmpegは上記サイトから最新版をダウンロードしてお使いください。古いffmpegバージョンを差し替えの場合は同じフォルダに上書きするだけでOKです。ファイルをコピーしてください。(うまくDLできない時はこちらのリンク)からダウンロードして適切なフォルダに解凍し、中にあるRecTaskCentre.exeRecTask.exeRecTask.default.iniの3つのファイルを実行用フォルダ(以後、\RecTaskフォルダとします)にコピーしてください。放送の視聴のためにはスクランブル解除が必要です。PCにUSBカードリーダーとB-CASカードが挿さっていれば、RecTaskは自動的に使いに行きます。USBカードリーダーではなくFakeWinSCardのような代替手段を使っている時はリンクのようなwinscard.dllなどの必要なセットを、\RecTaskフォルダにコピーしておいてください。BonCasLinkを使っている時は、RecTaskはBonCasProxyは使えませんので、BonCasClientが必要になります。General.CardReader=BonCasClientと指定することで、サーバ上のB-CASを使うようになります。BonCasClientは現在非常に入手性が悪いので(作者の方が現在非公開方針で、どこかにアップされてもすぐに削除されてしまう)、お持ちでない場合の1つの代替案としては、カードリーダーと同じPCにTvRemoteViewer_VBも立てる、というのが良いのではないかと思います。BonDriver自体はSpinelを使えばどこからでも使える訳ですし。\RecTaskフォルダに配信に使うBonDriverファイルと、対応する.ch2ファイル(チャンネル定義ファイル)を、ご使用中のTVTest(等)からコピーしてください。ファイルなど、BonDriverの動作に必要な付帯ファイルがあれば、それらも忘れずコピーしておいてください。後の4章で解説しているBonDriver_Spinelを使う場合は、BonDriver、ch2ファイルなど必要なセットは全て自動生成しますので、そこから\RecTaskフォルダにコピーするだけで良いです。Spinelを導入済であれば、BonDriver_Spinelの利用は強くお勧めします。(このためにSpinelを導入するのも良い機会だと思います。)という理由の1つは、BonDriver_Spinelを使えばリモート視聴が録画タスクと競合するのを避けられるためです。Spinelを導入する場合は先にやっておいたほうが手間がかかりませんので、こちらをご参照ください。DVDをISOファイルにして保存されている方は、TvRemoteViewerで直接再生ができるように、ここ(TvRemoteViewer_VB.exeと同じフォルダ)に、mplayer.exeをダウンロードのうえ配置してください。これはMPlayerというソフトの実行モジュールで、ISOファイルを読み込んでffmpegが読める形に変換する役割を担います。注意点ですが、mplayerは最新バージョンだと漢字交じりファイル名のISOがうまく処理できない、というバグがあります。したがってここではやや古いアーカイブバージョンですが、リンクのページからmplayer-svn-35935.7zをダウンロード&解凍してください。同じフォルダにコピーしてください。3)TvRemoteFilesの追加(上書き)ここまででダウンロートしたTvRemoteViewer_VBは、単体ではサーバとしての機能しか持たず、実際に視聴するための機能は最低現のものしか備わっていません、これにHTML5やJavascriptを使った豊かな視聴環境を提供するのがTvRemoteFilesとなり、事実上両者が一体となって発展してきています。このTvRemoteFilesを組み込むために、以下のリンクからファイルsをダウンロードし、適切なフォルダに解凍してください。この中身を2)で配置したフォルダに(上書き)コピーしていきます。以前のバージョンから上げる時は、ffmpegも最新版にバージョンアップしてください。,→参考なお、ver1.05からアーカイバを圧縮率の高い7zに変更しました。導入すればファイル右クリックで7-zipのメニューが追加され、そこから展開(=解凍)できます。フォルダに、サブフォルダも含めて全て上書きコピーしてください。これは端末側で動くJavaScriptプロフラム+HTMLで、サーバーと連携して豊富な機能を提供します。中にある\rootフォルダの中身(HLS_option.txt、HLS_option_ffmpeg_file.txt、HLS_option_ffmpeg.txt)を、\TvRemoteViewer_VBフォルダに上書きコピーしてください。これはffmpegのhls用新オプションに対応(2015/3/1)のほか、低ビットレート用プロファイル等が追加してあります。\RecTask実行用フォルダにコピーしてください。これはNHK-BSの視聴が失敗する問題に対する対症療法のパラメータ(Logging.OutputToFile=true)を書き加えたものです。4)一旦起動して、初期パラメータをセットする。ファイルをダブルクリックして起動してください。出ていたら立ち上がっていますので、これをダブルクリックしてください。設定画面が表示されます。ボタンを押してはいけません。(TvRemoteViewer_VBが終了してしまいます。この画面で「BASIC認証」も設定できるようになっていますが、これは空欄にしてください。(過去の経緯でこの機能は残っていますが、うっかりBASIC認証を掛ける設定にするとモバイル系の端末やChromecastでうまくアクセスできないトラブルが続出しますし、そのサポートもいたしません。)またサーバを直接外部に晒すような構成でBASIC認証程度ではセキュリティ上、物の役にも立ちませんので、外部からのアクセス制御は必ずVPNの構成にするか、リバースプロキシを使うことをお勧めします。上図の赤い囲みのように、2)で配置したフォルダおよび実行ファイル/フォルダの情報を反映させてください。[...]をクリックすればファイル/フォルダの選択ダイアログが表示されますので、マウスで探して設定していくことができます。緑の囲みの部分は[初期値]のボタンを押せばセットされますので、3箇所とも初期値を設定してください。次に上図の赤い囲みの解像度の設定をプルダウンから適切に選んでください。すると緑の囲みにある「HLSオプション」に長い文字列が記入されます。(ここの編集は必要ありませんので、弄らないでください。)これは配信のデフォルト解像度で、配信起動する時に解像度を指定しなければ自動的にこの解像度になります。ここをきちんと設定しておかないと、解像度を指定しないデフォルト解像度(---)での配信スタートが必ず失敗します。ファイルの編集画面が立ち上がります。ファイルの上で「右クリック→編集」でも構いません。)ここでは上のほうから以下のようにセットしていってください。並列して配信可能なストリーム数の上限です。以前のバージョンではシステムの作り上8ストリームまででしたが、最新バージョンではその制約が取り除かれ、20ストリームでも100ストリームでもここで定義しておけば並列配信可能になりました。テレビ放送のストリームのようにCPUがリアルタイムにトランスコードするものはサーバCPU能力による限界があり、それ以上の並列ストリーミングでは映像がスムーズではなくなりますので、能力の範囲に収まるよう利用時に気をつけてください。それを越えるような数の並列配信は、エンコードの終わったファイル/プレイリストのストリーミング(特に無変換配信)を多数並べるような使い方に活用できます。いう場合、ここに必要なだけの数をセットするのも可ですが、増やす場合も20~30ぐらいにしておくのがお勧めです。大きな数にすると定期的な監視タスクの負担になり、特にトップページを開いて暫くの間固まったようになりますので、ご注意ください。2デフォルトでは3になっていますが、2に修正してください。(このほうが配信開始が早くなります。0視聴端末が無い状態でここに指定した時間(分)が経過すると、動いているストリームはすべて停止します。(つまり、自動では停止しない)の設定にしてください。本来、「視聴していなければ」ストリームを止めるタイマなのですが、視聴中でもこの時間でストリームを止めてしまうケースがあるようです。V2.39以降で刷新されたストリーム起動時の画面遷移を動かすための設定です。(別記事)過去バージョンとの互換性のためにデフォルトではセットされていませんが、ここは必ず1をセットしてください。別記事のバージョンアップ支援ツールでバージョンアップしていけば、バージョンアップのタイミングでここは自動で1がセットされます。ファイル再生機能ではここで指定したフォルダ以下にあるファイルを一覧にしますので、必要なものを列記してください。ような形式で書いてください。(割り当てドライブ名を使うとTvRemoteViewer_VBがアクセスできない現象が起きやすいです。)ネットワークパスは図のように、エクスプローラーで「ネットワーク」から辿って行くと表示されますので、そのアドレス欄からコピペすれば良いです。ファイルがあっても選ぶのが大変、と思われるかもしれませんが、ファイル再生ではキーワード検索やソート機能がありますので、あるだけ登録しておけば割と自由に観たいファイルを指定できます。ここに何も指定しないと単なるテキストファイルやログファイル等も全て一覧表示されるので煩雑ですし、うっかり選ぶと配信エラーを起こして時間の無駄になります。利用される方はその辺も指定してください。現在はDVD-ISOファイルの直接再生にも対応していますので、ISO形式でDVDを保存している方は、以下のように".iso"も加えておくと良いと思います。11つのBonDriverを複数ストリームで利用することを許可するオプションです。なっていますが、PT1/2/3、PX-W3U3など、もともと1つのBonDriverで複数チューナーが使えるタイプも多いですし、Spinelを使う場合、意図的に1つのBonDriverを使い回すことがありますので、ここはこの設定を推奨します。RecTaskをTVRock用で利用している場合の設定.もしRecTaskを同じPC上でTVRock録画などの用途でも使っている場合、以下のパラメーターもセットしてください。0これはTvRemoteViewer_VBの都合でRecTaskCentreを終わらせないための指定です。同じような話として、もしffmpegを別の用途、例えばエンコードやビデオコンバータで利用している場合、デフォルトではTvRemoteViewer_VBがいくつかのタイミングでffmpegのプロセスを全て終了させてしまうため、巻き添えで落ちてしまいます。それを避けたい場合、以下のパラメータをセットしてください。VCEの利用設定、およびサムネイルシーク利用のための設定QSV/NVEnc/VCEのハードウェアエンコーダを使える環境であれば、ローエンドPC、例えばスティックやNUCのような極小のPC環境でも楽々と高解像度配信が出来るようになります。画質や音ずれ発生頻度の点では標準のソフトウェアエンコーダに劣りますが、多くの場合十分許容範囲だと思いますので、ぜひご活用ください。詳しい利用方法やQSV/NVEnc/VCEが使える環境についての説明は別記事に譲りますが、ここではそのためのTvRemoteViewer_VB側の設定についてご説明します。"VCEEncC.exeまたはVCEEncC64.exeへの絶対パス"ここで指定するffmpegはQSV/NVEnc/VCEの利用とはあまり関係ありませんが、サムネイル表示のためのもので、設定画面のHLSアプリで指定するものと同じで構いません。(過去の経緯ではQSVの利用時にffmpegが他で指定されていないケースも有り得たので、ここで明示的に指定する形になり、それがサムネイル利用のための設定としてそのまま残っています。)QSVEncC.exeやNVEncC.exe、VCEEnc.exeはrigaya氏が提供されているQSVEnc/NVEnc/VCEを導入することで使えるようになります。詳しくは解説記事をご参照ください。複数使える環境ならそれぞれをここで指定してください。"フォルダ名(フルパス)"で指定しておくことをお勧めします。共用して使いますが、\streamフォルダはI/Oが集中する上、無数のファイルがほぼ常時書き込まれますので整理しやすくするためにも、可能なら別ディスクの別フォルダに分けることがお勧めです。(フォルダ名は任意)置き場所は容量重視ならHDDでかまいません(同時並行でなければHDDでもパフォーマンスの低下は殆どありません。)が、SSDの容量に余裕があればそちらの方が望ましいです。SSDの場合別ディスクに分ける必要はありません。8は、保持する中間形式ファイルの数です。新しく利用した中間形式ファイルから順にここに指定した数だけ、キャッシュとして保持されます。デフォルトでは2ですが、ディスク容量に余裕があればここを多く取っておけば、最近再生したDVDはキャッシュとして再利用され、キャッシュにヒットすれば数分の変換処理を待つ必要もなく直ぐに配信スタートできます。キャッシュファイルは1DVDあたり4GB~8GBを使いますので、容量を取り過ぎない程度に適量を決めてください。共通設定TvRemoteViewer_VBは番組表から選局したり、また視聴画面で視聴中の番組や他局の番組情報を表示する機能を持っていて、基本的にTVRock、EDCB、ptTimer、Tvmaidのいずれか、またはその組み合わせから情報を取得します。地デジの番組情報だけはネットからも取得でき、それらのバックアップとして使えますので、まずはその設定をご説明します。中にコメントで列記してありますので、ご参照ください。チャンネルの関連情報は削除しておく。これはTvRemoteViewer_VB.iniの設定ではありませんが、念のためにこのタイミングで各BonDriverのch2ファイル、またTVRock、EDCB等の設定をチェックして、もし残っているようなら削除しておくことを強くお勧めします。削除する理由は・サービスIDが他のCSのチャンネルと重複するため、誤動作の原因になる。・そもそも2015/3月末で終了したサービスで、定義を残しても意味がない。いうもので、うっかり残したままだと結構悪さをしますので、ご注意ください。削除手順は以下の通りです。RecTaskが使用するBS/CSチューナーのそれぞれのch2ファイルから、難視聴用チャンネルの定義が残っていたら全て削除してください。TVRockから削除する。同じ手順で、BSの難視聴用チャンネルを全て削除してください。EDCBはチャンネル削除というよりEPG取得対象外にしてください。現段階でBSをチャンネルスキャンし直せば、難視聴チャンネルは除外されるはずです。ptTimerは現段階でBSをチャンネルスキャンし直せば難視聴チャンネルは除外されるはずです。Tvmaidは利用するTVTestのそれぞれのch2ファイルから同じ手順で削除し、終わったらチューナを更新してください。以下を設定してください。;TVRockがTvRemoteViewer_VBと同じPCで動いている場合TVRock番組表を利用する場合は上のように設定してください。(但し番組表パスワードが掛かっていないのが前提です。コンピュータ名の指定で構いません。iphone用番組表を指定しているのは単に加工元としてiphone用番組表を使うのが理由なので、別にiphoneを使わない場合でもこの指定にしてください。ちなみに注意点として、実際にこのiphone用番組表を別途利用されている方は、そこで何か操作をしたら必ず最後に「チューナー選択なし」「3番組(以上の)予約表示」の状態に戻しておいてください。いうのは、前者でチューナーがどれか選択された状態だと、地上波/BSCSのどちらかの番組しか表示されない状態になったり、後者で「予約表示・無し」の状態にしていると次の番組が表示されない状態になりますが、TvRemoteViewer_VB側はその状態のままの番組情報を読んでしまうので、一部の表示が欠けることになります。iphone用番組表は同じURIでアクセスしても前回の操作状態が引き継がれる造りになっていてTvRemoteViewer_VBからはその辺をうまくコントロールできませんので、実際にiphone用番組表をお使いの方はその点をご留意いただければと思います。設定および作業をおこなってください。"http://コンピュータ名またはIPアドレス:5510/api/EnumEventInfo"またWeb番組表が利用できるよう、EpgTimerSrv.iniも、コメント文通りの設定がされているか確認してください。EDCBのTCP機能をONにする。以下のチェック、および記入がされていることを確認して、「OK」を押してください。以下の指定をおこなってください。1また、それに限らず実際に動かしてみてうまくEDCB番組表が表示されない時は、以下を指定してみてください。設定および作業をおこなってください。ptTimerを利用する場合は必ずTvRemoteViewer_VBと同じPC(Windows)上で動いている必要があります。ptTimerの実行フォルダを指定。フォルダにコピーする。Windows」の「sqlite-shell-win32-x86-xxx.zip」をダウンロードして解凍してください。すると中に「sqlite3.exe」というファイルが入っています。フォルダにコピーしてください。適切に指定してください。TvRemoteViewer_VB.iniを保存してTvRemoteViewer_VBを再起動する。以上で「ファイル→上書き保存」を選んで設定内容を保存し、メモ帳を終了させてください。クリックしてTvRemoteViewer_VBを終了させた後、再度TvRemoteViewer_vb.exeをダブルクリックして起動してください。指定した上で、Enterを押してください。ここまでの設定に間違いがなければ、TvRemoteViewer_VBのトップ画面が表示されるはずです。(このタイミングではありませんが)最初にストリームを起動しようとした時に、以下のようなファイアーウォールの警告が表示されると思います。これには速やかに「アクセスを許可する」と答えてください。ブラウザには図のようなトップメニューが表示されます。ちなみにこの画面は今後の実利用でのトップ画面になりますので、「ブックマークに登録」しておくのをお勧めします。番組表にアクセスしてみる。ご利用のTVRock、EDCB、またはptTimer/Tvmaidの番組表ボタンを押してみてください。現在は新番組表がデフォルトで表示されるようになっています。基本はこちらを使いますが、下記9のインターネット番組表を初期設定するために、旧番組表(TvRemoteViewerがもともと用意していたもの)の機能も残しています。インターネット番組表(ネットから取得した地デジ番組表)の紐付け情報を定義トップメニューの一番下にある「インターネット番組表」は補助的な位置づけですが、TVRock/EDCB/ptTimer/Tvmaid番組表と違って番組表のチャンネルとチューナー(RecTask)のチャンネルとの紐付けを自動でやってくれません。(一応試みますが、紐付け情報がないとかなり不正確です。よって紐付け作業が必要になります。番組表自体が補助的な位置づけですので、ご面倒な場合はここの作業は省いて構いません。(お時間のある時にやっておけば、万一EDCB/TVRock/ptTimer/Tvmaidの不具合があった場合にバックアップとして、「インターネット番組表」が実用的に使えるようになります。)紐付けは以下のようにおこないます。トップメニューで「管理タブ」の「Rockバー型の番組表を使う。」のチェックを一旦外した上で、「インターネット番組表」をクリックします。ここでメモ帳を開いて、番組表の()内のチャンネル名を一行ずつコピペしていってください。次に「地上波対応BonDriverのch2ファイル」をどれかメモ帳で開いて、各行に対応するチャンネル名をそれぞれの右側にコピペしてください。囲んで下の方から行末で「DEL」キーを順に押していけば、これらが一行にまとまります。削除しておいてください。後にコピペし、保存してください。以上でTvRemoteViewer_VBを再起動すれば、インターネット番組表が正確に表示されるようになります。.2.家庭内LAN上での使い方ここまで設定が終われば、家の中でPCだけでなくスマホやタブレットからも、自由にテレビや録画ファイルの視聴ができるようになります。使い方は実際触れてみればすぐに判ると思いますが、簡単にご説明いたします。(リモートでの視聴もこの応用になりますので、まずはここでしっかり操作方法を習熟して、ブックマークも付けておいてください。TvRemoteViewer_VBを落して再起動してください。今後日常的に使っていく上では、TvRemoteViewer_VBをWindowsの起動に合わせて自動起動するのが良いかもしれません。(いざ外から観たい、というときに立ち上がっていなければ元も子もないですので。)これは「いじくるつくーる」を導入して「起動時に毎回実行」に指定すると割と簡単です。うちの環境でテストした限りでは、Windows8以降の環境では何故か自動起動できない、という問題が起きるようです。これと同じ問題で、対策としては間にバッチを噛ます必要がありますので、そのサンプルバッチを添付しておきます。「TvRemoteViewer_VB_bat.zip」をダウンロードダウンロード&解凍後、バッチの中を編集して、お使いのTvRemoteViewer_VBの実行パスに修正した上でお使いください。このバッチを上記「いじくるつくーる」等でスタートアップ登録すれば、無事自動起動するようになります。指定することで多重起動させることができます。(スカパープレミアム専用の環境を立てる、家族で配信元のフォルダを分ける、等の応用ができます。-dokと少し書き換えたもので起動してください。ように別の値に変え、そちらのHTTPポートもファイアーウォールの設定に追加すればOK。片方はhttp://アドレス:40004/でアクセスできます。)を使って、他のPCやスマホ/タブレットのブラウザからポート40003にアクセスしてください。すると以下のようなトップメニューが表示される筈です。(まだブックマークしていない場合は、ここでブックマーク登録しておくと良いと思います。)ここで既に配信中のストリームがある場合はこのように下のタブが「ストリームサービス中」の表示になり、「表示」ボタンを押すと現在配信中のストリーム一覧が表示されます。観たいストリームを一回クリック/タップして反転させ、もう1回クリック/タップすれば、そのストリームをすぐに視聴できます。1.77以降ではこの各ストリームの先頭にΘボタンが付き、これを2回クリックすれば該当ストリームを簡単に終了できるようになりました。iPhone等でも画面の広さが違うだけで操作は変わりませんが、iPhoneの場合はプルダウンメニューは、プルダウンはせず次のような選択画面になります。この辺はiPhoneを使っている方にはお馴染みですね。いう微妙な違いはありますが、iPhone/iPad/AndroidでもWindowsでも同じような操作性を実現しています。(ブラウザベースですから当たり前ですが。)なおTVRemoteViewer_VBの視聴のためには、ブラウザのcookieを有効にしておいてください。cookieが無効でも使えない訳ではありませんが、端末側のカスタマイズを全く覚えてくれなかったりファイル再生で所有権が取得できなかったりで、いろいろと不便です。現在のPC用ブラウザではcookieは(敢えて設定しない限り)大抵は有効になっていますが、iPhone/iPadやAndroidでは意図的に無効化されていたり、「訪問先のみ」というような制限付きの設定になっている場合があります。それらの機器を使う場合、以下のように設定されているか確認してみてください。ブラウザのSetting→Privacy&Securityまた、スマホからアクセスする場合別の注意点ですが、スマホでカスペルスキーのようなセキュリティソフトが動いている場合、TvRemoteViewer_VBのようなプライベートサーバは見知らぬサイトと見なして、アクセスをブロックしてしまう事があるそうです。(トップページはアクセスできても、ストリーミング開始と同時にブロックされる等。)そのような場合はセキュリティソフトの設定で、危険サイトブロックをOFFにしてお使いください。Browserの例ここを弄てしまうと「プラットホームを判別してTvRemoteViewer_VBの操作系を最適化するロジック」が働かなくなってしまうので、そこは弄らず、デフォルトのままになっている事を確認してください。使用していく上で最も良く利用するのは番組表からのストリーム開始だと思います。使い方についてはまず、トップメニューで番組表のボタンを押してください。「トップページ-管理タブ」で「Rockバー型の番組表を使う」にチェックしておけば、次のような番組表が表示されます。観たいチャンネル/番組の行をクリック/タップすると、上の絵の「日テレ1」のように選択された状態になります。これをもう1度クリック/タップすると、次のようなポップアップが表示されます。放送内容を確認のうえ、このまま視聴する場合は[視聴]ボタンを押してください。視聴しない場合は周りの暗いエリアのどこかをクリック/タップすればポップアップは消えます。解像度は回線速度や視聴環境に応じて好みのものを選ぶことができます。「---」は4)-2で設定したデフォルト解像度、また「0x0sound」は映像なし音声のみのモードになります。他の解像度とビットレートの関係は後述の表をご参照ください。1920x1080や4K解像度はほぼQSVやNVEnc/VCE専用の解像度です。(ソフトエンコでは負荷が過大になります。)ストリーム番号とBonDriverは、利用可能で使われていないもので最も番号の若いものがデフォルトで選択されますので、普通はこのまま視聴ボタンを押せば良いです。(ちなみにBonDriverは複数回使えるタイプもありますが、そういう使い方をする場合は*が1個ついている状態のものを改めて選んでください。2回使われているものには*が2個付きます。)また解像度やエンコーダ等も、普段使うものをプリセットしておけば毎回選択する必要が無くなります。これにはショートカット機能を使ってください。毎回これがデフォルトとしてセットされます。.視聴ボタンを押すと暫くの砂時計表示の後視聴画面に切り替わり、次のように「準備中」のメッセージが表示されます。この「準備中」が出ている間、サーバ側で配信用のデータファイルを準備していますので、しばらくお待ちください。視聴ボタンを押してから約5~10秒で準備完了して配信開始となります。ここで「ストリーム開始に失敗しました」のようなメッセ―ジが出てトップ画面に戻ってしまう場合、配信開始に失敗しています。何回か試しても状況変わらない場合、そもそもの設定の問題としてスクランブル解除の設定がうまくできていない、デフォルト解像度が設定されていない、というようなミスがまず疑われます。いくつかのチャンネル/BonDriverでやっても同じ状況の場合は、設定を再度見直してください。視聴画面の操作について無事配信が開始されれば、まずは標準のブラウザ視聴画面になります。いう暗黙のルールに従っているものが多く、(行儀の悪いインラインの動画CMを制限する意図があるようです)、その場合動画は自動開始できず、動画エリアに数秒で図のような大きなスタートボタンが表示されます。その時は、これをタップしてください。これはあくまで原則なので、ブラウザによっては動画自動開始をサポートしているものもあります。それに限らず、モバイル環境ではブラウザを適切に選ぶことによって、より使い易い環境になります。モバイルでのお勧め環境については後日別記事にまとめましたので、ご参照いただければ幸いです。詳しくはそちらの記事をご覧いただきたいのですが、結論から言うと現状(2018/10Update)各モバイル環境別お勧めブラウザは、各表の一番上に挙げたものになります。(後日追補)この「音声、動画を自動開始させない」という特性は永らくモバイル環境限定の話だったのですが、その方が快適と考える層からは根強い要望があるようで、Firefoxでは2019/3月のver66以降、Windows/Macのデスクトップ版でもデフォルト「自動再生しない」設定になりました。したがってFirefox最新版を新規導入、あるいは66版より古いものから最新版に更新する際、デフォルトで自動動画スタートが一旦OFFになりますので、「音声自動再生をブロックする」というチェックを外す必要があります。場所は設定メニューの「プライバシーとセキュリティ」の中にあります。(許可サイトとしてTVRemoteViewerのアドレスを指定してもOK)他の動画環境の選択肢として、HLSプレーヤーの選択があります。トップページ管理タブに「HLSプレーヤーを選択する」という項目があり、ここで図のような3種類のプレーヤー選択肢があります。(一部機種では選択できないプレーヤーは表示されず、2種類になっている事もあります。Streaming)を使っていますが、このHLSの再生プレーヤーとしてこのシステムでは3種類を用意しています。・ネイティブプレーヤー:ハードウェアとOSレベルでHLSの再生をサポートしている環境で選べるプレーヤーです。・hls.jsエミュレーションですが、それなりにハードウェア支援も使います。Windows(Edge以外)/LinuxなどHLSをネイティブサポートしない環境で第一の選択肢となるほか、Androiでも機種毎の癖を吸収してくれるので、性能のオーバーヘッドが許容できるならお勧めできる選択肢です。・Projekktor過去バージョンとの互換性維持のためだけに残してあります。様々な環境での選択肢は以下のようになります。(黄色がお勧めの環境になります。Firefox(ネイティブプレーヤー)特有の使い方については→こちらデフォルトでは動くと思われる環境を適当にセットしてありますので、お好みに合わせて選択し直してください。視聴画面の説明iPhoneやAndorid環境のFirefox(ネイティブプレーヤー)を除く大半のプラットホームでは、ブラウザ表示のまま動画がスタートします。以下が画面サンプルです。TV視聴画面の主要な機能ボタン/コントロールについて説明します。リンクを押せば詳しい説明があります。動画領域を少し縮小して、右や下の操作領域を表示するボタンです。通常は透明ですが、このあたりをクリック(タップ)すれば動作します。動画の横または縦が画面一杯になるように表示します。動画と表示領域のアスペクト比が異なる場合は、動画が画面からはみ出さないところに合わせます。ネイティブプレーヤーの場合、この領域にプレーヤーが元々持っているボリューム調整やStart/Pauseボタン、各種機能ボタンが表示されます。(リモコン制御モードの時)この画面のリモコンを起動→解説ちなみにこちらはファイル再生時の画面構成です。ファイル再生機能は後ほどご説明しますが、動画のサムネイルシーク、お気に入り動画のプレイリスト機能などファイル再生特有の操作にあわせて、画面構成が少し変わりますので、ご紹介しておきます。時間またはチャプターでシーク先を指定できます。ONにすると、ここにシーク先の映サムネイルが表示されます。サムネイル(22)が表示されるほか、シーク操作でのふるまいが少し変わります。ファイル再生時は解像度、音声などの属性を切り替えるためのウインドウがポップアップします。ファイル再生時にもテレビ実況の勢いが表示されますが、ここから直接テレビ視聴切り替えはできません。NicojCatchとの連携またはASSファイルが作られていれば、録画再生時にも放送時の実況が表示されます。これはそのON/OFFスイッチ。全画面でのテレビ視聴について動画をテレビのように全画面表示するには、スマホ/タブレットでは画面フィットボタンを使えば良いですが、Windowsのようなマルチウィンドウ環境では、まずブラウザの全画面化機能でブラウザを全画面表示にしてください。その上で画面フィットボタンを押せば画面一杯を使って動画が表示されます。↓ネイティブプレーヤーであれば他に独自の全画面化ボタンもありますが、これを使うとHTML5の制御下を離れ、実況表示ができなかったり、ストリームが切り替わるたびに全画面表示が解除されるなど使い勝手が悪くなりますので、そちらは使わずブラウザ全画面機能の常用をお勧めします。ちなみにChrome/Firefoxの場合だとブラウザの全画面化ボタンは以下の場所にあります。全画面を解除したい時は画面の上端にマウスを持って行って右クリックすれば、解除用のポップアップかメニューが表示されます。Edgeも最近のアップデートで、同じようなボタンで全画面化できるようになりました。PCで全画面表示にした場合、初期状態だと図のよプに、画面の右と下にスクロールバーが表示されることがあります。これはリモコン操作モードの設定にすれば表示されなくなります。リモコン操作モードになっていない場合画面外にあるコントロールを操作できるよう、意図的にスクロール可能にしているのが原因ですが、気になる場合はリモコン操作モードの設定をおこなってください。動画サイズの調整は以上で殆ど用足りると思いますが、もっと細かく動画エリアのサイズ調整をおこないたい時は、以下のスクリーンショットのように「ZoomBar」のボタンを押して、ズームバーを表示して調節する方法もあります。これをスライドさせていくことで、画面に合ったお好みの動画サイズに調整できます。Xボタンで100%に戻すこともできます。5チャンネルの切り替え視聴画面で図のチャンネル名をクリックすればプルダウンでチャンネルが選択できますので、ここで選んで[視聴]を押せば、視聴中のストリームのチャンネルと解像度を切り替えることができます。(解像度だけの切り替えもOKです。)ただ、ここでのチャンネル切替えは一覧性が良くありませんし、各チャンネルで放送中の内容もいちいち情報ウインドウで確認することになります。v1.05以降では、サイドパネル番組表の機能を付けました。「番組表」ボタンを押すと、右側のサイドパネルに図のような番組表が表示されます。ここに現在のストリーム(BonDriver)で視聴可能なチャンネルと番組の一覧がリアルタイムで表示されます。この表示は3)の新番組表の仕様に準じます(但し局名とタイトルのみ表示)ので、詳しくはそちらを参照してください。「番組表OFF」ボタンを押すと番組表は非表示となります。(もし実況ONの状態なら、隠れていた勢いカウンタと遅延時間バーが表示されます。)また上の図にあるように、番組表をクリック(タップ)してチャンネルを選択状態にすると(約10秒)、番組詳細が情報ウィンドウに表示され、選択状態のチャンネルをもう一度クリック(タップ)するとチャンネルが切り替わります。その際にチャンネル切替えを実施するかどうか確認メッセージを表示することも可能で、これは「トップページ-管理タブ」で設定できます。これをチェックしない(デフォルト)のほうがチャンネル切替えが素早くできますが、逆にタップ操作のミスの多いタブレット/スマホでは、チェックしたほうが「うっかり操作ミス」による意図しないチャンネル切替えが防げますので、却って使いやすくなります。この辺の設定はお好みでご選択ください。HLS配信は仕組み上、TVチャンネル切り替えそのものは速くない(5~10秒)のですが、TvRemoteViewer_VBの場合、多ストリームの利用でそれを補うこともできます。メインの番組を見ながら時々チェックしたい裏番組があるとか、いくつかのチャンネルをザッピングしたいという場合には、いちいちチャンネルを切り替えるのではなく、(チューナーの数にどれだけ余裕があるかによりますが)複数ストリームで観たいチャンネルを予め立ち上げておくと良いわけです。複数ストリームが立ち上がっていれば、視聴画面では図のように表示されます。ここで切り替えたいストリームを選択して「切替え」ボタンを押せば、ほぼ瞬時にそのストリーム視聴に切り替わり、まさにザッピングしている感覚になります。(機能上は並列配信数の制限はなく、MAX_STREAM_NUMBERで定義した数までの並列配信が可能です。)この辺の使い勝手は多ストリームでの安定動作を目指したTvRemoteViewer_VBのメリットになります。並列配信は実際に視聴していない限り回線の負荷にはなりませんが、TV放送をストリーミングする場合サーバ側はその間ストリーム数分のエンコードを常時おこなっているわけで、可能な並列数はCPUの能力と配信解像度に依存します。(配信解像度が低いほど負荷は低くなります。3570Sのマシンを配信サーバにして実際に並列テストしてみたところ、解像度[320x180L]では8並列でもCPU使用率80%前後で問題なく配信、[640x360]では4並列で80%程度で5並列では100%に達しました。(ソースはいずれも地上波HD)但しこれは全てCPUパワーに頼った場合の話で、状況はQSV/NVEnc/VCEが使えるようになったことで劇的に変わり、ローエンドマシンでもフルHDの1~2並列、ミドルレンジ以上ならHD4並列、解像度を落とせばもっと多くの並列配信が可能になっています。いえCPUエンコードは不意の停止や音ずれが起ききにくく品質も高い、という利点がありますので、うまく併用するのがベストだと思います。視聴が終わったら画面下の操作エリアにある「このストリームを終了する」をクリックすれば、現在のストリームを終了した上でトップメニューに戻ります。「この」を「全ての」に替えれば、自分自身も含めた全てのストリームを終了させた上で、トップメニューに戻ります。視聴を中断するけれどストリームは維持したい、という時は「トップメニュー」をクリックするだけで良いです。ストリームを維持しても他の画面に遷移すれば、他の端末で該当ストリームを観ていない限りは実際の配信は行なわれず、回線も無駄遣いになりません。サーバ側ではエンコードをずっと続けますので、その分のCPUを使い続けます。その辺の操作の選択は、使い勝手とサーバの余力で都度選べば良いです。3)Rockバー型番組表についてここでは番組表の使い方をご説明いたします。番組表はトップページ番組タブで、「EDCB番組表」「TVRock番組表」「インターネット番組表」などをクリックすると表示されます。TVRockの"Rockバー"を参考にして、リアルタイムに内容が更新されるようにしていますので、開きっぱなしにしておけば今どの局で何をやっているのかが判りやすいと思いますし、この番組表フォーマットで、トップ画面にお気に入りチャンネル(番組表ポータル)を表示することや、視聴画面のサイドパネルに表示しながら、直接選局することも可能になっています。これは現在デフォルトで表示される設定になっていますが、正確にはトップ→管理タブで「Rockバー型の番組表を使う」がチェックされている状態で有効になっています。このチェックを外すとこちらの例にあるような開発の初期段階で提供されていた番組表に変わります。今となってはインターネット番組表の初期設定ぐらいでしか使いませんが、ご参考まで。この番組表はいろいろカスタマイズが可能です。その場合「番組表カスタマイズ」ボタンを押してください。すると以下のような画面がポップアップします。ここで設定した項目は、右下の「適用する」を押せば反映されます。表示項目については、上にある「時間を表示」「詳細を表示」で選択できます。画面が広い端末では両方とも「表示する」のままで良いと思いますが、スマホなど狭い画面の端末ではこのように「番組時間」を省略したほうが一覧性が良くなります。番組の時間も判らないのでは番組が始まったばかりなのか終わる間際なのかも判らない、という声もあるかもしれませんが、実は「色」でそれを表すようにしました。大まかな目星は見た目で付けられます。局名以外のエリアは指やマウスで左右にスクロールしますので、詳細情報は敢えて省かなくても、必要な時に右に辿って行って見ることができます。(尤もPCであればモニターで充分横全部の情報を表示できます。)またマウス操作のPC/Macでは、番組名のところにマウスオーバーすれば最初の絵のように詳細情報がポップアップするようになっていますので、日頃はこれもRockバーのように縦長にして置いておくのも良いかもしれませんね。この番組表から観たい番組が決まったら、その行で一回クリック/タップしてください。すると行が反転しますので、この状態でもう1回この行をクリック/タップすれば開始指示の画面が出てきますので、ここでストリームを起動すれば良い訳です。このポップアップ画面は番組内容の確認用に使っても有用です。(ポップアップエリア外の暗くなっているところをクリック/タップすればポップアップは消えます。)なお、タップ操作のモバイル系の場合、あまり急いで2回タップするとダブルタップと見なされて(拡大/縮小など)別の動作をしてしまいますので、タップの間隔は気持ち1呼吸入れるのがコツです。(マウス操作の場合はダブルクリックでも構いません。)この番組表の文字の色は、番組の進捗を表しています。(実装では一応色覚にハンデのある方でもわかるよう微妙な明度の差もつけたつもりですが、わかりにくい場合は教えてください。)このように番組が進むに従って色が変わっていき、赤やグレーになった番組は今から見てもほぼ終わっているか、既に終わって(特にBS/CSの場合、番組時間帯の終わりは長い通販や番宣が入ることが多いですので)余り今からチャンネルを合わせる意味がないかもしれない、という意味になっています。(他に放送休止中や通販番組もグレーアウトします。)次の番組は?番組時間が残り9分以下になると、番組の表示はグレーアウトしますが、「詳細」欄には次の番組情報が表示されるようになります。次はどのチャンネルに行くか、迷ってる時のご参考にどうぞ。番組表ポータル他の便利な設定もご紹介します。チェックすると、トップ画面にも図のように番組表がリアルタイムに表示されるようになります。ここから直接視聴の開始も可能です。ポータルに表示する放送局はカスタマイズ画面のチェックマークで選択できます。表示するとポータルの意味がなくなってしまうので、30局を上限にしています。(それ以上はチェックできませんので、入れ替えたいときは不要な局のチェックを外してください。)ちなみに番組表の下には以下のようなコントロールが付いています。(ポータル・各番組表共通で表示されます。)これは番組表背景の色と明るさをカスタマイズするものです。色は青緑赤の三色から選べます。背景は暗くすれば文字はくっきりしてきますが、あまり暗いと進行に合わせて変わる文字色の違いが判りにくくなる点はご注意ください。(明るめの背景色のほうが番組が終わりに近くなると背景に溶け込んでいく効果があるのと、全般に目にも優しいです。)また、番組表の表示順もここで変更できます。(サーバiniファイルでも表示順は設定できますが、ここでの設定はそれを上書きするものになります。)局の上でクリック/タップしていけば複数局が選択できますので、その状態で「上へ」「下へ」のボタンを押してください。気に入った並びになったら「適用する」で保存してください。(他の項目は端末/ブラウザ毎の設定ですが)この局の並び替えだけはサーバーで共通の設定になります。これは表示量は端末毎の特性で変えたいのに対し、どの局を上に表示するかは端末によらない好みの話ですので、一箇所で変えれば全体に反映させた方が便利じゃないかという発想です。他にもいろいろなタイプを考えたりもしたのですが体力との兼ね合いもありますので、とりあえずはこの辺をうまく使っていただけると。「実況」のボタンが表示されている時は、ニコニコ実況を表示できます。実況って何?という説明は今更不要かと思います。(こちらにもちょっとした説明があります。)これがあると楽しい、という方にとってはなくてはならないものですし、邪魔という人にとっては大した価値もないものかもしれませんが、少なくともテレビの楽しみ方の新しいバリエーションかと。この機能もここでは汎用的なブラウザのHTML5とAjaxの技術(のみ)を使って実現していますので、プラットホームを選びません。これはiPad画面なおたまに、動画エリア下の(通常は数秒で消える)コントロールエリアが表示されたまま消えないことがあります。いう場合動画エリアをタップ/クリックすれば直ぐに消えるのですが、コメントが流れている時は(コメントが動画の上に被っているため)この操作できない場合があります。その際は「実況OFF」のボタンを押して一旦コメントを消してから操作してください。操作後実況ボタンを押せば、コメントも復活します。当システムでは、リアルタイムの放送とはちょっと時差(遅延)があり、ある程度コメントのタイミングも自動調整するもの、ずれが大きな場合はコメントの表示タイミングを手動調整したほうがより快適になります。その調整に使うのが右側に現れる「コメ遅延時間」のスライドバーです。短い時間であれば動画は止めることもできます(Start/Pauseボタン)。その際はコメント表示も連動して停止しますので、遅延時間がそれに応じて増えていきます。ストリームを開始した場合には遅延も十秒台で、システムが自動調整する遅延の誤差も少ないのですが、それに比べると既に存在するストリームを視聴する場合は、HLSの特性上開始位置が不確定で誤差が大きくなりますので、タイミングの判りやすい場面で誤差の秒数を数えて、それで調整するとよいと思います。実況勢い表示さて、サイドパネルには各チャンネルの実況勢いが表示されます。BSや一部のチャンネルは勢いが0でない時のみ表示されます。このサイドパネルは番組表を表示している間は下に隠れますが、番組表OFFにすればまた現れます。勢いが気になるチャンネルをクリック/タップすれば、10秒間だけそのチャンネルが赤くなり、情報ウインドウに現在のそのチャンネル(またはご視聴可能な系列局)の番組内容が表示されます。その10秒の間に再度そのチャンネルをクリック/タップすれば、(使用中のBonDriverで切り替え可能であれば)そのチャンネルに直接切り替えることができます。その際図のように確認メッセージを表示することもできますし、確認を省略することも出来ます。「プレーヤー停止中はコメントも停止」設定これは通常チェックしたままにしてください。現在はあまり利用価値のない機能ですが、過去にiPhoneで動画のブラウザ表示ができず実況を被せて流せなかった時代に、これを外すことで単体のコメントプレーヤーとして使えるようにしていた名残りのスイッチです。コメント表示エリアの制限、実況文字の不透明度、文字サイズの調整トップページ管理タブに、実況表示関連の設定項目があります。同じ調整は現在、視聴画面やリモコン機能からリアルタイムにおこなうことができます。このうち「表示領域を制限する」の設定では、スライドバーでコメント表示エリアを調整することができます。(動画エリア上辺を0%として、コメント表示エリアを上下%で指定する。)例えば動画エリアの上端にだけコメント流したいとか、真ん中から下のエリアにだけ流したいという場合には、ここで調整してみてください。「不透明度」の設定では、流れる文字の(不)透明度を指定できます。(100%で完全に不透過。数字が小さくなると透明度が高くなる。)いわゆる「弾幕」で動画が全く見えなくなるのも困る、という方はここを調整してみてください。動画サイズに対してコメントの大きさを変えたい時はここで調整してください。ver1.14以降)端末の能力を超えてコメントが大量に同時表示されると、コメントの流れのカクつくようになったり、映像もカクつくことがあります。意外なことですが、コメント数が多い時の映像のカクつきはCPU性能控えめなAndroidやiOSよりも、Flashで動画再生をソフトウェアエミュレーションしているPCのほうが出やすい傾向があります。(映像解像度を下げると緩和されます。Stickの場合、映像自体はH/W動画支援のおかげで元々スムーズなのですが、Javascriptの処理能力は限られているため、コメント数は絞らないとスムーズに流れなくなる他、あまり無理をさせると映像のほうまでカクついてきます。そもそも実況表示エリアを絞っている場合は、あまりコメントが多すぎても重なって読みにくくなるだけですので、ある程度絞ったほうが快適になります。そこで、現在のTvRemoteViewerでは最大コメント数を、Chromecastのような性能の限られた環境ではデフォルト40、それ以外ではデフォルト120にセットした上で、これを10~360の間で調整できるようにしてあります。(それを越えた数のコメントは間引かれます。)コメント数20程度だと大分寂しいものの負荷はかなり軽くなります。40ぐらいにすればちょっとした(100コメ/分ぐらいの)勢いでもカバーできますし、120もあれば、よほどの弾幕状態にならない限りは十分だと思います。1000コメ/分のような弾幕状態をそのまま表示したい場合は、ここを200以上に(処理能力に余裕があれば)設定しても良いと思います。この設定は実況サイドパネルの図の位置にある調整用スライダーで調整します。確定したい数字になったらボタンを押してください。するとコメントプレーヤーが再起動してシステムに反映されます。コメントの負荷は表示だけではなく、単なる読み込みにも負荷もかかっていますので、同じ環境で同じ最大コメント数設定でも「弾幕状態」の番組では重くなります。したがって映像やコメントが重いと感じた時や、重なって読みにくくなくなった時は、都度ここを下げてみてください。実況がうまくスタート/表示されない時はコメントプレーヤーを再スタートしてみる。いうタイミングで起きるのかは何とも言えないのですが、実況がスタートされていて、実況サイドパネルも表示されてそこそこのコメントもある筈なのに、数十秒待っても実況コメントが全く表示されない事があります。(特にiPadで起きることが多い。)そういう時は実況プレーヤーを再スタートさせれば復旧することが多いです。ボタンを、スライダーを動かさずにそのまま押してみてください。すると単純に実況プレーヤーが再スタートします。それで実況表示されるようになると思います。現在のTVRemoteViewer_VBサーバはプロキシ機能も持っているため、サーバを経由してニコニコにログインしてコメントを投稿する機能も容易に実現できると思います。リモート視聴でのタイムラグを考えるとコメント投稿は(数秒先を読む「心の目」がない限り)いまいちノリの悪いものになる気がしますので、いまのところ実装の優先順位は下げています。現状ここはあくまで見て楽しむということで、投稿したい時は気合入れてTVTest+NicoJK等でタイムラグ無く参加するのが良いと思います。twitterと違ってタイミングに合せた”シンクロ率”がニコニコ実況参加の醍醐味ですから。ver1.14以降では2ch実況を流す機能が追加になりました。表示はニコニコ実況と一体化していますが、どちらがどちらのコメントか判るように2ch実況にはお好みの色を付けることができます。ver1.22以降では、(2ch実況はこうでなくては、という方もいるかもしれませんので)色をランダムに付けるモードも追加しました。ランダムとは言っても一応同じIDの人のコメントは同じ色になります。「広告ブロックを利用する」をOFFにしてください。(ONだと2chで送ってくる広告データを検出して通信をブロックしてしまうようです。)2ch実況を加えることのメリットは、(NHKやキー局の)局専用板があるのとは別に、BS、CS、野球/サッカー/スポーツ等のカテゴリー板や、いわゆるなんJ等もあってそれなりに実況民が集まる番組であれば必ずどこかに実況スレがある点です。逆を言えばニコニコのように放送局ごとの実況場所が決まっている訳ではないので、システムにとっては適切な板/スレを探す機能や、実況中のスレが1000レスに達して次のスレに移る時に(スムーズに次スレが立つと決まっている訳でもないので)それを自動で検知して適切な次スレに繋げていく機能も必要です。局専用板でも番組が切替われば主スレが途中で切替わりますので、それらを想定した都度のスレ勢い計測も必要になるなど、いろいろと仕組みが必要になります。いうことを考えながら開発にも時間をかけていました。結果としてこのプログラムでは、一旦板/スレを選べばあとはほぼ自動で動きます。以下のポップアップが表示されます。この段階で主要キー局/系列局や、BS/CS/スカパープレミアムでも常設スレが立っているような局では上のようにデフォルトの板が表示されています。ない局やスポーツ専門チャンネルでは「板選択」とだけ表示されますので、まずはプルダウンで希望する板を選択してください。デフォルトの板が表示されるチャンネルでも、野球/サッカー/テニス/競馬などは専用板の試合/チーム専用スレや「なんJ」スレのほうが活発に実況がされていますので、番組内容によってそちらも見て、勢いをチェックしてから選んだほうが良いと思います。プルダウンでは局の特性によってできるだけ適切な板が上に来るように都度調整されています。■■」という項目があってデフォルト選択されています。その状態のまま「開始(あるいは変更)」を選べば、その板で最も勢いのあるスレを常に自動選択するようになります。(これを仮に「板指定モード」と呼びます。使えるチャンネルであれば」、それが指定されたものとして自動で2ch実況もスタートします。局専用板の無いチャンネル、また東京MXのように局専用板があっても殆ど機能していないチャンネルでは、この「自動選択」という選択肢はありませんので、希望する板とスレを選んでください。(但しかなりの数の局でデフォルト板とデフォルト起動スレの参考名がサーバーファイル「2chThreads.json」に設定されていて、とりあえずその設定で「スレ指定モード」の自動起動を試みるようになっています。)またデフォルトの板が表示されているチャンネルでも、野球/サッカー/テニス/競馬などは専用板の試合/チーム専用スレやなんJのほうが活発に実況がされていますので、番組内容によってそちらも見て、勢いをチェックしてから選んだほうが良いと思います。「勢い測定」ボタンを押すと、(表示中のスレ一覧を取得した時点からシステムが最低10秒程度の間を置いた上で)増加したレス数を計算し、上図のように増加の多い順にスレが表示されます。これでどのスレが生きているか、適切に実況されているスレか、が判断できると思います。ここからスレをクリックして選んだ上で「開始(あるいは変更)」ボタンを押せば、そのスレを使った実況表示が始まり、そのスレが終了した後も「最初に指定したスレタイにどれだけ名前が似ているか、またスレ勢いはどうか」を総合的に判断しながら適切なスレを選んでいきます。(これを仮に「スレ指定モード」と呼びます。)一度2ch実況をスレ指定モードで起動すれば、「その番組時間が終わるまでは」、サーバーに「チャンネル+指定した板/実況スレの紐付け情報」が記録されます。この機能によって、他の端末に移ってそのチャンネルを見続けたい時や、一旦別のチャンネルを観た後でチャンネルを戻しても、該当の番組が放送されている間は指定したスレの実況が自動でスタートします。この辺は特にスポーツ観戦時に便利かと。一応ご参考までにまとめると、2ch実況の自動スタートでは以下の3種類のロジックが働くことになります。2ch実況ボタンの下には、2ch実況のステータスが表示されています。実況開始時に「板指定モード」を選んだ場合、また上の3つのどれかのパターンで自動起動する際は、最初に図のように黄色の背景でスレ選択中、というメッセージが表示されます。この間は勢いを自動計測しながら最適のスレを選んでいます。十数秒で最初の選択結果のスレが表示されます。そのとき5秒間だけ、新しく選択されたことが判るように背景が赤くなります。最初の5秒間だけ赤い背景で表示されるその後は通常表示に。(スレが変更されればまた5秒間赤背景になる。これは10秒間のコメント数ですので、6倍すればニコニコの勢いと比較できます。スレが1000レスに達したら再度背景が黄色くなり、次スレを選択していきます。↓10秒~20秒で次スレが選択されてほぼ切れ目なく実況継続していきますが、スムーズに選択される場合は黄色背景の「次スレ選択中」が表示されない場合もあります。この辺のスレの選択は勢いの揺らぎもありますので、コメントがまばらな時や、実況開始/スレ切り替え直後の数十秒間は最適のスレが選ばれるとは限りませんが、大抵は暫く待っていればより適したスレが選択し直されますし、板指定モードなら番組が替って主スレが替っても数十秒で自動追尾されます。スレ指定モードでスレ名称ががらりと変わってしまったり元々名称が単純すぎる場合、あるいは局専用板でないにも関わらず番組専用スレが次々に立つ場合には、システムがうまく次スレを選択できない事もあります。いう時にはポップアップからスレを指定してください。BS板は、利用するチャンネルがBS101、BS102、プレミアムと3局あるにもかかわらず「あまちゃん」のような番組専用のスレが立つため、デフォルト定義では番組の切れ目で追尾できなくなる事があります。いう時には明示的にスレを指定してください。)なお、仕組み上は複数スレが盛況だったり候補になる場合(例えば巨神戦での巨専/とらせん、なんJスレなど)それらを同時に流すことも出来るのですが、実況板に余計な負荷をかけない観点で、同時に流せるのは1スレのみという仕様にしています。しても複数スレを流したい場合は複数画面を立ち上げてください。映像が不要な時は0x0モードで映像offにしたり音声offにしておけば良いです。今まで普通に使えていたのに2ch実況が全く表示されなくなり、暫くするとメッセージ欄に「通信エラー」と表示される事があります。これは2chサーバが落ちているケースが多いのですが、たまに2chのサーバが変更になっている事があります。今年(2015年)6月にも変更されたことがあり、その際はプログラムのリリースアップで対応したのですが、使う側に立ってみれば予告なしにおこなわれるこういった変更のたびにリリースアップを待たなければいけないというのも心許ないと思います。v1.63では、サーバ変更を検査して変更があれば反映する機能を追加しました。トップページ管理タブで、以下のボタンが追加になっています。これを押すと暫くアドレスを検査したのち、もし変更になったものがあれば、以下のように変更されたものの一覧が表示されます。ここで「反映」を押せばマスターに反映され、以後どの端末も2ch実況を今まで通り使えるようになります。2ch実況が表示されなくなった時はここでチェックしてみてください。(サーバが落ちている時は「アクセスできません」と表示されますので、判別できます。).以上が2ch実況機能です。使う上では特に難しいことを考える必要もなくニコニコと並ぶ実況機能として使えますし、2chの実況板の性格を知っていけば更に便利に使えると思います。2chに関しては2015年3月以降いろいろな話があるのに対して、この機能は「公開されているスレを1つだけ標準のブラウザで開いて10秒単位で前回スレ番以降をリロードしながら動画の上に流す機能」なので、専用ブラウザの「2ch.netウェブサイトの閲覧及び書き込みを可能にする専用ソフトウェア」という定義には当てはまりません。(その辺の議論には応じられませんのでご遠慮願います。)但しapiもdatも使用していないとはいえ、いつまで使えるかも保証はできませんので、あくまで期限不定のテスト機能としておきます。使ってみれば判る通り便利なのは確かですし、そもそも2chはニコニコのようにリアルタイムにコメントを読み込むような仕組みになっておらず、無理にやろうとすると数百ミリ秒単位に新規コメントを読みに行くような負荷をサーバーに掛けることになります。(それを避けるためNicortなども数秒~十数秒遅れのコメント表示になっているわけで。)それに対して、TvRemoteViewer_VBはもともと映像自体に放送から十数秒の遅延がありますので、それを逆用すれば2chからの読み込みも十秒程度の間隔でゆっくりやって充分間に合いますし、もともとニコニコ実況用に作った遅延時間バーを使って映像にぴったり合うよう調整することもできます。(仕組み上、ニコニコと2chのタイミングがずれることは殆どありません。いう面でも2ch実況との相性は非常に良いと思います。(残念ながら投稿機能やログを取る機能は無く、その辺に立ち入ると問題になりますのでやる気はありません。投稿する時にはお好みの専ブラを使ってください、ということで。)6)ファイル再生のストリーミングTvRemoteViewer_VBには、放送中の番組だけではなく、PCに保管されているtsファイル、mp4、avi、wmvファイルなど、大抵のメディアファイルの再生を配信する機能があります。(但しISOファイル直接再生はNG)この機能を使うにはトップメニューから[ファイル再生]を押してください。iniファイルの指定に従ったファイル一覧が出てきます。(サーバ起動後の初回のみ、サーバー側リスト作成ためこの画面を開くのに数秒かかります。)ここの機能も豊富なのですが、要はリストで再生したいファイル名をクリック(タップ)して、上のほうでストリーム番号、解像度を指定した上で「再生」ボタンを押すだけでファイル再生が始まります。いう感じで気楽に使える機能ですが、以下ではもう少し使いこなすための機能をご説明します。ファイルリストは端末の能力に合わせ徐々に増えていく。TS抜きチューナーを使い始めて日が浅いうちは、対象になる録画・映像ファイルの数もせいぜい数百個だと思いますので、どんな端末であっても扱いは簡単です。ところがこれが何年も経って映像ファイルも数千を超えるようになと、PCでは何とかなるのですがモバイル端末だとファイルリストを軽快に扱う処理が難しくなっていきます。そこでTVRemoteViewer_VBでは、最新の50件ほどのファイルリストで素早くファイル操作画面を起動した後、Ajaxを使って徐々に古いファイルリストを追加していく、という手法を取っています。追加していくうちに端末の性能上これ以上のリスト追加は無理、と判断した場合、そこで取得は打ち切ります。(このような作りの副産物として、多量のファイルリストで何件まで読み込めるか、をjavascript処理能力の簡易指標に使うことも出来ます。方法でファイル名検索が出来ますので、iniファイルの指定はあまり難しいことは考えず、家庭内LAN上にある動画フォルダ全てを登録しておくことをお勧めします。操作上の注意点ですが、ファイルリストの追加中(10秒に1回程度)は、HTMLに追加分を組み込むために一瞬動作を受け付けなくなります。タイミングが判りやすいようにリストの背景が青くなりますので、その間(1秒前後)無理な操作はせずお待ちください。ファイルリスト取得が完了した時点で、右下は日付ではなく「全てのファイル」という表記に変わりますし、もし端末の限界で取得を打ち切った時は件数の前に*が付いて、いずれにしろそこでファイルリスト取得は終了します。ファイルリストの更新このファイルリストはサーバーがリクエストの度に最新のものを作ってくれるのではなく、定期的にサーバーが作成したものがソースです。その更新間隔が結構長いため、端末側で何度表示更新しても、なかなか新しく録画した筈のファイルが反映されないような時があります。そこで端末側からのリクエストで強制的に最新のリストを作って送り直してもらう「最新リストに更新」というボタンを追加しました。このボタンを押すと少し待たされますが、サーバー側が最新のファイルリストを作り直して送ってくれます。録画したばかりのものがなかなか反映されない、という場合はこれを押してみると良いと思います。画面上のほうにある「Search」欄を使ったキーワード検索で、リストを絞り込むことができます。この検索機能は・英数大文字/小文字/半角/全角を区別せず検索できる。・複数キーワードの指定には半角/全角スペースで区切る。・not(含まない)という指定にはキーワードの頭に-を付ける。-1のような文字自体を検索したければ"-1"と囲む。いう基本のほか、インクリメント・サーチに対応していますので、「検索」ボタン不要で、キーワードを入力/変更する度に即座に検索結果が反映されていきます。完全にインクリメント形式にするとスマホ/タブレットでは却って操作性が落ちます(カナ漢字変換で一時的に入れたアルファベットや平仮名にいちいち反応してしまう)ので、キー入力の度ではなく、スペース/Enter/バックスペースキーを押すことで検索が更新されるようにしています。何か検索結果が更新されていない、と思ったらとりあえずスペースかEnterを押してみてください。PCなら検索欄やSearchの文字をクリックしてもOKです。1.77以降では(処理系によりますが特にPCでは)検索欄に履歴がプルダウンされるようになりました。検索結果からストリームを起動したりプレイリストに登録をおこなうと、その際の検索ワードが履歴に追加されていきます。実は画面最上部の赤い欄は、現在選択されているファイルを判り易くするという目的の他に、キーワードのコピペ元という意味も兼ねています。(色も特にスマホ/タブレットで選択エリアが判りやすい色にしています。)これを活用するには、キーワードとして使いたい文字列を含んだファイルを選択した上で、PCであればここからマウスでコピペして検索欄をクリックすれば良いですし、スマホ/タブレットなら希望のキーワード辺りでロングタップ後、エリアを選択してコピーし、検索欄でペーストしてSearchを2回タップすれば検索結果に反映されます。赤い欄はスマホ/タブレットでコピー操作の対象になるように編集可能属性になっていますが、ここでうっかり文字列を消去/変更してしまっても何の問題もありません。(単なる表示エリアですので。再度正しく表示させたければもう一度下のリストで選択すればOKです。(リストには表示されませんが。ボタンでリストをソートすることもできます。これは特にシリーズ物の一覧を出したい時に便利だと思います。現在選択中のファイルはソートしても必ず真ん中辺りにくるようにリスト位置が調整されます。リストの先頭に戻りたい時は「先頭行へ」ボタンを押してください。このような検索機能を活用することで沢山のファイルの中から観たいファイルを探して再生するのが簡単になりますし、結果をプレイリストに登録すれば、毎回検索する必要もなく観たいファイルを順番に再生できるようになります。リストを取得し切れない場合は「絞込み再ロード機能」を活用する。1で説明のように対象ファイル数が多くなると、あまり速くないスマホやタブレットでは(たまに観たくなる)古いファイルがなかなかリストに出てこず、そのうちにリスト取得が打ち切られてしまう事もあります。いう場合は観たいファイルのタイトルがどういうものか大体判るはずですので、余り待たずに「絞込み再ロード」の機能を使って、サーバ側で予め絞り込んだファイルリストを送ってもらうことで、希望のファイルリストを素早く取得できます。この絞込み機能の使い方は以下の通りです。最初にファイル一覧を開いた状態です。右下に「キーワード絞込み再ロード」のボタンが表示されますが、有効になっていません。ここで検索欄に観たい(昔録画した)ファイルのキーワードを入れ、EnterかSpaceを押して検索更新してみますが、まだその日時のファイルリストは取得されていないため、何も表示されません。そこで(キーワードを入れた時点で「キーワード絞込み再ロード」のボタンが有効化されていますので)そのままの状態で「キーワード絞込み再ロード」ボタンを押してみます。すると、そのキーワードがサーバに送られ、しばらくすると結果のリストが以下のように表示されます。この場合リストは日時で分割ロードされず、条件に合致するものがファイル日付に関係なく一挙に表示されます。ここから希望のファイルを選んで再生スタートすれば良いわけです。右下には絞込み件数が表示され、また絞込みを解除して元の全体リストに戻りたい時は、「絞込み解除して再ロード」のボタンを押せば元の全体リストに戻ります。観たいファイルのキーワードが判っている時は、この機能を使って目的のファイルがすぐに見つかると思います。(この絞込み再ロード機能はサーバ側の簡易な検索機能を使いますので)以下のような弱点もあります。うまくリストが表示されず空欄になってしまう時は、一旦絞込み解除した上でキーワードを変えてリトライしてください。英数大文字/小文字/半角/全角を区別しますので、それらは正しく入れる必要があります。区別しますので、ファイル名と同じものを正確に入れる必要があります。not条件(-XXX)はサポートしていません。・ブラウザの再ロードボタンを押しても、全体リストには戻らず絞込み状態のままになる。ページ移動せずに全体リストに戻りたいときは、ブラウザの再ロードではなく「絞込み解除して再ロード」ボタンを押してください。この「キーワード絞込み再ロード」ボタンは、全ファイルのリストを取得した時点で消えます。画面に表示されないかあっという間に消えてしまう、という方は十分に速い端末を使っていると思いますので、そもそもこの機能は不要かと思います。書いた後に追加された機能ですが、「ファイル全リストを強制取得」することも出来るようになりました。ファイルリスト取得の途中で図の「残りの全てのリストを読み込み」ボタンを押せばその時点で未取得のファイルリストを最後まで、読み込み時間は無視して一気に読み取ります。遅めの端末だと読み込み終了まで操作を受け付けなくなるので使用にはご注意いただきたいのですが、もし最初からかなり昔のファイルも含めて探したいと決めている時は、迷わずこれを押してください。時間はかかるものの細切れに読み込むよりは処理効率も良く、かなり遅い端末でも(現用端末であれば)10~30秒程度待てば終わりまで読み込めると思います。以降ではファイルの保存場所で絞り込む機能も追加になりました。図のような「保存場所で絞込み」のチェックボックスが追加され、チェック状態にするとファイルリストの左側に図のようなフォルダリストが表示され、クリックして選択することで、そのフォルダ下に保存されているファイルだけが表示されます。「保存場所で絞込み」のチェックを外すか「TOP」をクリックすれば絞込みは解除されます。エクスプローラーでファイル一覧を表示しているイメージに近くなり、フォルダの先頭の[+]をクリックすれば一階層下のフォルダ一覧が表示され、[~]をクリックすれば下の階層は隠れます。コンピュータに存在する全てのフォルダではなく、表示対象の映像ファイルがあるフォルダだけが一覧になっている。選んだフォルダの下位の階層に存在する全ての映像ファイルが表示される。(エクスプローラーでは直下のファイルのみ)特に(2)は映像ファイルを扱う上ではこちらのほうが便利と考えていて、この辺のポリシーはWhiteBrowserを参考にしています。ファイラではなく映像データベースに近く、フォルダ名もあくまで絞込みキーワードの一種という扱いになっています。以上のようにして選択したファイルは、上の「再生」ボタンを押すことで再生スタートしますが、この際に指定するストリーム番号/解像度などの選択は、番組表の操作と殆ど同じですので、適切なものを選んでください。ここで「開始シーク位置」は番組表にはない指定ですが、これは映像ファイルの先頭から指定秒数だけ経った位置から再生する、というパラメーターです。)ファイル再生直後は下にあるように再生位置の変更ができませんので、これは特に先頭がCMや番宣であると判っていて時間も概ね判る時にそれらをスキップする、という使い方に便利です。ストリーム番号は空いているものが自動選択されていますが、これも番組表からの起動と同じように、既に使われているストリーム番号をわざと選んでそこにある既存のストリームを「潰して」、そのストリーム番号を再利用する、という使い方もできます。ファイル選択画面の場合最下行に、各ストリームの概要が判るボタンが付きますので、ここで現在動いているストリームの状況を確認できます。(もちろんボタンを押すことで、それらの視聴画面に直接ジャンプすることも可能です。文字、その後にファイル名の先頭数文字、という表示がされますが、これは他の画面でも同じルールです。(文字数は画面によって違います。)以上でファイル選択画面の説明は終わりで、これ以降では実際の再生画面をご説明します。一般的な使い方ファイル再生の画面構成もテレビ視聴の場合と殆ど同じで、「チャンネル切替え」関連のボタンが無いかわりに「シークボタン」が付いて、また下のほうに(再読み込みボタンではなく)「再読込操作ボタン」が表示されるぐらいの違いです。中ほどにあるストリーム一覧ではストリーム番号の後に「F」が表記されて、ファイル再生とわかるようになっています。ファイル再生がテレビ視聴と違うのは、好きな所に飛んだり戻ったり、あるい途中で止めたあと一仕事終わってから続きを見る、というような事が出来るわけで、シークボタンはその「飛んだり戻ったり」の機能になります。具体的には好きな所にジャンプしたり、CMになったら1~2分程飛ばしたりすることができます。ファイルの再生位置はストリームが維持されている限りはサーバーに記録され続けていますので、別の端末で視聴を渡り歩いても、同じストリームの再生シーンは引き継がれます。いう視聴の流れが、特に意識することなく自然に実現されます。一種のクラウド型サービスになるわけです。「PCでは高解像度で観る」というような切り替えが都度できると便利ですが、その機能が「再読込操作ボタン」に割り当てられています。下のほうにある「再読込操作」ボタンを押すと図のようなポップアップが表示されますので、ここで「今の場所から再開」のままで解像度だけ変更すれば、視聴中のシーンから解像度を変えて鑑賞を継続できるわけです。ファイルの再生位置をストリームを維持している間だけではなく常に覚えていてくれると更に便利ですが、とりあえず一般のファイル再生では、映像を続けて鑑賞したい場合はストリームを停止させずに維持してください。(エンコード済みになればストリーム維持しても殆ど負荷はかかりませんし。プレイリスト機能を使います。「エンコード済み」の違いHLSストリーミングでファイル視聴する仕組みが放送視聴の仕組みと一番違うのは、サーバー側がエンコードをどんどん先に進めていって、エンコードが完了するとプレーヤーの振る舞いが変わる点です。HLSのプレーヤーは「エンコード進行中」には殆どの細かい操作ができず、作られていくストリームデータを決められたロジックで再生することしかできません。どこを再生するかをユーザー側は指定できず、エンコード進行中にページを離れて暫く後に視聴再開すると、再生位置は最新のエンコードデータの辺りに移動してしまいます。(この辺の作りを見るとHLS再生の仕組みはもともとはライブストリーミングを想定して作られていることが伺えます。)エンコードが完了すればプレーヤーの機能でシーク操作ができるようになりますので、普通のファイルをメディアプレーヤーで再生するのと同じような操作性になるのですが、そうなるまではストリームを開始してから性能の良いサーバでも数分(30分番組で3~4分)は待たなければなりません。この辺の制限について改訂前の記事ではいろいろ注意点を書きましたが、ファイル再生がいま1つ使いにくいと感じる原因になっていたのではないかと思います。v0.96以降)の機能を使って、エンコード進行中であってもプレーヤーに頼らずにシークできるようにしました。状態では操作にいくらか違いがありますので、ここではそれも踏まえて説明いたします。エンコード進行中とエンコード済みの状態でのシーク動作の違いは以下の通りです。(なお一部の生tsファイルでは経過時間を計算するための構造が壊れているものがあり、左のサーバー側でのシークはうまく使えず、やろうとすると常に最初に戻ってしまうものがあります。いうファイルではエンコード終了して右側の状態になるまでシーク操作は待つか、一旦mp4にエンコードして欠陥を取り除いたファイルを使う必要があります。一部の古いAndroidでは「エンコード終了後のシーク動作」が未実装のため、ずっと左の状態のままのものもありますが、ご了承ください。)左側のエンコード進行中は、シークや再読み込みを実行するたびにストリームの再起動をおこないますので動作のタイムラグがあります。ファイル再生ストリームの再起動は放送ストリームと比べて仕組みが単純で速い(数秒程度)ので、十分実用的に使えます。右側のエンコード終了状態になると、シークや再読み込みはプレーヤーの機能のみでサクサク反応するようになります。(但し回線速度が遅いと、シーク位置の頭出し動作のためにやや時間がかかる事があります。)このような振る舞いの変化がありますので、シークボタンはエンコード進行中とエンコード済みで以下のように変わります。エンコード進行中(右側に青い帯が付きます。(iOSでは自動的に切り替わります。PC、Androidでは赤丸部を押せば切り替わります。「リモコン操作モード」の場合はPC/Androidとも自動的に切り替わりますが、その際プレイヤーをリセットするため一瞬画面が暗くなります。