Common Wrapper/Interface around various video reading/writing tools
Project description
Vidsz: Video's Wizard
Common Wrapper/Interface around various video reading/writing tools to make video reading stable, consistent and super easy around different systems and OS.
pip install vidsz
Backends
- OpenCV (in-development)
Features
- Easy and hassle free (read/write with
for-loop
,with-block
,while-loop
) - Batch Support. Read and write frames in batches.
Read Video
Read with for-loop
from vidsz.opencv import Reader
# open reader
reader = Reader("static/countdown.mp4")
# read frame with for loop
for frame in reader:
# use ndarry-frame however you like
pass
# release
reader.release()
Read with a with-block
with Reader("static/countdown.mp4") as reader:
frame = reader.read()
Read with a while-loop
# this follows similar behavior as opencv counterpart
while reader.is_open():
# returns ndarry-frame or None if nothing left to read
frame = reader.read()
if frame is None:
break
Read frames in a batch
with Reader("dummy.mp4", batch_size=8, dynamic_batch=True) as reader:
batch_frames = reader.read()
Get properties of the reader
# print info: width, height, fps etc.
print(reader)
# access specific things
print(reader.width, reader.height, reader.fps)
# access number-of-frames/seconds/minutes that have been read
print(reader.frame_count, reader.seconds, reader.minutes)
Write Video
Write a single frame
from vidsz.opencv import Reader, Writer
video_fname = "static/countdown.mp4"
# open reader
reader = Reader(video_fname)
# start writer with the Reader object
# by default it'll append _out in the name of the output video
writer = Writer(reader)
# start writer with your settings;
# you can also give any combinations of
# following settings with Reader object to
# overwrite default settings
writer = Writer(name="out.mp4", width=1920, height=1080, fps=15)
# print writer info
print(writer)
# write single frame
frame = reader.read()
writer.write(frame)
Write with for-loop
# read frame with for loop
for frame in reader:
# write the ndarry-frame
writer.write(frame)
Write a batch
# read batches and write
with Reader("dummy.mp4", batch_size=8, dynamic_batch=True) as reader:
batch_frames = reader.read()
# write list or ndarray of frames
writer.write_all(batch_frames)
# close off
reader.release()
writer.release()
Write with a with-block
# using "with" block, write "static/countdown_out.mp4" (clone of input)
with Reader(video_fname) as reader:
with Writer(reader, name="out_with.mp4") as writer:
writer.write_all(reader)
Logo-Attribution Designed by brgfx / Freepik
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
vidsz-0.2.0.tar.gz
(9.5 kB
view details)
Built Distribution
vidsz-0.2.0-py3-none-any.whl
(15.6 kB
view details)
File details
Details for the file vidsz-0.2.0.tar.gz
.
File metadata
- Download URL: vidsz-0.2.0.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.22.0 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/18.0.1 rfc3986/2.0.0 colorama/0.4.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 736f657de6d031c63a6cca1a411b63005b4f02c0988703090502918f181ff974 |
|
MD5 | 95288ece0aa0a5779dec4c33ef85a62a |
|
BLAKE2b-256 | 47deb6525e4ff23a54fac587a14cb60fd5678da545e5a3adf6e3dc32517ed56c |
File details
Details for the file vidsz-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: vidsz-0.2.0-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.22.0 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/18.0.1 rfc3986/2.0.0 colorama/0.4.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ee4069bf2d4f32bfc5e34f359329d3dc7f1391c55fe85427bef997a11281504 |
|
MD5 | 096fcad1fe38a0f9b805e5c0b0aad780 |
|
BLAKE2b-256 | 33a55052d229db8612b65f3aa94f9df94550a182bfaea14d582157c7347feb86 |