# Taking screenshots programatically?

**URL:** <https://forums.plex.tv/t/taking-screenshots-programatically/193582>\
**Category:** Dev/API Corner\
**Tags:** plugin-dev\
**Created:** [May 29, 2017, 6:20pm UTC](https://forums.plex.tv/t/taking-screenshots-programatically/193582 "2017-05-29T18:20:50Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![kershner25](https://avatars.discourse-cdn.com/v4/letter/k/8e7dd6/32.png) [@kershner25](https://forums.plex.tv/u/kershner25)\
**Post date:** [May 29, 2017, 6:20pm UTC](https://forums.plex.tv/t/taking-screenshots-programatically/193582/1 "2017-05-29T18:20:50Z")

</div>

Hey everyone,

I develop an app for Philips Hue lights called [ScreenBloom](http://www.screenbloom.com "ScreenBloom") which simply takes a screenshot, extracts color data from the pixels in the shot to produce an average, and updates Philips Hue lights with the color. Creates a simple but nice dynamic bias light effect.

I’m thinking about developing a Plex plugin for this functionality, but before I get too far down the rabbit hole I’d like to ask the fine experts here if you think such a thing is even possible with a Plex plugin? ScreenBloom is written in Python so most of the functionality should work just fine but I’m mostly curious about grabbing screenshots rapidly. Can I simply use PIL / ImageGrab?

Thanks for your helpful information!

---

<div class="post-metadata">

**Author:** ![czukowski](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/czukowski/32/9008_2.png) [@czukowski](https://forums.plex.tv/u/czukowski)\
**Post date:** [May 30, 2017, 6:14am UTC](https://forums.plex.tv/t/taking-screenshots-programatically/193582/2 "2017-05-30T06:14:37Z")

</div>

Greetings! Plex channels don’t do the actual playback, they just find the media files/streams for Plex clients, which are network devices, to play. So it makes most sense to me to install and use your app on the target devices where the media do actually play (and the lights are installed) and, if I understand correctly, there’s no need for any specific Plex plug-in for that.

One thing you could do from Plex is starting/stopping your app when media playback starts or stops, there is a [Webhooks](https://support.plex.tv/hc/en-us/articles/115002267687-Webhooks) function (Plex-pass only) that can emit these events that you app could listen to, it can also be configured without any plug-in.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [January 8, 2020, 8:03pm UTC](https://forums.plex.tv/t/taking-screenshots-programatically/193582/3 "2020-01-08T20:03:58Z")

</div>


