A distributed video converter
Java Shell Batchfile JavaScript HTML CSS
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.mvn/wrapper
common
encoder
file-storage
legacy
test-aggregator
thumbnail
.gitignore
.travis.yml
README.md
docker-compose.yml
mvnw
mvnw.cmd
pom.xml

README.md

Brownie

Distributed video converter, based on Vert.x v3 and RxJava.

Build Status Coverage Status codebeat badge

Feature

  • Support clustering based on Hazelcast
  • Support royalty-free format (WebM) only
  • Support distributed file systems like AWS S3, Aliyun OOS, HDFS etc.
  • Support multi presets to support many kinds of client
  • Support generating thumbnail
  • Provide Swagger file for generating API client automatically
  • Provide admin console to manage running tasks and stored files
  • Provide Docker container to run brownie cluster
  • Provide recommended Docker Compose configuration for small cluster

How to run

$ mvn clean package
$ java -DBROWNIE_MOUNTED_DIR=/tmp/brownie -jar target/brownie-*.jar

or

$ mvn clean package
$ java -DBROWNIE_MOUNTED_DIR=/tmp/brownie -DBROWNIE_CLUSTER_HOST="localhost" -jar target/brownie-*.jar

or

$ mvn clean package
$ docker-compose build
$ docker-compose up

How to test

$ docker-compose up -d --force-recreate file_storage_db thumbnail_db
$ mvn clean verify

Copyright and license

Copyright 2015-2016 Kengo TODA

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Dependency

This product needs ffmpeg in the PATH.