Skip to content

C++ Wrapper and Facilities to simplify libav usage

License

GPL-3.0, LGPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE.txt
LGPL-3.0
LICENSE.lesser
Notifications You must be signed in to change notification settings

fe-dagostino/libavcpp

Repository files navigation

Coverity Scan Build Status Travis-CI Build Status

libav++

C++ Wrapper and Facilities to simplify libav usage

Would like to provide and easy and fast way to access and use the powerful libav.

Here a list with all dependecies and their use

  • LibAV Libav provides cross-platform tools and libraries to convert, manipulate and stream a wide range of multimedia formats and protocols. Note that libav make use of many other libraries that add protocols and functionalities to libav itself, make sure to refers to LibAV website for a complete view of all protocols and formats supported by this library.
  • FEDLibrary used to keep code portable between linux and windows OSs

Build instructions

Please refer to the Building pages in the wiki.

Examples

  • decoder.cpp this is an easy example that show how to initialize libav++ and how implement IAVDecoderEvents interface in order to handle each single frame. This application just take as input and video file, then open the stream and read all frames until the end.
  • img2ppm.cpp the program is able to convert a generic input file (image or video) to a ppm format. img2ppm demostrates using of libav++ implementing the IAVDecoderEvents event interface and how to use CAVImage for rescaling.
  • encoder.cpp this program provide an example on how to encode a video file using and instance of CAVEncoder class. Encoded file will be a result of blending input frames coming from a video file together with an image file used as background, in order to cover the scope background image file should have transparent areas where the video will be visible. Output file will be an mp4 file.
  • ogl_cube.cpp one more example using integration of libav++ with an opengl context. In this example an input stream will be used to create dynamic textures and to mapping it to a cube. Orginal code for opengl cube has been taken from http://nehe.gamedev.net/ and modified on order to replace static textures with a dynamic one. alt tag

About

C++ Wrapper and Facilities to simplify libav usage

Resources

License

GPL-3.0, LGPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE.txt
LGPL-3.0
LICENSE.lesser

Stars

Watchers

Forks

Packages

No packages published