Movatterモバイル変換


[0]ホーム

URL:


AvTranscoder  0.9.4
C++APIforLibav/FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AvTranscoder

An High Level API to transform medias.
Based on FFMpeg / libav projects.

Links

github:https://github.com/avTranscoder/avTranscoder
openhub:https://www.openhub.net/p/avTranscoder
travis-ci:https://travis-ci.org/avTranscoder/avTranscoder
coverity-scan:https://scan.coverity.com/projects/2626

Authors

  • Marc-Antoine Arnaud
  • Valentin Noël
  • Clément Champetier

Main features

The library is here to provide a simple managment of the Transform process.
Main features attending are:

  • process each stream without different calls
  • specify stream process before the begin of the process
  • minimize process: only rewrap, or transcode without transformation if possible
  • manage different length of stream (generate silence/black)
  • overload of each sub-component for specific integration, like proprietary wrapper
  • multi-languages usages (C++, Java, Python)

High Level API

Transcoder

The library provide theTranscoder class, which was the highest level of managment.
This classe manage progress of process for eachStreamTranscoder.
EachStreamTranscoder definition can be added to theTranscoder.
After declaration, the process() method can process file, which call processFrame() in loop.

StreamTranscoder

TheStreamTranscoder will be here to abstract call for different case as:

  • simple rewrap stream
  • transcode stream (decoding, transform and encoding)
  • encode from dummy (silence/black or external input source), without decoding step

EachStreamTranscoder is able to process a frame, and in background process a rewrap or the transcode process.

Lowest API

InputFile

This object manage the input media, providing the analisys methods to get metadatas on wrapper and each streams.
It also the entry point to get theInputStream which was the coded stream.

OutputFile

The equivalent to theInputFile is theOutputFile. Each output stream require a decalaration, needed to wrote headers of files (wrote during the beginWrap() call).
As theInputFile provide theInputStream to describe stream, theOutputFile as hisOutputStream to put coded stream into the output file.
Using oneInputStream and oneOutputStream, eachDataStream can be passed to provide a rewrap process.

InputEssence

TheInputEssence provide every time an image, from a coded stream or from an external buffer.
It's allow the possiblity to generate silence or black stream, or also switch between the coded stream and a factice (to complete stream with different durations).
The switch between source was managed inside theStreamTranscoder class.

OutputEssence

As theInputEssence can decode the stream, theOutputEssence will encode our images to provide the coded stream.
It's the encoder cofigured with someProfile.

EssenceTransform

For adapt some images to the output format, some transformation can be done.
This step will only provide pixel/sample transformation (point to point transform). No resize, resampling can be applyed in this step.

Low API

Each component of the Lowest API call method present in the libav/ffmpeg API. You can depend on one of these project.
Newest versions of libav/ffmpeg are recommended.



[8]ページ先頭

©2009-2025 Movatter.jp