Video playback in Python
Project description
pyvidplayer2 (please report all bugs!)
Introducing pyvidplayer2, the successor to pyvidplayer. It's better in pretty much every way, and finally allows an easy and reliable way to play videos in Python.
All the features from the original library have been ported over, with the exception of alt_resize()
. Since pyvidplayer2 has a completely revamped foundation, the unreliability of set_size()
has been quashed, and a fallback function is now redundant.
Features (tested on Windows)
- Easy to implement (4 lines of code)
- Fast and reliable
- Adjust playback speed
- No audio/video sync issues
- Subtitle support (.srt)
- Play multiple videos in parallel
- Built in GUI
- Support for Pygame, Pyglet, Tkinter, and PyQT6
- Can play all ffmpeg supported video formats
- Post process effects
- Webcam feed
Installation
pip install pyvidplayer2
Note: FFMPEG must be installed and accessible via the system PATH. Here's an online article on how to do this (windows): https://phoenixnap.com/kb/ffmpeg-windows
Quickstart
Refer to the examples folder for more basic guides, and documentation.md contains more detailed information.
import pygame
from pyvidplayer2 import Video
# create video object
vid = Video("video.mp4")
win = pygame.display.set_mode(vid.current_size)
pygame.display.set_caption(vid.name)
while True:
key = None
for event in pygame.event.get():
if event.type == pygame.QUIT:
vid.close()
pygame.quit()
exit()
elif event.type == pygame.KEYDOWN:
key = pygame.key.name(event.key)
if key == "r":
vid.restart() #rewind video to beginning
elif key == "p":
vid.toggle_pause() #pause/plays video
elif key == "right":
vid.seek(15) #skip 15 seconds in video
elif key == "left":
vid.seek(-15) #rewind 15 seconds in video
elif key == "up":
vid.set_volume(1.0) #max volume
elif key == "down":
vid.set_volume(0.0) #min volume
# only draw new frames, and only update the screen if something is drawn
if vid.draw(win, (0, 0), force_draw=False):
pygame.display.update()
pygame.time.wait(16) # around 60 fps
Potential Features (help welcome)
- Stream online videos
- Support for subtitle formats other than .srt
- Reverse video playing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyvidplayer2-0.9.7.tar.gz
.
File metadata
- Download URL: pyvidplayer2-0.9.7.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c89808432562bb3ef2fdcb5a36cfd9c9177c80cfd19627d7af24af281d16263 |
|
MD5 | 252ba85d86ebb8552eef48a54ee1b73e |
|
BLAKE2b-256 | da5e7f907ca6374e432b54b4213679ee8281574481b711bb85fdd6c55c76edec |
File details
Details for the file pyvidplayer2-0.9.7-py3-none-any.whl
.
File metadata
- Download URL: pyvidplayer2-0.9.7-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfc05e0d611600d8c94a84bd3b5294bee87a50f45db7a70433c7308b3a97e968 |
|
MD5 | dd9bd2195c2d8b852f57e1a7a89d83a8 |
|
BLAKE2b-256 | 186bc6a12b20833e1923a594b3126b66932b34a69ba046968512382c717d9bfc |