NOTE: This repository is archived as I'm no longer able to work on this project. Thanks to everyone who contributed to this.
Python module for playing videos (without sound) inside tkinter Label widget using Pillow and imageio
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.
- 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
- 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.
- 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()
Have a problem that needs to be solved or a suggestion to make? See the issues page.
Distributed under the MIT License. See LICENSE
for more information.
Xenofon Konitsas - @huskeeeeee - konitsasx@gmail.com
Project Link: https://github.com/huskeee/tkvideo
- @Pythonista on StackOverflow for the frame loading code