Skip to main content

Python module to summarise a video into a collage.

Project description

Description

Code for the videosum Python package. Given a video file, this package produces a single image that summarises the video. The summary image is constructed as a collage of video frames evenly spaced over time.

Install dependencies

  • Ubuntu/Debian:
$ sudo apt install ffmpeg

Install with pip

$ python3 -m pip install videosum --user

Install from source

$ python3 setup.py install --user

Run video summarisation on a single video

$ python3 -m videosum.run --input video.mp4 --output collage.jpg --nframes 100 --height 1080 -width 1920 --algo time

Options:

  • --input: path to the input video file.
  • --output: path where the output collage will be saved.
  • --nframes: number of frames that you want to see in the collage image.
  • --height: height of the collage image.
  • --width: width of the collage image.
  • --algo: algorithm used to select the key frames of the video.

Exemplary code snippet

import cv2
import videosum

# Choose the number of frames you want in the summary
nframes = 100

# Choose the dimensions of the collage
widtth = 1920
height = 1080

# Choose the algotrithm that selects the key frames
algo = 'fid'  # The options are: 'time', 'fid', 'scda'

# Create video summariser object
vs = videosum.VideoSummariser(algo, nframes, width, height)

# Create collage image
im = vs.summarise('video.mp4')

# Save collage to file
cv2.imwrite('collage.jpg', im)

# Retrieve a list of Numpy/OpenCV BGR images corresponding to the key frames of the video
key_frames = vs.get_key_frames('video.mp4')       

Run unit tests

Run this from the root directory of the repository:

$ python3 test/test_videosum.py

Exemplary result

  • Video (click on the thumbnail to watch the video in Youtube):

Exemplary surgery video

  • Summary based on time algorithm:

$ python3 -m videosum.run --input video.mp4 --output time.png --nframes 16 --height 1080 --width 1920 --algo time

  • Summary based on fid algorithm:

$ python3 -m videosum.run --input video.mp4 --output time.png --nframes 16 --height 1080 --width 1920 --algo fid

  • Summary based on scda algorithm:

$ python3 -m videosum.run --input video.mp4 --output time.png --nframes 16 --height 1080 --width 1920 --algo scda

Author

Luis Carlos Garcia Peraza Herrera (luiscarlos.gph@gmail.com), 2022.

License

This code repository is shared under an MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

videosum-0.0.3.tar.gz (12.7 kB view details)

Uploaded Source

File details

Details for the file videosum-0.0.3.tar.gz.

File metadata

  • Download URL: videosum-0.0.3.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for videosum-0.0.3.tar.gz
Algorithm Hash digest
SHA256 24adc442673f0d832d01e7b3586143158debe49b223c2fec51ca096890dd290b
MD5 0704304671cd9a23a5f00c99cdce6278
BLAKE2b-256 8605a22139a3fa1a4b22ff3d4fdcd8c9496e44d23b7f6ed20d38c0cce63d77f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page