Skip to content

mlaflamm/yamb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yet Another Multimedia Browser (YAMB) is a Java app I created in early 2008 to browse and organize video files.

YAMB only works on windows. It uses some undocumented windows file system classes from the JDK. It uses JNA to access Windows Shell32 functionalities. It also uses DSJ, a DirectShow Java wrapper to generate thumbnails.

I've put this app together quickly and I cannibalized the code from a few other personal projects in the process. It unfortunately lacks Javadoc and, even worse, unit tests! :-( I did this project for myself and I never intended to release it publicly until now. A lot of work is still needed to make it usable by external peoples.

User Interface

YAMB is built around a tabbed MDI interface which can contain 4 types of view: Explorer view, Tab view, Series view and Stat view.

Explorer View

Browse your file system like windows explorer.

You can flag and unflag a directory as a video library. YAMB will scan the directory and all subdirectories for tagged video files. A tagged file contains an underscore followed by one or multiple tags separated by commas like this: Series Name - Vol #, Ep # - Title_Tag1, Tag2.ext. At this time this is not very flexible but it works.

Explorer view

Tag View

Browse video files by tags.

Tag view

Series View

Browse video files by series.

Series view

Stats View

Display various stats and graphs about tagged files and libraries. You can double click on the graph components to open a corresponding Tag or Series view.

Stats view

Building and running YAMB

I modify and run YAMB from my favorite Java IDE, IntelliJ IDEA. So YAMB has no build file, no startup script and no real configuration file yet.

If you are adventurous enough to build YAMB as is, here are the required dependencies:

YAMB has these additional dependencies at runtime.

I use this runtime configuration to run YAMB from my IDE:

Main Class

yamb.Main

VM Parameters

"-Ddsj.path=../_3rdparties/dsj-b0.8.47" "-Dffmpeg.path=../_3rdparties/ffmpeg-11870" "-Dmediainfo.path=../_3rdparties/mediainfo-0.7.7.6" "-Dyamb.datadir=../_data"

Video Thumbnail Generation

Generating video thumbnails from Java is not easy as it involves native code. YAMB can generate video thumbnails using few libraries and tools. All of them have pros and cons.

  • Dsj is fast and relatively stable but sometimes hangs when processing some videos. YAMB use Dsj in a separate process to circumvent possible Dsj issues.
  • Ffmpeg external executable is stable but very slow. YAMB use it as a fallback when Dsj fail.
  • Fobs4jmf is very fast but also very unstable, it is currently disabled.
  • QuickTime for Java is not supported by Apple anymore. QTJ support has been removed just before uploading YAMB on Github.
  • Xuggle is not yet integrated in YAMB but look promising.

About

Yet Another Multimedia Browser

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages