Git Product home page Git Product logo

jave2's Introduction

JAVE2

Sonatype Nexus (Releases) Sonatype Nexus (Snapshots)

The JAVE2 (Java Audio Video Encoder) library is Java wrapper on the ffmpeg project. Developers can take take advantage of JAVE2 to transcode audio and video files from a format to another. In example you can transcode an AVI file to a MPEG one, you can change a DivX video stream into a (youtube like) Flash FLV one, you can convert a WAV audio file to a MP3 or a Ogg Vorbis one, you can separate and transcode audio and video tracks, you can resize videos, changing their sizes and proportions and so on.

Many other formats, containers and operations are supported by JAVE2.

Supported Operating Systems + Requirements

JAVE requires Java 8 or higher

JAVE can also be easily ported to other OS and hardware configurations, see the JAVE manual for details.

Operating System Windows x32,x64 MacOS x64 MacOS m1 Linux x32,x64 Linux arm32,arm64
Supported? YES YES YES YES YES

Please note that the arm+win 32 bit versions are still on 4.4.0

Projects using Jave2

Usage Example

For the documentation, please have a look at the project wiki pages here

or at this file DefaultFFMPEGLocatorTest.java

Maven Repository URL -> https://mvnrepository.com/artifact/ws.schild/jave-all-deps

Use with Maven

It includes all binaries for the supported platforms

<dependency>
 <groupId>ws.schild</groupId>
 <artifactId>jave-all-deps</artifactId>
 <version>3.3.1</version>
</dependency>

You can use maven dependencies to include the libraries in your projects. Include the following in your pom files.

[ Remember always to check the latest release here ]

Generally if you want to use for one platform or more what you have to do is add the jave-core:

<dependency>
    <groupId>ws.schild</groupId>
    <artifactId>jave-core</artifactId>
    <version>3.3.1</version>
</dependency>

and then the specific jar(s) for your platform(s) :

For one platform only (Linux 64Bit amd/intel in this case)

<dependency>
    <groupId>ws.schild</groupId>
    <artifactId>jave-nativebin-linux64</artifactId>
    <version>3.3.1</version>
</dependency>

For one platform only (Linux 64Bit arm in this case)

<dependency>
    <groupId>ws.schild</groupId>
    <artifactId>jave-nativebin-linux-arm64</artifactId>
    <version>3.3.1</version>
</dependency>

For one platform only (Linux 32Bit arm in this case)

<dependency>
    <groupId>ws.schild</groupId>
    <artifactId>jave-nativebin-linux-arm32</artifactId>
    <version>3.3.1</version>
</dependency>

For one platform only (Windows 64Bit in this case)

<dependency>
    <groupId>ws.schild</groupId>
    <artifactId>jave-nativebin-win64</artifactId>
    <version>3.3.1</version>
</dependency>

For one platform only (MACOS 64Bit in this case)

<dependency>
    <groupId>ws.schild</groupId>
    <artifactId>jave-nativebin-osx64</artifactId>
    <version>3.3.1</version>
</dependency>

Use with Gradle

It includes all binaries for the supported platforms

compile group: 'ws.schild', name: 'jave-all-deps', version: '3.3.1'

For one platform only (Linux 64Bit in this case)

compile group: 'ws.schild', name: 'jave-core', version: '3.3.1'
compile group: 'ws.schild', name: 'jave-nativebin-linux64', version: '3.3.1'

Main Components of Jave2

Jave2 consists of two main components:

  1. The jave-core dependency, which includes all the java code, which is platform independent
  2. The jave-nativebin-<platform> dependencies, which include the binary executables per platform

There exists a jave-all-deps project, which includes core and all windows und linux binaries.


Examples

Converting any audio to mp3

boolean succeeded;  
try {                                                         
 File source = new File("file path");		                 
 File target = new File("file path");                         
                                                              
 //Audio Attributes                                       
 AudioAttributes audio = new AudioAttributes();              
 audio.setCodec("libmp3lame");                               
 audio.setBitRate(128000);                                   
 audio.setChannels(2);                                       
 audio.setSamplingRate(44100);                               
                                                             
 //Encoding attributes                                       
 EncodingAttributes attrs = new EncodingAttributes();        
 attrs.setFormat("mp3");                                     
 attrs.setAudioAttributes(audio);                            
                                                             
 //Encode                                                    
 Encoder encoder = new Encoder();                            
 encoder.encode(new MultimediaObject(source), target, attrs);
                                                              
} catch (Exception ex) {                                      
 ex.printStackTrace();                                       
 succeeded = false;                                          
}                                                             

More advanced examples

Can be found here

Changelog

Can be found here

License

JAVE2 is Free Software and it is licensed under GPL3 LICENSE

You will find a copy of the license bundled into the downloadable software distribution.

Feedback

You can send comments to [email protected] For bug reports use the github site https://github.com/a-schild/jave2/issues

Credits

Jave is based on the jave version from Carlo Pelliccia
The original project page with source code can be found here:

http://www.sauronsoftware.it/projects/jave/

jave2's People

Contributors

a-schild avatar alexshavlovsky avatar angus-liu avatar chrysophylax avatar davidwatkins73 avatar exoad avatar gemy21ce avatar goxr3plus avatar hanxu2018 avatar hsj-xiaokang avatar jdgiotta avatar mressler avatar pyjou avatar sarmadsa avatar topcatv avatar yaoqiangpersonal avatar

Watchers

 avatar  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.