groupon / greenscreen

BSD 3-Clause "New" or "Revised" License
1.2k stars 150 forks source link

Start chromecast from command line #33

Open diequeiroz opened 9 years ago

diequeiroz commented 9 years ago

https://github.com/diequeiroz/start-chromecast-CLI

I wrote a tiny script to start the casts programmatically from command line. It's great to create a cron tab and keep your app running without the need to open the browser and start the cast;

1337sup3rh4x0r commented 8 years ago

So with this, I can run greencast headless on a remote machine and start it via ssh?

morganchia commented 8 years ago

Hi

I am using raspberry pi 2... i tried "sudo pip install startcast" but encountered errors during compilation...

pi@raspberrypi ~/greenscreen $ sudo pip install startcast Downloading/unpacking startcast Downloading startcast-0.1.1.tar.gz Running setup.py (path:/tmp/pip-build-3eH45_/startcast/setup.py) egg_info for package startcast

Downloading/unpacking pychromecast (from startcast) Downloading PyChromecast-0.6.13-py2.py3-none-any.whl Downloading/unpacking protobuf>=3.0.0b1.post2 (from pychromecast->startcast) Downloading protobuf-3.0.0b2-py2.py3-none-any.whl (326kB): 326kB downloaded Downloading/unpacking zeroconf>=0.16.0 (from pychromecast->startcast) Downloading zeroconf-0.17.4-py2.py3-none-any.whl Requirement already satisfied (use --upgrade to upgrade): requests>=2.0 in /usr/lib/python2.7/dist-packages (from pychromecast->startcast) Downloading/unpacking six>=1.9 (from protobuf>=3.0.0b1.post2->pychromecast->startcast) Downloading six-1.10.0-py2.py3-none-any.whl Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/lib/python2.7/dist-packages (from protobuf>=3.0.0b1.post2->pychromecast->startcast) Downloading/unpacking netifaces (from zeroconf>=0.16.0->pychromecast->startcast) Downloading netifaces-0.10.4.tar.gz Running setup.py (path:/tmp/pip-build-3eH45_/netifaces/setup.py) egg_info for package netifaces

Downloading/unpacking enum-compat (from zeroconf>=0.16.0->pychromecast->startcast) Downloading enum-compat-0.0.2.tar.gz Running setup.py (path:/tmp/pip-build-3eH45_/enum-compat/setup.py) egg_info for package enum-compat

Downloading/unpacking enum34 (from enum-compat->zeroconf>=0.16.0->pychromecast->startcast) Downloading enum34-1.1.2.tar.gz (46kB): 46kB downloaded Running setup.py (path:/tmp/pip-build-3eH45_/enum34/setup.py) egg_info for package enum34

Installing collected packages: startcast, pychromecast, protobuf, zeroconf, six, netifaces, enum-compat, enum34 Running setup.py install for startcast

Installing startcast script to /usr/local/bin

Found existing installation: six 1.8.0 Not uninstalling six at /usr/lib/python2.7/dist-packages, owned by OS Running setup.py install for netifaces checking for getifaddrs...found. checking for getnameinfo...found. checking for optional header files...netash/ash.h netatalk/at.h netax25/ax25.h neteconet/ec.h netipx/ipx.h netpacket/packet.h linux/irda.h linux/atm.h linux/llc.h linux/tipc.h linux/dn.h. checking whether struct sockaddr has a length field...no. checking which sockaddr_xxx structs are defined...at ax25 in in6 ipx un ash ec ll atmpvc atmsvc dn irda llc. checking for routing socket support...no. checking for sysctl(CTL_NET...) support...no. checking for netlink support...yes. will use netlink to read routing table building 'netifaces' extension arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DNETIFACES_VERSION=0.10.4 -DHAVE_GETIFADDRS=1 -DHAVE_GETNAMEINFO=1 -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -DHAVE_PF_NETLINK=1 -I/usr/include/python2.7 -c netifaces.c -o build/temp.linux-armv7l-2.7/netifaces.o netifaces.c:1:20: fatal error: Python.h: No such file or directory

include

                    ^
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
Complete output from command /usr/bin/python -c "import setuptools, tokenize;**file**='/tmp/pip-build-3eH45_/netifaces/setup.py';exec(compile(getattr(tokenize, 'open', open)(**file**).read().replace('\r\n', '\n'), **file**, 'exec'))" install --record /tmp/pip-aURzvV-record/install-record.txt --single-version-externally-managed --compile:
running install

running build

running build_ext

checking for getifaddrs...found.

checking for getnameinfo...found.

checking for optional header files...netash/ash.h netatalk/at.h netax25/ax25.h neteconet/ec.h netipx/ipx.h netpacket/packet.h linux/irda.h linux/atm.h linux/llc.h linux/tipc.h linux/dn.h.

checking whether struct sockaddr has a length field...no.

checking which sockaddr_xxx structs are defined...at ax25 in in6 ipx un ash ec ll atmpvc atmsvc dn irda llc.

checking for routing socket support...no.

checking for sysctl(CTL_NET...) support...no.

checking for netlink support...yes.

will use netlink to read routing table

building 'netifaces' extension

arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DNETIFACES_VERSION=0.10.4 -DHAVE_GETIFADDRS=1 -DHAVE_GETNAMEINFO=1 -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -DHAVE_PF_NETLINK=1 -I/usr/include/python2.7 -c netifaces.c -o build/temp.linux-armv7l-2.7/netifaces.o

netifaces.c:1:20: fatal error: Python.h: No such file or directory

include

                ^

compilation terminated.

error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1


Cleaning up... Command /usr/bin/python -c "import setuptools, tokenize;file='/tmp/pip-build-3eH45/netifaces/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-aURzvV-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip-build-3eH45/netifaces Storing debug log for failure in /root/.pip/pip.log

diequeiroz commented 8 years ago

Try running: "sudo apt-get install python-dev" before installing startcast

ApsOps commented 8 years ago

@diequeiroz I use chrome tab mirroring to cast. I'm unable to figure out how to do that using the CLI. Any pointers?

diequeiroz commented 8 years ago

What website are you trying to cast?

ApsOps commented 8 years ago

@diequeiroz These are some internal grafana dashboards.

diequeiroz commented 8 years ago

Just configure some greenscreen channels to display them and use the CLI to start greenscreen on your chromecasts