Skip to content

USC CSCI-576 Multimedia System Design - Final Project

Notifications You must be signed in to change notification settings

5656hcx/CSCI-576-JPlayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

USC CSCI-576 2021 FALL Final Project

A simple media player powered by Java Swing with the ability to sync audio and video stream
You are welcome to modify or extend it with additional features!


Run a demo (Requires JDK11 or later)

cd project root then run:
  
  $ javac -cp src src/JPlayer.java
  $ java -cp src JPlayer

Synchronization

The synchronization consists of 2 parts: calibration and compensation. Calibration is used to
measure the actual waiting time by comparing it with target frame rate. Compensation is used
to adjust the frame rate for the next frame according to the actual duration time for current
frame. If video is slower, the waiting time for the next frame will be reduced; If video is faster,
we do the opposite.

Performance

The playback thread gives up CPU and wait in the background before rendering the next frame
Normally it takes up to 80% reduced CPU resources comparing to busy-waiting solutions

Dataset Links

About

USC CSCI-576 Multimedia System Design - Final Project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages