images | ||
tkvideo | ||
.gitattributes | ||
.gitignore | ||
LICENSE | ||
MANIFEST.in | ||
README.md | ||
setup.py |
NOTE: This repository is archived as I'm no longer able to work on this project. Thanks to everyone who contributed to this.
tkVideo
Python module for playing videos (without sound) inside tkinter Label widget using Pillow and imageio
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
Installation
End-users:
- Clone the repo and run
setup.py
git clone https://github.com/huskeee/tkvideo.git
python ./tkvideo/setup.py
or
- Install the package from PyPI
pip install tkvideo
Developers and contributors
- Clone the repo and install the module in developer mode
git clone https://github.com/huskeee/tkvideo.git
python ./tkvideo/setup.py develop
or
- Install the package from PyPI in editable mode
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
<player_name>.play()
- Start the Tk main loop
Example code:
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 page.
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
Xenofon Konitsas - @huskeeeeee - konitsasx@gmail.com
Project Link: https://github.com/huskeee/tkvideo
Special thanks to
- @Pythonista on StackOverflow for the frame loading code