Last active 1445963690

Easy mp4 playback for chromecasts from python. no google chrome needed. for people without RAM. Pausing does not currently work for some reason.

Revision 8e0ca02c4c7342ae2d081f1a6b225b9f75258b6c

cast.py Raw
1#!/usr/bin/env python
2# requires pychromecast and probably python 2.7, sorry
3
4import pychromecast
5import argparse
6
7def play_video(url, cast):
8 if cast.media_controller.status.player_state == "PAUSED" or cast.media_controller.status.content_id == url:
9 cast.media_controller.play()
10 else:
11 cast.play_media((url), "video/mp4")
12
13def pause_video(cast):
14 if cast.media_controller.status.supports_pause:
15 cast.media_controller.pause()
16 else:
17 print "Cannot pause"
18
19def stop_video(cast):
20 cast.quit_app()
21
22def main():
23 parser = argparse.ArgumentParser()
24 parser.add_argument("url", nargs="?", help="URL of media to play. Doesn't support local addresses yet. If no URL is supplied, plays paused video.")
25 parser.add_argument("-p", "--pause", help="Pause playback", action='store_true')
26 parser.add_argument("-s", "--stop", help="Stop playback", action='store_true')
27 args = parser.parse_args()
28 cast = pychromecast.get_chromecast()
29 if not args.pause or not args.stop:
30 play_video(args.url, cast)
31 return
32 elif args.pause:
33 pause_video(cast)
34 return
35 elif args.stop:
36 stop_video(cast)
37 return
38 print "Did nothing"
39 return
40
41if __name__ == "__main__":
42 main()