Skip to content

Latest commit

 

History

History
75 lines (52 loc) · 3.04 KB

README.md

File metadata and controls

75 lines (52 loc) · 3.04 KB

swagger-editor Build Status

Cineast

Cineast is a multi-feature content-based mulitmedia retrieval engine. It is capable of retrieving images, audio- and video sequences as well as 3d models based on edge or color sketches, sketch-based motion queries and example objects. Cineast is written in Java and uses CottontailDB as a storage backend.

Building Cineast

Cineast can be built using Gradle. Building and running it is as easy as

$> git clone --recursive https://github.com/vitrivr/cineast.git cineast
$> cd cineast
$> ./gradlew :cineast-core:generateProto
$> ./gradlew cineast-runtime:fatJar
$> java -jar cineast-runtime/build/libs/cineast-runtime-x.x-full.jar cineast.json

Generate OpenApi Specification

If you need to rebuild the OpenApi Specification (OAS), there is a gradle task for this purpose:

$> ./gradlew -PcineastConfig=<path/to/your/config> generateOpenApiSpecs

You can omit -PcineastConfig, then the default config (cineast.json) is used. As a result, the OAS is stored at docs/swagger.json

Prerequisites

System dependencies

  • git
  • JDK 8 or higher

3D rendering

For 3D rendering (required in order to support 3D models) you either need a video card or Mesa 3D. The JOGL library supports both. Rendering on Headless devices has been successfully tested with Xvfb. The following steps are required to enable 3D rendering support on a headless device without video card (Ubuntu 16.04.1 LTS)

  1. Install Mesa 3D (should come pre-installed on Ubuntu). Check with dpkg -l | grep mesa
  2. Install Xvfb:
$> sudo apt-get install xvfb
  1. Start a new screen:
$> sudo Xvfb :1 -ac -screen 0 1024x768x24 &
  1. Using the new screen, start Cineast:
$> DISPLAY=:1 java -jar cineast.jar -3d

The -3d option will perform a 3D test. If it succeeds, cineast should generate a PNG image depicting two coloured triangles on a black background.

Contribution

Contributions are always welcome.

Versioning

Cineast uses semantic versioning. See the releases page.

Code Style

Cineast primarily uses the Google Java Styleguide. Please use the file supplied in the docs/ folder

To automatically apply the styleguide in IntelliJ IDEA go to_File_ -> Settings -> Editor -> Code Style -> Java and import the supplied file via the gear icon.

You can also use Eclipse for development and use Google's styleguide for eclipse.