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*.BUILDfiles 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.