diff options
author | jaseg <code@jaseg.net> | 2017-08-03 12:37:55 +0200 |
---|---|---|
committer | jaseg <code@jaseg.net> | 2017-08-03 12:39:44 +0200 |
commit | 48eb88ef549002c66b59ba96418f77fb9515222e (patch) | |
tree | dafa2b17238b5655e3bbf86a646e85ccfd4b3080 /mpv.py | |
parent | 1582390031e4891d88424ea1b958aeb67a075385 (diff) | |
download | python-mpv-48eb88ef549002c66b59ba96418f77fb9515222e.tar.gz python-mpv-48eb88ef549002c66b59ba96418f77fb9515222e.tar.bz2 python-mpv-48eb88ef549002c66b59ba96418f77fb9515222e.zip |
Add pillow-based screenshot_raw command
Diffstat (limited to 'mpv.py')
-rw-r--r-- | mpv.py | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -659,6 +659,17 @@ class MPV(object): """ Mapped mpv screenshot_to_file command, see man mpv(1). """ self.command('screenshot_to_file', filename.encode(fs_enc), includes) + def screenshot_raw(self, includes='subtitles'): + """ Mapped mpv screenshot_raw command, see man mpv(1). Returns a pillow Image object.""" + from PIL import Image + res = self.node_command('screenshot-raw', includes) + if res['format'] != 'bgr0': + raise ValueError('Screenshot in unknown format "{}". Currently, only bgr0 is supported.' + .format(res['format'])) + img = Image.frombytes('RGBA', (res['w'], res['h']), res['data']) + b,g,r,a = img.split() + return Image.merge('RGB', (r,g,b)) + def playlist_next(self, mode='weak'): """ Mapped mpv seek command, see man mpv(1). """ self.command('playlist_next', mode) |