ホーム » 「chromecast」タグがついた投稿
タグアーカイブ: chromecast
catt で chromecast を制御
chromecast を Linux から制御する python script の cast_url とかを使っていたけど、もっと使いやすくなった catt というものが公開されていた。
こちらで公開されていた DLNA サーバを検出する simple-dlna-browser も便利。
$ simple-dlna-browser -L http://192.168.xx.yy:zzzzz/dms/ddd.xml (TZ-HT3500) $ catt scan Scanning Chromecasts... 192.168.xx.yy - ベッドルーム - Google Inc. Google Nest Mini 192.168.xx.yy - リビングルーム - Google Inc. Chromecast 192.168.xx.yy - 居間(google home) - Google Inc. Google Home Mini $ catt -d リビングルーム cast https://www.youtube.com/watch?v=HBSC0RDuUlQ Casting remote file https://www.youtube.com/watch?v=HBSC0RDuUlQ... Playing "DREAMS COME TRUE - うれしい!たのしい!大好き!(from DWL2007 Live Ver.)" on "リビングルーム"... $ catt -d リビングルーム stop
pychromecastを使ってgoogle homeにキャスト
Google Homeを活用を模索するなか、Google Home は chromecast のスピーカーでもあるので、パソコンからchromecastの制御の記事を探してみた。
すると、pychromecast の記事を発見。
$ sudo aptitude install python-pychromecast
記事を参考に python script をコピペしたけど開発がすすんで関数名などが変更となっているようで、github 側の記事をみてちょっとだけ修正。pythonをいつも使っていないので、chromecast の試行錯誤の前に、漢字コードの扱いの方で四苦八苦。
#!/usr/bin/python2
# -*- coding: utf-8 -*-
from __future__ import print_function
import sys
import re
import time
import pychromecast
#------
ddev = ""
#------
args = sys.argv
args.pop(0)
dev = "" # device
url = "" # chromecast URL
mtype = "" # media type
# コマンドライン引数からキャスト内容を取得
if len( args ) == 3 :
dev, url, mtype = args
elif len( args ) == 2 :
dev, url, mtype = [ ddev ] + args
elif len( args ) == 1 :
dev = ddev
url = args[0]
if re.match( r'\.mp4$' , url ) :
mtype = 'video/mp4'
elif re.match( r'\.mp4$' , url ) :
mtype = 'audio/mp3'
elif re.match( r'\.jpg$' , url ) :
mtype = 'image/jpeg'
elif re.match( r'\.png$' , url ) :
mtype = 'image/png'
# デバイス一覧を取得
chromecasts = pychromecast.get_chromecasts()
# 指定したデバイスを見つける
cast = next( cc for cc in chromecasts if cc.device.friendly_name.encode( 'utf-8' ) == dev )
cast.wait()
# キャスト開始
mc = cast.media_controller
mc.play_media( url , mtype )
mc.block_until_active()


