LibXCoder Integration
A set of example programs are provided to demonstrate the libxcoder API integration for video decoding, uploading, encoding and transcoding tasks. The source files are located in libxcoder/source/examples
When building libxcoder, the following example programs will be built from these source files, located in libxcoder/build:
- ni_xcoder_decode
- ni_xcoder_encode
- ni_xcoder_transcode_filter
- ni_xcoder_multithread_transcode
In the following sections, we use these source code as an example for writing our own application for video transcoding tasks, using the libxcoder API.
Note that the example programs are limited in their capability compared to full function applications such as FFmpeg, in that it handles elementary video stream only. There is no support for containers, audio, or any transport protocols.
The libxcoder decoder requires complete video frames to operate correctly which include all slices, headers, and any other associated NALs such as SEIs, delimiters, etc. For this reason, the example programs provide frame parsing for H.264, H.265, VP9 and elementary streams only. Customers who would want to use libxcoder for other codec format decoding must provide their own frame parsing logic.