気の向くままに辿るIT/ICT/IoT
Miracast非対応Androidスマホmoto g8でAnyCastミラーリング成功

Miracast非対応Androidスマホmoto g8でAnyCastミラーリング成功

ホーム前へ次へ
スマホって?

Miracast非対応Androidスマホmoto g8でAnyCastミラーリング成功

Miracast非対応Androidスマホmoto g8でAnyCastミラーリング成功

2022/01/17
Chromecast対応・Miracast非対応の旨説明のあるMotorola moto g8 power liteのヘルプ画面

 ヘルプでChromecast対応ながらもMiracast非対応と明示されているAndroidスマホMotorola moto g8 Power Lite(OSはアップグレードを経て現在Android 10)でなんとAnyCastの接続に成功した話。

 ここまでハッキリと「Miracastはサポートされていません」と書いてあるのにキャスト・ミラーリングできてしまった嬉しい誤算の一部始終を感情を抑えつつも嬉々として語り尽くします?

 今や中華資本のMotorola社がドッキリやサプライズ好きなのか、通年エイプリルフールを楽しむ企業風土なのか、明記したものの、対応しない実装をするのを忘れちゃったのか、なんらかの事情で非対応を明記する必要があったけど、あえて使えるままにしてくれているのか?

 またはChromecast対応なら必然的にMiracast対応ということになるものなのか、それともAnyCastがWi-Fi Direct対応させるべく?AirPlay対応していて結果、抜け穴的にできてしまうということなのか?

 そもそもなんらかの重要な他機能を犠牲にすることなく、Miracast非対応なんて方法は存在しないから言ってみただけで何もしてないとか?できない事案が多発してる時点でそれはないか。

 もしくは、独占的地位を利用して競合他社とはまた別に当初対応していた世界標準のMiracastを一転、ベンダーを巻き込んで非対応とし、Chromecast対応一択ゴリ押し後、Miracastできなくなって嘆き、怒る声が思った以上に多過ぎてビビッたG○○gle社が、Chromecast一択かのような空気はそのままに訴訟に至らないよう、訴えられた時、へ?なんのこと?とすっとぼけられるように、非対応時に手間かけさせてるから言いづらいこともあって各モバイル端末ベンダーにも内緒で、こっそり、密かに、音もたてずに、そーーーーーーーーーーーーーーっと、そして、しれっとOSアップデートで対応を復活させたとか...?

 とは言え、他にも何らかの条件が必要かもしれないので、いつの時代の、どこの、どんなAndroidスマホでも、どんなMiracast系デバイスでもできることを保証するものではないのであしからず。

 ただ、既に検証できる環境にあって諦めたことがあるなら、再度、試してみる価値はあるかもしれません。

Miracastデバイス接続テレビを撮影したらドロステ効果発生
  1. AnyCast M2 Plus
  2. 検証するテレビはSHARP AQUOS
  3. 開発者向けオプションとワイヤレスディスプレイ認証オプション
  4. Wi-Fi Direct対応
  5. テレビにAnyCastデバイスを接続してキャスト/ミラーリング
  6. Miracast/AnyCastとDLNAアプリのキャスト/ミラーリング
  7. テレビへのミラーリング結果
  8. 結果的な手順概要
  9. PCディスプレイHP w1907でもAnyCast
  10. 備考
  11. 当初イマイチと思った動画はアプリに起因、実は、快適だった件

AnyCast M2 Plus

AnyCast M2 Plus CPU:Corex-A9 1.2GHz RAM:128MB

 8.36ドルで買ったAnyCastデバイスは、化粧箱を見る限り、AnyCast M2 Plus CPU:Corex-A9(Corex?Cortexじゃないの!?) 1.2GHz RAM:128MBとのこと、本体を見るとAnyCast powered by EZMiraとあります。

 AndroidアプリEZMiraを使うことを想定しているようですが、今回は、使わずに設定しました。

 同じく、「share online streaming on your TV」(君のテレビでオンライン配信を共有)といった旨を謳っており、動画も当たり前にいけそうな雰囲気...ってRAM128MBじゃ...。

 箱の中身は3点、AnyCast本体とWi−Fiモジュール&アンテナ部/本体接続用microUSBプラグ/給電用USB-Aプラグからなる三叉ケーブルと取説(中国語&英語)。

 全て終わってから付属の超簡易な取扱説明書を眺めてみたら、少なくともAndroidの場合、[Setup your AnyCast]を読めばいけるでしょうが、何も設定しなくてもつながるかのような[Setup for Android]を読んでしまうと、できないじゃんとか、混乱することになったりするんじゃないですかね...。

検証するテレビはSHARP AQUOS

 我が家のテレビは、SHARP AQUOS LC-40SE1という40インチ、機能はAQUOSの中ではだいぶ限定された印象のある10〜11年前に買ったテレビ。

 LANポートはあるも無線LANには非対応、USBポートもなく、LANケーブルをつなげば、DLNAサーバ上の音楽と画像は、[ホームネットワーク]機能からテレビで再生・出力できますが、動画はできない(観ようと思ったことがないのでなんですが、当時、IPTV?という有料ひかり動画などは再生できたらしい)といった具合です。

 そんな我が家のテレビには、HDMIポートが3つありますが、背面にある2つ並んだポートは、テレビフレームの凹凸もあってAnyCastデバイスが入らず、これらを使うならHDMI延長ケーブルが必要ですが、側面の1ポートのみ、そのまま接続できました。

開発者向けオプションとワイヤレスディスプレイ認証オプション

Androidスマホ[開発者向けオプション]にある[ワイヤレスディスプレイ認証]オプション

 以下、Miracast非対応(Chromecastには対応)スマホとAnyCastデバイスを挿したテレビで検証してみるわけですが、Androidスマホにおいては[開発者向けオプション]を表示させ、そこにあるオプションの1つである[ワイヤレスディスプレイ認証]をONにした状態で行いました(が、後述の通り、必須というわけではありませんでした...)。

 端末にもよるかもしれませんが、自身のスマホでは、[設定] => [電話情報] => [ビルド番号]を7回タップすると[設定] => [システム情報] => [詳細情報]に[開発者向けオプション]メニューが表示されます。

 買ってから前掲のヘルプを発見、そうは言ってもAndroid SDKか、[開発者向けオプション]でなんとかなるんじゃないの?と思い、探したら後者に[ワイヤレスディスプレイ認証]というのがあったので藁をも掴む思いでモノが届く前からONにしておいたのでした。

 これをオンにするとAnyCastデバイスの有無に関わらず、スワイプして現れるメニューから[画面のキャスト]アイコンをタップ、表示されたポップアップ画面に検出デバイスと同時に表示されている[設定]リンクをタップした遷移画面である[設定] => [接続済みデバイス] => [接続の設定] => [キャスト]にある[縦3点の設定]メニューで[ワイヤレスディスプレイの有効化]にチェックを入れた際にいくつかオプションが表示されるようになります。

 また、AnyCastデバイスとうまく接続できていれば、これも自動で検出、表示されるようになります。

 あれ?これをONにすることがポイントかと思いきや、[ワイヤレスディスプレイ認証]をONにしない場合、キャスト画面でオプション一覧は表示されなくなりますが、[開発者向けオプション]すらONにしなくてもキャスト・ミラーリングはできました...(が、双方ともWi-Fi Direct対応である必要はある?)。

Wi-Fi Direct対応

AndroidスマホMotorola moto g8 power liteのWi-Fi Directヘルプ画面の一部

 自身は、すっかり、印刷や表示など主たる機能を持つデバイスが、Wi-Fi Direct対応であれば、他方は、Wi-Fi接続機能がある前提で、必ずしもWi-Fi Direct対応である必要はないのではないかと思っていたのです。

 が、このスマホのヘルプ画面の「電話のWi-Fiをオンにすると、Wi-Fi Directが自動的に有効になります。」というメッセージで認識が違ったかな?と少し不安になってきました。

 これってスマホもレシーバー側というのかになれるってことなのかな?それとも双方ともに対応していないとルータを介さないWi-Fi直接接続ってできないものなのかな?と。

 例えば、マイクロコントローラESP8266/ESP32には、Wi−Fi機能が備わっていてプログラム的にアクセスポイントモードとステーションモード何れか、または併用できるようになっており、一方がアクセスポイントモードであれば、他方がステーションモードのみだったとしても無線ルーターを介すことなく、直接接続でき、各種機能を実装できます。

 これは、まさにWi-Fi Directだったんだなと思っている次第ですが、ただ、併用もできる時点でプログラム上ステーションモードのみで実行したとしてもマイコン自体はWi-Fi Direct機能を持っているという可能性もあるなと...。

 だとすると双方ともWi-Fi Direct対応である必要があるのか?と。

 ん?もしかしてWi-Fi Direct対応ってWi-Fi Direct専用の画面があるよってこと?

 この辺りは、よくわからないのですが、ここで言えば、AnyCast接続できる為にも、スマホがWi-Fi Direct対応であることもポイントなのかもしれません。

テレビにAnyCastデバイスを接続してキャスト/ミラーリング

AnyCast M2 Plus powered by EZMira初期画面

 AnyCastデバイスと電源となるUSBポート(ACアダプタUSB充電器)にWi-Fiモジュール付きUSBケーブルを、AnyCast本体をテレビのHDMIポートに接続します。

 商品説明には、5V/1Aとあったと思いましたが、実際には、5V/2A以上のAC接続USB充電器を使ったほうが良いようです。

 最初、とりあえず、他のを抜いて100均の5V/1Aと思しきAC接続USB充電器に挿したところ、当該HDMIポートを表示してもAnyCastのトップ画面も出ず、同じく100均ダイソーの5V/2.1Aに替えたらAnyCastのトップ画面が表示されました。

 噂通り、画面上部にAnyCastデバイスのSSID/PIN(PASSPHRASE)も表示されていました。

 この状態でAnyCastデバイス本体に唯一ある物理ボタンを押すとAirPlay ModeとMiracast Mode(それぞれのON/OFF)が切り替わりました。

AndroidスマホがChromecast対応もMiracast非対応だからかAnyCast M2 Plus powered by EZMiraのSSID/PASSPHRASEの保存済みネットワークとして登録しても常時圏外

 そこで、このSSIDとPINをスマホの[設定] => [ネットワークとインターネット] => [Wi-Fi]タブ、SSID一覧下の[ネットワークの追加]で保存済みネットワークとして登録してみましたが、圏外と表示されてしまいました。

 セキュリティにおいてWPA2となっている部分を、[なし]にしても同様でした。

 ただ、後述の通り、結果的につながるはずなので、ここで圏外であることは忘れて大丈夫です。

AnyCast M2 Plus powered by EZMiraにWi-Fi Direct接続を試行

 一方、Wi-Fi Direct(無線LANルータを介さずとも1対1でWi−Fi接続可能な仕様)対応スマホなので[設定] => [ネットワークとインターネット] => [Wi-Fi] => [Wi-Fi設定] => [詳細設定] => [Wi-Fi Direct]で当該画面に遷移してみると、ちゃんとAnyCastデバイスがヒットし、表示され、[利用可能]とか、タップすると[招待済み]とかになりました。

 が、どう確認すればよいのかわからず、とりあえず、アプリでDLNAサーバ上の音源や写真を表示させてみたところで何も起きません...と思いましたが、結果、Miracast/AnyCastとDLNAアプリのキャスト/ミラーリングのように合点がいきました。

 ただ、無線LANルータを介さずとも「AnyCastデバイスのSSID/PASSPHRASEをスマホに登録して直接アクセス」できたからこそ、ここで検出されたわけで、これこそが、AnyCastがベースとするWi-Fi Direct仕様の機能であり、これができれば、その動作確認もできたことになります。

 やっぱり、検出されるMiracastデバイスが表示されるWi-Fi Direct専用の画面があることが、Wi-Fi Direct対応ってことなの...か...な?

Miracast非対応スマホながらワイヤレスディスプレイとして認識はされるAnyCast M2 Plus powered by EZMira

 更にテレビのAnyCastトップ画面で[Miracast Mode]であることを確認、そうでなければ、AnyCastデバイス本体のスイッチボタンを押して切り替え、Miracast非対応ながらChromecast対応スマホの[キャスト]/[画面のキャスト]を試すと[ワイヤレスディスプレイ]として認識され検出はされました。

 AndroidアプリEZMiraをインストールしてやってみてもスマホの[キャスト]/[画面のキャスト]に行くだけで同じでした。

 尚、この時、画面右上の[縦3点]をタップ、表示される[ワイヤレスディスプレイの有効化]のチェックはオンの状態です(たぶん、これがオフだと検出されない)。

Miracast非対応スマホながら接続中にはなるAnyCast M2 Plus powered by EZMira

 が、タップすると接続中となった後、結果、一瞬しか表示されませんが、[利用できませんでした]となってしまいます。

 もしかしたら、テレビのAnyCastトップ画面で[AirPlay Mode]だったのかもしれませんが、これも心配要りません、次に進みましょう。

Miracast非対応AndroidスマホながらAnyCast M2 Plus powered by EZMiraのSSIDに接続できた

 保存済みネットワークとはなっている一方、一向にWi-Fiアクセスポイントとしてアップされなかったのですが、Androidながら、AnyCastトップ画面で本体のボタンを押してMac用のAirPlayモードにしてみたところ、AnyCastのSSIDが表示され、接続でき、スマホのWi-FiもAnyCastのSSIDで[インターネット接続なし](Wi-Fi Direct状態)になりました。

 一方、テレビ画面に目をやると、これに接続中は、画面左下にも表示されていたSSIDに替わり、LANのネットワークアドレスとは無縁にAnyCastデバイス用のURLが表示されています。

 この時、Wi-Fiアクセスポイント一覧画面にすると即、もしくは、しばらくすると落ちてWi−Fi OFFとなってしまうことがありましたが、AnyCastデバイスとスマホ間のWi-Fi Directの電波の状態によるものだったようで以後は大丈夫でした。

 また、このURLにアクセスすれば、設定画面が出てくると思うのですが、時間はかかりつつもアクセスできそうで[ウェブページへのアクセス不可]となって、なぜか、アクセスできないことが幾度となくありましたが、これも電波の関係のようで、つながるときはちゃんとつながりました。

 ちなみに、この時点でMiracast ModeにするとAnyCastのSSIDへの接続が即落ち、Wi-Fi OFF状態になりました。

 この状況と後述の通り接続できた状況を冷静に分析してみると、つまるところ、Androidの場合、設定は、(主にiPhoneなどで使われる)AirPlayモードで、キャスト・ミラーリングは、Miracastモードで行なう必要があるようです。

 他方、DLNAアプリで云々の方法がわからないのですが、PDFや画像を共有してみようと思っても共有先の一覧にそれらしいものがなく、どうやったらできるのか、というか、何ができるのか...と思いきや、Miracast/AnyCastとDLNAアプリのキャスト/ミラーリングのようにできてみれば、なるほどでした。

 尚、この時点で既にWi-Fi DirectでWi-Fi環境がなくても機器同士が1対1で通信できる状態、アクセスするURL/IPアドレスはLAN内のものではないのでDLNAサーバ上やインターネット上の動画や音源、ファイルなどは無理ですが、スマホ・タブレットに保存してあれば、[キャスト]/[画面のキャスト]することで操作中の画面やそれらをミラーリングすることはできます(というか、これ試してないので、できるはずです)。

Miracast非対応AndroidスマホながらAnyCast M2 Plus powered by EZMiraのIPアドレスにアクセスできた1

 お?一転、AnyCastのIPアドレスにアクセスできました。

 ここで無線LANのアクセスポイントであるSSID(/PASSPHRASE)を登録すれば、同一ネットワーク上の機器からアクセスできるようになるはずです。

 つまり、ここからはインターネット接続環境及びWi-Fi環境が必要となります。

 そこでリフレッシュ[くるっと矢印マーク]で更新し、Wi-Fiスキャンしなおしても自身のアクセスポイントのSSIDが出てこない...、手動設定してもOKボタンが押せず、確定できない...。

Miracast非対応AndroidスマホながらAnyCast M2 Plus powered by EZMiraのIPアドレスにアクセスできた2

 リンクをたどったら、一覧も出ました。

 が、少しするとAnyCast接続が切れ、改めて接続しても、指定IPアドレスになかなか接続できない...、接続できるほうが稀な感じ...。

 つながりやすい位置があるのかと思うとそうでもない...。

 こんな感じで設定完了までたどり着かない...。

 そもそも、1つを除き、設定値が入っていない時点で何かおかしい感じ...、これもWi-Fiが不安定だったようで後に項目が埋まった一覧が表示されるようになりました。

テレビのAnyCast画面でLANのSSIDに接続できた絵が表示された

 いろいろやってたら、テレビのAnyCast画面右上のWi−Fi状態を表わす絵が、自宅のSSIDにつながった状態になりました!

 この時、画面左下には、AnyCastに割り当てられたLAN内のIPアドレスがURLとして表示されています。

 後述のように、ここでAnyCastデバイス本体のボタンを押してMiracast Modeに切り替え、テキストファイルなり、画像なり、ローカル、もしくは、インターネット上の動画を表示させ、スワイプしたメニュー上の[画面のキャスト]アイコン経由、もしくは、[設定]をたどった先の[キャスト]画面から、検出されているはずの当該AnyCastデバイスをタップすれば、それらをキャスト・ミラーリングすることができるはずです。

 これもWi-Fiの関係か、失敗することもありますが、AnyCastのWi−Fiモジュールに近づけるとか、電波に配慮したりして何度か試す必要がある場合もあります。

Miracast非対応AndroidスマホからAnyCast M2 Plus powered by EZMiraをLANに参加させることができた一方、スマホがつながらない事態に

 そしてAnyCastがLANに参加できていました。

 当然ながら?このようにLAN内のPCからAnyCastの設定画面でAirPlay Modeになっていれば、当該IPアドレスにアクセスできたものの、PCはMiracast非対応なので成す術がない...(無駄な遠回り)。

2022/01/25

 と思ったら、PCディスプレイHP w1907でもAnyCastのように設定が必要になったら、スマホだけでなく、パソコンでもできるということで、あながち無駄でもありませんでした。

 他方、Miracastに対応していないと言いつつ、ここまで頑張ってきたAndroidスマホが、ローカルのどのアクセスポイントも圏外になって接続できず、Wi-Fiにつながらなくなり、他人のアクセスポイントはたくさん表示されるのに自宅のに限ってスキャンにかからない..。

 スマホやルータを再起動してもつながらないし、見つからない...カオス!

 と思ったら、SSIDをステルス設定しているからであることに気づきました。

 スマホでも当初設定したはずの記憶を呼び覚ますとSSID登録時に[非表示ネットワークへの接続]の設定が必要だったはず...。

 ということで[保存済みネットワーク]に登録のアクセスポイントを削除、改めて「ネットワークの追加」でSSIDやパスワードの他、ポップアップ内の[詳細設定]から[非表示ネットワークへの接続]を[はい]にして保存したら、LAN内のアクセスポイントがスマホでも表示され、(別途、そう設定してあるので)自動接続されるようになりました。

Miracastデバイス接続テレビを撮影したらドロステ効果発生

 というわけでテレビのAnyCastトップ画面でMiracast Mode(Androidでミラーリングする時は、必ずこのモードにする)になっていることを確認、なっていなければ、AnyCastデバイスのボタンを押してMiracast Modeにし、キャスト画面を改めて確認すると検出されています!

 [開発者向けオプション]の[ワイヤレスディスプレイ認証]オプションをONにしたことで表示されたオプションリストもある!

 ということは、もしかしていけちゃうんじゃない!?とドキドキしながら、検出されたAnyCastのSSIDをタップ!

 接続がイマイチなこともあるようで失敗することもありますが、そんな時は、スマホの位置をAnyCastデバイスに近づけてみたりしつつ、何度かチャレンジ!

Miracastデバイス接続テレビを撮影したらドロステ効果発生

 いけた!

 勢いでスマホ画面をキャスト!したところを撮影!したら、ドロステ効果による再帰的な画像が延々と...。

 って成功したよ!Miracast非対応スマホとAnyCastデバイス接続のテレビでキャスト・ミラーリング!

 よく見ると画面右上にEZCast(EZCast by Wikipedia)って表示されてますね。

 MiracastとEZCastって何が違うんでしょう...、AnyCastは、MiracastベースじゃなくてEZCastベース?

 EZCastのホームページを見るとSHARPもパートナーとして挙がってますが、だからこそミラーリングできたってことではないんですよね?

Anyacastでキャスト/ミラーリングしたYouTube動画をポートレート/縦表示

 スマホを縦にしたポートレート(縦画面)にしてSkyTubeでYouTube動画一覧を表示するとこんな感じ。

Anyacastでキャスト/ミラーリングしたYouTube動画一覧をランドスケープ/横表示

 スマホを横にしてYoutube動画をランドスケープ(横)表示するとこんな感じ。

 同じスマホ画面ごとのミラーリングでもランドスケープなら映像も結構大きく表示されて良い感じですね。

 ちなみに検証に使っているmoto g8 power liteは、6.5インチHDディスプレイのスマホですが、この写真を見て40インチと比べると、こんなに違うことを改めて感じました...、実際より差があるように見えるのかな?

AnyCastによるキャスト中にメニュートップに表示されるアイコン

 キャスト・ミラーリング中は、Android用VNCサーバの時と同じ?赤が目立つアイコンがスマホ上部を下にスワイプして出てくるメニューの上部に表示されています。

Miracast/AnyCastとDLNAアプリのキャスト/ミラーリング

 キャスト・ミラーリングできたら、DLNAサーバ上の音源や動画、ファイルにアクセスできるアプリからも、それらをミラーリングできるということだったんですね。

 VLCでNAS上のというか、DLNAサーバ上の音源を再生し、キャストしてみたら、テレビにまんまスマホ画面・音声とも表示・ミラーリングされました。

 できてみて、ようやく、AnyCastとDLNAの関係・対応・結果を理解できました。

テレビへのミラーリング結果

 結果、写真やテキスト等の各種ファイルの表示、音楽再生の他、スマホでそれらを表示させる操作中の画面なんかは、映像としても超スムース、動画についても映像・音声ともにスマホからTVにミラーリングはできました。

 が、TVerやGyao!は、全てかどうかは不明も試した動画については、各種権利保護のため、転送できないようになってるのか、スマホ画面は表示されるものの、コンテンツは表示されませんでした。

 これはきっとMiracast/AnyCastの場合、スマホにTVerやGyao!のアプリを入れてミラーリングしているからであってChromecastやFire TV Stick、Apple TVなど、それらデバイス自体にこれらアプリをインストールできる模様のデバイスでは視聴できるのでしょう。

 と思いきや、

 Gyao!は、ブラウザからGyao!のサイトにアクセスする方法で洋画はミラーリング再生でき、邦画は(Gyao!アプリに誘導され)できませんでした、日本のコンテンツからなるTVerも試した限り、(TVerアプリに誘導され)ミラーリング再生はできませんでした(スマホ画面は表示されるもコンテンツの再生はされませんでした)が、国内コンテンツについては、権利関係(≒DRM?)でそうなっているのかもしれません。

[2022/05/04]
 

 TVer、Gyao!共にテレビ由来の見逃し配信はすべてコンテンツ保護によるようでミラーリングしようとしてもTVerはすべてアプリに誘導され、Gyao!は、Webサイト・アプリ何れで観られるかはものにより、音だけは転送できてテレビから聴こえたりもしますが、テレビ画面は真っ黒という状況はあまり代わり映えしません。

 が、Gyao!映画については、保護規制時期の前後で違うのか、日本映画でもWebサイトのミラーリング及び視聴可能なものもありました。

 ただし、ものによっては、15分とか?定期的に?音声がミュートになり、画面操作(スピーカーをクリック)で音を復活させる必要があるものも。

 また、スマホ・タブレットのブラウザには、往々にして[PC版を表示]や[デスクトップ版を表示]的なメニューがあり、これでアクセスし、日本の国内コンテンツを再生しようとするとGyao!は画面中央の再生ボタンの周囲が延々とくるくる回ってタップしても変わらない、TVerは「推奨環境で見てね」といった旨のポップアップが表示され、閉じても再生が始まらず、何れもミラーリング以前にブラウザ上での再生にはいたりませんでした(UAだけでなく画面サイズ・解像度もチェックしてるからかも?)。

 一方、AnyCastでミラーリングできたYouTube動画の場合、ミラーリング中は、多少なりとも確実に画質の劣化(解像度の問題か?40インチだと顕著、19インチだとそうでもない?)、コマ飛び?・音飛びなどもありました。

 が、画質はともかく、それ以外は、僅かなもので許容範囲内と感じましたし、試したミュージックビデオなどは、途中で停止することもなく、一通り再生できました。

 次の枠内の話は、YouTube再生アプリの問題でGoogle製のYouTubeアプリでは、快適でした。

 が、画質の劣化や音飛びはともかく、Wi-Fi電波状況が極めて良好っぽい場合は、視聴に耐え、一通り再生でき、他方、電波状況が良くないっぽい状況では視聴に耐えない場合がありました。

 この時、Wi-Fiの安定に関しては、かなりシビアで、電波の感度ついては、普段ほとんど気になったことはなかった自身ですが、AnyCastでの動画再生時は、相当電波状態がよい状態を維持できないと同じ方法でも観るに耐えないこともありそうです。

 Wi-Fi電波が良好っぽい時には、スマホで再生中のYouTube動画をミラーリングしても、そこそこ画質は落ちつつも、たまにコマ落ち?コマ飛びするにしても比較的安定して、それをダウンロードし、DLNAサーバ上に置いてVLCで検出・再生、もしくはBubbleUPnPで検出・VLCで再生するとそこそこな画質で一通り再生できました。

 一方、Wi-Fi電波がイマイチっぽい時は、これらの方法何れも視聴というより、再生に耐えずという中、気のせいなのか、環境を判定して再生しやすいようにでもしてくれているのかスマホアプリBubble UPnPでDLNAサーバ上においたダウンロード済みYouTube動画を指定、再生時にBubble UPnPを選んでも他のメディアプレイヤーを選べと表示されるので任意にVLCを選ぶ方法だとまだマシになる気がしました。

 そんなこんなやミラーリングする際、AnyCastデバイスの検出率は、ほぼほぼ100%も、これを選択時、1度ではうまく接続できず、たいてい2回くらいでうまくいくということもあって、ミラーリング中も今のところ、スマホは、TV(というか、AnyCastデバイスのWi-Fiモジュール)のすぐそばに置いた状態でしか試していません。

 尚、我が家の環境においては、ブラウザでの動画視聴については、デュアルコアCPU/RAM4GBのノートPCやスマホならWi-Fiでも常に快適な一方、そもそもクアッドコアCPUでRAMが1GBある2Bや3B+のラズパイではLANケーブルでの有線ですら(19インチのPCモニターなら割と快適もなぜか)40インチのテレビだと微妙なのでRAM128MBのAnyCastデバイスで無線だと常に快適、満足に動画を再生できるはずもないですよね。

 まぁ、今は光回線ですが、当時、ベースはADSLながらPCのRAMを512MBから2GBにしてどうにかストレスフリーでWi-Fi越しの動画ストリーミング再生できたという経験からしてもCPUやコア数もさることながら、AnyCastのRAM容量がもっとあればあるほど、Wi-Fi環境は同じでも、より快適なんでしょうけどね。

 というわけで映像・音声視聴、特に映像再生においてWi-Fi電波の状態とメモリ量は、超重要なポイントってことかと。

 ちなみに別途買った対象機器のヘッドホン端子に挿すタイプのBluetoothトランスミッター/レシーバーに至っては小さすぎるくらい音量が下がるのですが、それに比べればマシもHDMI転送でも音量が下がるものなのかと思っていたら、スマホの音量を絞っていたためでスマホの音量を上げれば、ミラーリング先のテレビの音量も上がり、テレビのボリュームは普段のレベルで十分でした。

結果的な手順概要

 AnyCastデバイス接続テレビと(Chromecast対応・Wi-Fi Direct対応・Miracast非対応とある手持ちの)Androidスマホでできたミラーリング手順を一覧にしてみるとこんな感じ。

  1. AnyCastデバイスをテレビのHDMIポートに接続、テレビのリモコンで当該HDMIポートの画面を表示させると(当然電源ONなら)AnyCast用画面が表示される。
  2. 初期のAnyCast画面上部には、AnyCastデバイス用アクセスポイントのSSIDとPIN(パスワード・パスフレーズ)が、画面左下には、SSIDのみが表示されている。
  3. スマホなどで当該SSID/PINでアクセスすれば、Wi-Fi Direct機能により、Wi-FiルータがなくてもAnyCastデバイスとスマホなどの間で直接Wi-Fi接続できる。
    ただし、Android端末の場合、AnyCast画面上で[AirPlay Mode]になっていることを確認、なっていなければAnyCast本体の物理ボタンを押してこれに切り替える(iOS系はたぶん常に[AirPlay Mode])
  4. うまく接続できるとAnyCast画面左下のSSIDが表示されていたところにLANのネットワークアドレスとは関係ないAnyCast専用のIPアドレスによるURLが表示されている。
  5. スマホなどのブラウザで当該URLにアクセス、うまく接続できるとAnyCastの設定一覧画面、もしくは、周辺のアクセスポイントを表示すべく、Wi-Fiスキャン画面が表示され、前者なら[Internet/インターネット]を選択し後者の画面に遷移、後者なら、そこに自身のアクセスポイントがあれば、それをタップする。
  6. うまくいくとAnyCastデバイスが、自身のアクセスポイントに接続(LANに参加)できた状態、AnyCastデバイスが同一のWi-Fiネットワーク上にあるのでLAN内の端末からアクセスできるようになる。
  7. テレビに表示されたAnyCast画面に目を移すと今度は、LAN内のネットワークアドレス内で割り当てられたIPアドレスによるURLが表示され、[AirPlay Mode]時は、当該URLにアクセスするとAnyCast設定画面が表示されるようになる。
  8. Android端末の場合、ミラーリングするにあたり、テレビに表示されたAnyCast画面で[Miracast Mode]にする、なっていなければAnyCast本体の物理ボタンを押してこれに切り替える。
  9. スマホなどで文書や画像ファイル、動画などを表示させ、スマホのスワイプメニューで[画面のキャスト]をタップ、表示されたポップアップ画面に検出デバイスと同時に表示されている[設定]リンクをタップ、または、スマホの[設定]から[キャスト]に移動、画面上で検出されているはずのAnyCastデバイスのSSIDをタップする(たまに接続に失敗することもあるので何度か試す、何度か試した結果、なぜか必ず1回失敗し、2度めに成功してます。)。
  10. もし、デバイスが表示されない場合、[キャスト]画面右上の[縦3点]メニューをタップ、表示される[ワイヤレスディスプレイの有効化]のチェックをオンにして再度試す。
  11. うまくいくとスマホ画面ごと当該ファイルが、テレビにミラーリングされる。
2022/01/25

PCディスプレイHP w1907でもAnyCast

19インチディスプレイHP w1907でAnyCast

 手持ちのHDMI-VGA変換アダプタ接続の19インチディスプレイHP w1907。

 これ、デスクトップPC用 => ラズパイ用、更にそのラズパイをHDMIケーブル接続のRaspberry Pi 2BとTVで動画視聴で(結果、2Bを3B+に替え)使った関係で余りました。

 コロナ、これに伴う半導体の流通への影響が収束すれば、ラズパイ4Bか、何らかのベアボーンを買ってディスプレイとしてこれを使おうかなとも思ってはいますが。

 今はフリーなw1907、AnyCastデバイスのHDMIもオス、HDMI-VGA変換アダプタのHDMIもオス、ということでメス-メスのアダプタなんてあるのかと探すとHDMIケーブル延長を主目的に存在することを知り、たまたま100均に行く予定があってダイソーに行ってみたら4K対応HDMIエクステンダ・アダプタが1種類あったので、これで接続し、電源ON。

 と思ったら、AnyCast画面も出ますし、キャストもできますが、w1907の1440x900という解像度と合わないのか、画面があちこち飛んで変な状態に...。

 しばし、考えて、あ、そっか、AnyCastの設定にあったかもとAnyCastのトップ画面に表示されているLAN内のIPアドレスに別途パソコンでアクセス、やはり、ありました、解像度設定。

 ただ、1920x1080_60P/1280x720_60P/720x480_60Pの3択、全て試してみると、ややボヤけつつも720x480_60Pのみ、比較的、まともに表示されたので、これで確認してみることに、と思ったら、一通り試したところで画面が乱れ、今度は、1920x1080_60Pにしたら、まともになりました...何これ...っていうかVGA/HDMI変換アダプタを使っていて2本あるVGAの固定ピンの内1本が締めてもユルユルなのが原因なのは間違いない...。

 結果、テレビよりは影響が小さいかもとも思ったものの、Wi-Fiが混雑しているようで動画はまともに動きませんでしたが、空いているときなら、テレビと同様、相応に再生できるでしょう。

 不調は全てYouTube再生アプリに起因していました。

備考

 このページでは、「キャスト」や「ミラーリング」を同列に扱っているような表現になっていますが、ミラーリングはスマホ画面そのまま、キャストは...など実際は、違いがあるんですよね?そこら辺はよくわからないのであしからず。

 元々は、対応が微妙なLinuxパソコンからキャスト・ミラーリングしたかったのですが、Chromecast対応の一方、Miracast非対応と言いつつ、AnyCastできちゃったツンデレなスマホから簡単にキャスト/ミラーリングできたのも正直、嬉しかったりする。

 一方で目的だった動画は、前述の通り、微妙な状況でした。

 音楽再生やテキスト、画像、PDFなどの表示は円滑にできますが、それだけならDLNAサーバ上のファイルに限定されるものの、今回検証に使ったテレビの標準機能でもテレビ自身が検出して表示や再生できるので...。

 不調は全てYouTube再生アプリに起因しており、文書表示、音楽再生は全てにおいて快適、DLNAサーバ上、ネット上に関わらず、動画再生もほぼ快適でした。

 というか、Android SDKでの設定も不要、開発者向けオプションすらONにしなくてもミラーリング自体はできたのは、別に不思議なことではない気もしています。

 届く前から、脳内検証していたのですが、手順概要からしてAnyCastデバイスを設定(画面転送)する側のスマホなどの端末が、Miracast/AnyCast対応でなければならないという必要性が見いだせないんですよね...。

 どれも特別な話じゃないですもんね、アクセスポイントに接続したり、URLにアクセスしたり、本体のスイッチ押したりするだけで。

 結果、オプション指定が必要なければ、[開発者向けオプション]、[ワイヤレスディスプレイ認証]をONにしなくてもミラーリングできましたし。

 強いていうなら、Wi-Fi Direct、一方だけでなく、画面転送する側のスマホなどの端末も、これに対応している必要があるのか?という点くらいですが、それだってAnyCastデバイスさえ対応していれば、他方は非対応でも問題ない気がするんですけどね...どうなんでしょ?

 ん?改めて検索してみるとWi-FiルータがなくてもWi-Fi Directだけでキャスト・ミラーリングできる機種もある・あったらしい?

 ああ、そりゃできるのは不思議でもなんでもないか、それに、それだとネット接続できないわけだから、できたとしてメディアを考えた場合、ローカル保存してあるものだけでネットの音楽や動画とかはダメってことですもんね、なら、試すまでもないか。

Androidスマホ電話情報のデバイス名変更でOK押下時の他で使われるよメッセージ

 あと、AnyCast中、当該デバイスではなく、スマホの名前が、[DIRECT-xx-スマホ名]のような感じでアクセスポイントとしてWi-Fiスキャン画面に現れてしまいます...。

 これがまた、たまたま反映されていなかったのか、スマホのWi-Fiスキャン一覧には表示されないようでしたが、パソコンでのWi-Fiスキャンだと普通に出てくる...これって自分だけじゃなくて他でも見えるんですよね?

 ただ、スマホ名については[設定] => [電話情報]の[デバイス名]をタップすれば変更できるかと...。

 ...と思ったら、変更時にこんなポップアップメッセージ、

「デバイス名: 端末名がスマートフォンのアプリに表示されます。また、Bluetoothデバイスに接続したり、Wi-Fiアクセスポイントを設定したりすると、他のユーザーも端末名を確認できるようになります。」

が表示された割には、Wi-Fiスキャン上は、変更が反映されず、変わらない...。

 たかが端末名、されど端末名...、なんか気味悪くて嫌だな...。

 ちなみに以下は、大陸から通販(AliExpress)で買って直後に自身の環境だとダメっぽいと知り、届くまで時間があったので代替策や似たようなことをやってみた軌跡。

当初イマイチと思った動画はアプリに起因、実は、快適だった件

2022/01/29

 当初、Wi-Fiの影響がシビアなようで動画だけが、微妙と書きましたが、なんと文中に出てくるYouTube代替アプリ(というか度重なる嫌がらせのような仕様変更の嵐含め、G○○gleの仕業かもしれませんが)の問題でした...。

 買って即、無効にしていたGoogle謹製のYouTubeアプリを有効にして視聴したところ謹製では、Wi-Fiの混雑状況に関係ないようで見違えるほどスマホは快適そのもの、AnyCastデバイスでミラーリングしても、常にほぼほぼ快適でした...。

 更にブラウザ検索してYouTubeサイトに入って再生した動画も快適でした...。

 また、ミラーリングできないかに思われたTVerとGyao!の内、Gyao!については少なくともブラウザからアクセスすると全部かどうか不明も日本の作品は権利関係からかダメな模様(アプリに誘導され、再生されない)ですが、海外の作品(洋画)はミラーリングして視聴できました。

 これなら、文書、音楽、動画全てにおいてAnyCast実用的に使えます!!感動!

 AnyCastというより、スマホ自体が、いつ再生してみてもあまりに視聴に耐えないので、それまで動画視聴することもなかったため、安い割にはまぁまぁなスペックだと思うけど、スマホってこんなもんか、Wi-Fiの電波にシビアに反応するんだくらいに思っていたのですが、あまりにおかしいので待てよ?ということで謹製で試してみたら雲泥の差だったことが判明した次第...。

2022/02/08

 新着や更新がされないようだったので数日前(2022/02/05)にF-Droidアプリを再インストールしたところ、愛用中のSkyTubeも2022/02/04に更新されており、YouTube動画を正常、超快適に視聴できることを確認しました。

 youtube-dlもそうですし、自身もラズパイ自作スマートスピーカーでYouTube音楽のストリーミングしているとGoogleの謎の仕様変更の数々により、度々、対策を迫られることがあるんですよね...。

 苦肉の排除策も仕方ないと言えば仕方ないですが...。

 わかりやすいところでは、ブラウザ上でもずっと再生していると広告を視聴しているか確認すべく[続けて視聴しますか?]とポップアップが表示されて一時停止したり...。

 今はなくなったようですが、無料一般公開されている公式ミュージックビデオのプレイリスト収録曲の一部がプレミアム会員じゃないと聴けないよ状態になっていたり...。

ホーム前へ次へ