Thanks to the pychromecast library. It supports the following features,
- Auto discovering connected Chromecasts on the network
- Start the default media receiver and play any online media
- Control playback of current playing media
- Implement Google Chromecast api v2
- Communicate with apps via channels
- Easily extendable to add support for unsupported namespaces
- Multi-room setups with Audio cast devices
How to use pychromecast?
Install pychromecast using pip.
pip install pychromecast
from __future__ import print_function
import time
import pychromecast
# Your Chromecast device Friendly Name
device_friendly_name = "VuCast"
chromecasts = pychromecast.get_chromecasts()
# select Chromecast device
cast = next(cc for cc in chromecasts if cc.device.friendly_name == device_friendly_name)
# wait for the device
cast.wait()
print(cast.device)
print(cast.status)
# get media controller
mc = cast.media_controller
# set online video url
mc.play_media('http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4', 'video/mp4')
# blocks device
mc.block_until_active()
print(mc.status)
# plays the video
mc.play()
This is merely an example, This opens lot of possiblities controlling Chromecast with python.