haojungc / csci-576-final-project

A video player with GUI that analyzes videos, labels frames with different frame types, and supports random access

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CSCI-576 Final Project

contributed by < beryli, NTUT-Vincent, haojungc >

Summary

This is the final project for CSCI-576 Multimedia Systems Design course at University of Southern California. It is a video player with GUI that analyzes an input video and labels frames with different frame types, SCENE, SHOT, and SUBSHOT. Aside from Play, Pause, and Stop, it also supports random access to each scene, shot, and subshot.

Buttons Exploration
Demo-buttons.mp4
Demo-Explore.mp4

Prerequisites

FFmpeg 6.0

FFmpeg 6.0 must be installed on your local machine before running the following code.

Virtual Environment

Create a virual environment:

$ python -m venv venv

Activate the virtual environment:

  • Linux and MacOS
$ source venv/bin/activate
  • Windows
.\venv\Scripts\activate

Install packages:

$ python -m pip install -r requirements.txt

Usage

$ python main.py -vi <input-video> [-vo <output-video>] \
                 -ai <input-audio> [-ao <output-audio>]

Please view main.py for details.

About

A video player with GUI that analyzes videos, labels frames with different frame types, and supports random access

License:MIT License


Languages

Language:Python 100.0%