Coder Social home page Coder Social logo

net-cscience-raphael / cineast Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vitrivr/cineast

0.0 0.0 0.0 19.44 MB

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, textual descriptions and example objects.

License: MIT License

Shell 0.05% Java 99.64% Batchfile 0.08% Dockerfile 0.03% GLSL 0.20%

cineast's Introduction

vitrivr - cineast GitHub release License swagger-editor swagger-editor Java CI with Gradle

Cineast

Cineast is a multi-feature content-based multimedia 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. It needs Java 17+. Building and running it is as easy as

git clone https://github.com/vitrivr/cineast.git
cd cineast
./gradlew getExternalFiles cineast-runtime:shadowJar
java -jar cineast-runtime/build/libs/cineast-runtime-x.x-all.jar cineast.json

For more setup information, consult our Wiki

Docker image

There is a Docker image available on Docker Hub.

You can run the CLI with:

docker run vitrivr/cineast cli cineast.json help

To change the configuration you can use a bind mount, e.g. to run the API server with custom configuration file cineast.json in the current directory:

docker run -v "$PWD"/cineast.json:/opt/cineast/cineast.json:ro,Z vitrivr/cineast api 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. The generated OAS is stored at docs/openapi.json

Prerequisites

System dependencies

  • git
  • JDK 17 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.

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.

cineast's People

Contributors

silvanheller avatar ppanopticon avatar sauterl avatar lucaro avatar singaltanmay avatar s3inlc avatar silvanstich avatar spiess avatar zydu51 avatar vgsteiger avatar net-cscience-raphael avatar frankier avatar mpas97 avatar liuhaai avatar x4e-jonas avatar simonpeterhans avatar ivangiangreco avatar samuelboerlin avatar rahelarnold98 avatar lukasbeck avatar alexandertheus avatar awani216 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.