ac-ffmpeg 0.18.1

Simple and safe Rust interface for FFmpeg libraries.
Documentation
# Rust wrapper for FFmpeg libraries

[![Crates.io][crates-badge]][crates-url]
[![MIT licensed][license-badge]][license-url]
[![Build Status][build-badge]][build-url]

[crates-badge]: https://img.shields.io/crates/v/ac-ffmpeg
[crates-url]: https://crates.io/crates/ac-ffmpeg
[license-badge]: https://img.shields.io/crates/l/ac-ffmpeg
[license-url]: https://github.com/angelcam/rust-ac-ffmpeg/blob/master/LICENSE
[build-badge]: https://travis-ci.org/angelcam/rust-ac-ffmpeg.svg?branch=master
[build-url]: https://travis-ci.org/angelcam/rust-ac-ffmpeg

This library provides a Rust interface for FFmpeg libraries. Rather than
supporting all FFmpeg features, we focus on safety and simplicity of the
interface.

## Supported features

* Demuxing any self-contained media container
* Muxing any self-contained media container
* Setting metadata
* Seeking
* Decoding audio and video
* Encoding audio and video
* Video frame scaling and pixel format transformations
* Audio resampling
* Bitstream filters

## Requirements

* FFmpeg v4.x or v5.x libraries. The following libraries are required:
    * libavutil
    * libavcodec
    * libavformat
    * libswresample
    * libswscale

## Compilation

The following env. variables can be used to set correct paths to FFmpeg header
files and libraries:

* `FFMPEG_INCLUDE_DIR` - path to the FFmpeg header files
* `FFMPEG_LIB_DIR` - path to the FFmpeg libs

If you require building for multiple platforms, you can append
`_PLATFORM_TARGET_TRIPLET` to both of the above to create platform specific
env. variables, for example:
* `FFMPEG_INCLUDE_DIR_AARCH64_LINUX_ANDROID = ${jniInclude}/arm64-v8a/`
* `FFMPEG_LIB_DIR_AARCH64_LINUX_ANDROID     = ${jniLibs}/arm64-v8a/`
* `FFMPEG_INCLUDE_DIR_X86_64_LINUX_ANDROID = ${jniInclude}/x86_64/`
* `FFMPEG_LIB_DIR_X86_64_LINUX_ANDROID     = ${jniLibs}/x86_64/`

If you prefer static linking, you can force it using:

* `FFMPEG_STATIC=1`

## License

Even though this library is distributed under the MIT license, the FFmpeg
project has its own license policies that need to be respected. See
https://ffmpeg.org/legal.html for more details.