Giter Club home page Giter Club logo

avion's Introduction

avion

Avion is an audio/video decoding and encoding framework for Java and C++. In contrast to other frameworks, it uses of the native media frameworks on individual platforms (AVFoundation on Mac OS, Microsoft Media Foundation on Windows, ffmpeg on Linux).

The main goal is to provide a simple, intuitive API for accessing raw audio and video data, or for encoding media files from raw data. It does not include higher level functionality such as GUI elements for media players. Further, focus is on standard audio/video formats, and we do not aim at supporting legacy and rarely used format. Finally, by using the native frameworks, one does not have to deal with decoder / encoder licensing issues.

A typical application example is to decode video files, and use the video frames as OpenGL textures, e.g. for VJing tools or game engines.

Features

  • Simple, immediate API for the major desktop platforms
  • Uses platform-native AV frameworks where available
  • Multi-threaded decoding of Audio and Video streams
  • Support for standard formats and containers (e.g. H.264; .mov, .mp4)
  • Support for video capture devices (web cams, etc.)
  • Small size (20KB...)
  • BSD License; no licensing issues since using native OS AV libraries

TODO

  • API finalization
  • Windows and Linux support (Microsoft Media Foundation, ffmpeg)
  • Video capture support
  • Encoding support

RFC

In order to finalize the API, requests for changes, features, etc. are welcome. Also, if someone is experienced with Microsoft Media Foundation and would like to start hacking, please be in touch, or fork and I'll be happy to pull.

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.