NOTE: This repository is archived as I'm no longer able to work on this project. Thanks to everyone who contributed to this.


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)