1. Fully qualified codec strings
The codec string must begin with the prefix "avc1.", and contain a suffix of 6 characters as described in Section 3.4 of [rfc6381].
NOTE: The common "avc3." prefix is intentionally not included. This prefix does not signal a material difference to decoder inputs, so it is omitted for simplification. For the purposes of this registration, authors should simply map "avc3." to "avc1.".
2. VideoDecoderConfig description
A VideoDecoderConfig.description
may or may not be required by the
AVC codec depending on the bitstream format of the AVC content to be decoded.
If the VideoDecoderConfig.description
includes an AVCDecoderConfigurationRecord
, as defined by [iso14496-15], section 5.3.3.1,
it will be assumed that the bitstream is in "avc" format.
NOTE: This format is commonly used in .MP4 files, where the player generally has random access to the media data.
If the VideoDecoderConfig.description
is not provided, it will be
assumed that the bitstream is in “annexb” format.
NOTE: "annexb" format is described in greater detail by [ITU-T-REC-H.264], Annex B. This format is commonly used in live-streaming applications, where including the SPS and PPS data periodically allows users to easily start from the middle of the stream.
3. VideoEncoderConfig extensions
/* partial */dictionary {
VideoEncoderConfig AvcEncoderConfig avc ; };
avc
, of type AvcEncoderConfig- Contains codec specific configuration options for the AVC (H.264) codec.
3.1. AvcEncoderConfig
dictionary {
AvcEncoderConfig AvcBitstreamFormat format = "avc"; };
format
, of type AvcBitstreamFormat, defaulting to"avc"
- Configures the format of output
EncodedVideoChunk
s. SeeAvcBitstreamFormat
.
3.2. AvcBitstreamFormat
enum {
AvcBitstreamFormat "annexb" ,"avc" , };
The AvcBitstreamFormat
determines the location of AVC Sequence Parameter
Set (SPS) and Picture Parameter Set (PPS) data, and mechanisms for packaging
the bitstream.
SPS and PPS are described in greater detail in sections G.3.41 and G.3.55 of [ITU-T-REC-H.264].
annexb
-
SPS and PPS data are included periodically throughout the bitstream.
NOTE: This format is described in greater detail by [ITU-T-REC-H.264], Annex B. This format is commonly used in live-streaming applications, where including the SPS and PPS data periodically allows users to easily start from the middle of the stream.
avc
-
SPS and PPS data are not included in the bitstream and are instead emitted
via the
VideoEncoder
[[output callback]] as theVideoDecoderConfig.description
of theVideoDecoderConfig
. output_config.NOTE: This format is described in greater detail by [iso14496-15], section 5.3.3.1. This format is commonly used in .MP4 files, where the player generally has random access to the media data.