castnowでchromecastへ定期的に動画を流し、子どものテレビ閲覧を邪魔する方法

はじめに

小学2年生の長男は、朝も夜も放っておけばテレビを見ていて、私や妻が話しかけてもテレビの世界に吸い込まれているので、返事が上の空だったりします。ご飯も宿題も、放ったらかしになってしまうので、テレビを強制的に断つ方法を考えました。

リモコンを奪うと「ママのせいだ!返せやい!」と言うし、B-CASカードを抜いたりテレビの電源を抜くと、ビデオが取れなくなってしまうので、いい方法はないものかと思い、家にあるchromeCastを使って、定期的に動画をキャストすることでHDMIを自動切り替えして、子供の過集中を削ぎ落とす作戦を思いつきました。

前提として、ChromeCastがあること。そして、castしたときにHDMIの入力が自動的に切り替わるテレビ(またはHDMI切替器)があることが必要です。


castnowのインストール

上記のサイトを参考にインストールします。
npmが入っていない場合は、「sudo apt-get install npm」でいれます。

sudo npm install castnow -g

 




youtube-dl のインストール

castする動画を作るためのツールをインストールします。
手元に動画があればよいですが、youtubeに素材で1秒の真っ暗な動画があったので、それをダウンロードしようと思います。

#youtube-dl のインストール
sudo apt-get install youtube-dl

 




castするための動画を作成

HDMIでテレビからChromeCastに切り替えるだけなので、1秒の真っ暗な動画だけあれば問題ないです。以下の方法で取得します。

mkdir /home/username/mp4
cd /home/username/mp4
youtube-dl -f mp4 -o CanNotTV.mp4 https://www.youtube.com/watch?v=QtJM7kxSmHs

 





castの実行

試しにcastしてみます。

castnow /home/username/mp4/CanNotTV.mp4 --address 192.168.xx.xx # chromecastのIP

これで、画面が切り替われば成功です。

最後のIPアドレスの部分は、ChromeCastのIPを入れる必要があります。GoogleHomeなどがあると、そちらが優先されてしまい、GoogleHomeが「ボリン」と鳴って、何もしない現象が発生します。




 

cronへの登録

cronへの登録は直接も出来ますが、例えば30秒おきにcastしたいなど、改変の必要が出てくる場合を考慮して、シェルにしておきます。

cd /home/username/mp4/
vi chromecast.sh

#! /bin/bash
/usr/local/bin/castnow /home/username/CanNotTV.mp4 --address 192.168.xx.xx # chromecastのIP

crontab -e
<cron> 例

#月〜金6-7時台,16-19時台は強制キャストし、テレビを禁止にする。 6-7,16-19 * * 1-5 sh /home/username/mp4/chromecast.sh #月〜金6時から6時30分は、シェル名を入れ替えて空振りさせ、6時30分からキャスト開始。その間はテレビは観られる。
0 6 * * 1-5 mv /home/username/mp4/chromecast.sh /home/username/mp4/chromecast.sh_ 30 6 * * 1-5 mv /home/username/mp4/chromecast.sh_ /home/username/mp4/chromecast.sh
#月〜金7時43分に、シェル名を入れ替えて空振りさせ、8時に元に戻す。 43 7 * * 1-5 mv /home/username/mp4/chromecast.sh /home/username/mp4/chromecast.sh_ 0 8 * * 1-5 mv /home/username/mp4/chromecast.sh_ /home/username/mp4/chromecast.sh
#土日は、7-9台,17-18時台は強制キャストし、テレビを禁止にする。 7-9,17-18 * * 0,6 sh /home/username/mp4/chromecast.sh

朝晩のご飯や宿題に集中してほしい時は、1分ごとに黒い画面をcastして、テレビを観させないようにしました。1分ごとにすると、x時30分のような境目が作れないので、シェルの名称を替えて空振りさせるようにしました。もっとうまい方法があると思いますが。。


実際に子どもに使ってみたところ、初日は見事に過集中から開放されましたが、翌日からは、1分ごとに急いで録画番組を選び直して再生する手段を身に付けてしまい、余計にリモコンから手を離さなくなってしまいました。まさかの展開です。

(/usr/local/bin/castnow /home/username/mp4/CanNotTV.mp4 --address 192.168.xx.xx) &
(sleep 30;/usr/local/bin/castnow /home/username/mp4/CanNotTV.mp4 --address 192.168.xx.xx) &

30秒ごとにcastしたら、さすがにテレビから離れました。
しかし、せっかくcastするなら、何か有益な情報でも流したいな。と思いました。

それは、次回の記事に書こうと思います。

コメント

%d人のブロガーが「いいね」をつけました。