Logo

tkVideo

Python module for playing videos (without sound) inside tkinter Label widget using Pillow and imageio

Contributors Forks Stargazers Issues MIT License

## About The Project tkVideo is a Python module for playing videos in GUIs created with tkinter. It does so by binding to a `tkinter.Label` widget of the user's choice and rapidly changing its image object. ### Built With * [tkinter (Python built-in)](https://docs.python.org/3/library/tkinter.html) * [imageio](https://imageio.github.io) * [Pillow](https://pypi.org/project/Pillow/) ## Installation ### End-users: * Clone the repo and run `setup.py` ```sh git clone https://github.com/huskeee/tkvideo.git python ./tkvideo/setup.py ``` or * Install the package from PyPI ```sh pip install tkvideo ``` ### Developers and contributors * Clone the repo and install the module in developer mode ```sh git clone https://github.com/huskeee/tkvideo.git python ./tkvideo/setup.py develop ``` or * Install the package from PyPI in editable mode ```sh pip install -e tkvideo ``` This will create a shim between your code and the module binaries that gets updated every time you change your code. ## Usage * Import tkinter and tkvideo * Create `Tk()` parent and the label you'd like to use * Create `tkvideo` object with its parameters (video file path, label name, whether to loop the video or not and size of the video) * Start the player thread with `.play()` * Start the Tk main loop Example code: ```py from tkinter import * from tkvideo import tkvideo root = Tk() my_label = Label(root) my_label.pack() player = tkvideo("C:\\path\\to\\video.mp4", my_label, loop = 1, size = (1280,720)) player.play() root.mainloop() ``` ## Issues / suggestions Have a problem that needs to be solved or a suggestion to make? See the [issues](https://github.com/huskeee/tkvideo/issues) page. ## License Distributed under the MIT License. See `LICENSE` for more information. ## Contact Xenofon Konitsas - [@huskeeeeee](https://twitter.com/huskeeeeee) - konitsasx@gmail.com Project Link: [https://github.com/huskeee/tkvideo](https://github.com/huskeee/tkvideo) ## Special thanks to * [@Pythonista](https://stackoverflow.com/users/5230901/pythonista) on StackOverflow for the frame loading code ##### Readme file created using [Othneil Drew's awesome template ♥](https://github.com/othneildrew/Best-README-Template)