xtetsuji) です。
おがた (@ずいぶん以前に、iPhoneやiPadでフルセグが観られる「SoftBank SELECTION デジタルTVチューナー SB-TV02-WFPL」というものを買って、iPhoneやiPadでフルセグを観ていました。iOSでの視聴は問題無く、それだけでもそこそこ重宝するものでした。
私は普段はMacBook Airを使っているので、これがMacでも使えると聞いて、2000円の追加出費をしてソフトウェア「Station TV i for Mac」を買いました。iPhone/iPadアプリは無料だというのに…。
その時はAmazonダウンロード販売を利用して購入しましたが、結果的にソフトウェアを起動してもEPG番組情報を取れるところまで進むものの黒い画面のまま画面も映らないし音も出ないという状況が続いていました。
もともと Station TV i for Mac は、画面キャプチャ能力を持っているアプリが起動していると、起動すらできないという厳しすぎる制限があって、Evernoteすら終了させないと起動すらできないというソフトウェアです。Evernoteに画面キャプチャ能力があるのかすらよく知らないのですが、とりあえずStation TV i for Macが起動できるところまで、普段常駐しているソフトウェアを終了させても、黒い画面のままという状態は脱することができませんでした。
サポートに電話してもそういう症状は無いらしく、諦めてiPhone/iPadのみで使っていましたが、今日古いMacBook Airを出してきて、ふとStation TV i for Macを起動させたら、なんと長い時を経て動いたのです。もしやと問題の切り分けをしていたら意外なことが分かりました。
- ローカルマシンの8080番ポートが開いていると、黒い画面のままという症状になる
私は自分のMacBook Airからは自宅サーバにSSHをして使っていて、自宅サーバで8080番ポートで待ち受けているのSquid HTTPプロキシサーバへ SSH の ~/.ssh/config で「LocalForward 8080:localhost:8080」という設定を入れていました。つまり手元の8080番のTCPポートが自宅サーバのSquidの8080番ポートに繋がっている状態、手元の8080番ポートがHTTPプロキシサーバに見える状態になっていたのです。
この設定をオフにして新しいMacBook AirでStation TV i for Macを起動させてみると、なんと画面が映るではありませんか。
「起動時に手元にHTTPプロキシサーバが起動しているかポートスキャンしているのか?」と新たな謎仕様を疑ったりしたのですが、ローカルの8080番ポートにLocalForwardしている設定を試しに1080番ポートにしてStation TV i for Macを起動して、sshとStation TV i for Macを再起動してみても映るではありませんか。よく分かりませんが、Station TV i for Macは、起動したマシンの8080番ポートを見て、開いている(もしくは開いていてそれがHTTPプロキシサーバのポートである)ことを確認すると、映像も音も出さないらしいということが分かりました。
自宅限定ではありますが、普段使いのMacBook Airでフルセグが観られるようになって、ようやく快適になりました。
録画対応のマシンも今ではだいぶ安くなりました。欲しい。
おがた 様
はじめまして、平山と申します。私も同じ症状で、解決策はないかと検索していて、このブログにたどり着きました。しかしながら、パソコンには詳しくわないため、8080ポートをオフにするところの意味がわからず、解決に至っておりません。もっと簡単な用語で解説していただけないどしょうか?厚かましいお願いで恐縮です。
こちらの環境は
SB-TV02-WFPL/MCをエアマックで経由でWIFI接続しています。iPhone、iPad、MacBook retinaではちゃんと視聴できます。iMac 4Kで、受信してチャンネル表示しますが、黒画面、音出ない の症状です。
>平山様
このソフトウェアの癖は著作権保護のようなところからきているようなのですが、
悪意のある利用よりも善意のユーザやサポートセンターの負荷のほうが高いよなぁと
感じています。使い始められるとすんなりなのですが、何かにひっかかってしまうと
自力解決が本当に難しいです。
ローカルマシン、つまり手元の Mac でポートが空いているということは、
手元の Mac もサービスを提供するようなサーバのように振る舞えるということです。
これによって、開発元が意図しない形で放送を外部に再送信できてしまうことも考えられるので、
ソフトウェア側が制限をかけているんじゃないかと私は考えています。
説明書にも書かれていないことですし、なんとも不親切だという感じではありますが…。
手元の Mac でどの番号のポートが開かれているかは、以下のようにして調べられます。
* 上部メニューバーの右上にある Spotlight 虫眼鏡アイコンをクリック
* Spotlight 入力バーに terminal.app と入力してエンター
* 文字入力のターミナルが開くので以下のコマンドを入力してエンター(コピペで大丈夫です)
netstat -AWn | perl -nE '@L = split /\s+/; $L[2] =~ /^tcp4/ and ($m) = $L[5] =~ /.(\d+)$/ and $M{$m}++; END { print join ",", sort keys %M; print "\n"; }'
私の環境では 40000 以上のポートが数十個出ましたが、10000以上の大きな番号は気にしなくて大丈夫です。
10000より小さなポートが空いていると、手元の Mac で起動している何らかのソフトウェアがサーバとして振舞っている可能性があって、それによって Station TV が起動しないことも考えられます。