The Immersive Audio Model and Formats (IAMF) standard is defined by the Alliance for Open Media (AOM).
iamf-tools
implements tools to help users process and work with the IAMF
format. These tools can be used as a complement to the libiamf
reference decoder.
<root>
- Project-level files like the license, README (this file), and BUILD files.iamf/
- Common data classes for the Open Bitstream Units (OBU)s and tools.cli/
- Files related to the command line interface (CLI) to generate and write an IA Sequence.proto/
- Protocol buffers defining the data scheme for the input files underiamf/cli/testdata/
or user-created ones.testdata/
- Sample input files to the encoder. See also Test Suite.tests/
- Unit tests for files underiamf/cli/
.
tests/
- Unit tests for files underiamf/
.
external/
- Custom*.BUILD
files for external dependencies.
The encoder can be used to encode a standalone IAMF Sequence (.iamf
) file
based on an input .textproto
file. See Test Suite for several
example input files.
iamf-tools
is built using Bazel. See Bazel's
Getting started page for installation instructions.
Building the encoder binary:
bazel build -c opt //iamf/cli:encoder_main
Running built-in tests:
bazel test //iamf/...
Run the encoder. Specify the input file with --user_metadata_filename
and the
output directory with --output_iamf_directory
.
Using the encoder:
bazel-bin/iamf/cli/encoder_main --user_metadata_filename=iamf/cli/testdata/test_000002.textproto --output_iamf_directory=.
If this example is successful the encoder will produce an output
test_000002.iamf
file in the current directory.
iamf/cli/testdata cover a wide variety of IAMF feature. These samples
can be used as encoder input. After encoding the resultant .iamf
files can be
used to assist in testing or debugging an IAMF-compliant decoder.
See the separate REAMDE.md for further documentation.
Released under the BSD 3-Clause Clear License. See LICENSE for details.