Dolby AC-4 packetization into HTTP Live Streaming compliant audio-only elementary stream segments
When multiplexing a Dolby AC-4 audio elementary stream into HTTP Live Streaming compliant audio-only elementary stream segments, the product must meet certain conditions.
- Use Dolby AC-4 Sync frames.
- Ensure that the first Dolby AC-4 sync frame packaged in each audio elementary stream segment is a Random access point.
- Each audio elementary stream segment must signal the time stamp of its first sample
with an
ID3 PRIV
tag at the beginning of the segment. - The segments should have a file extension of .ac4.
The structure of an audio-only elementary stream segment is shown in the figure.
Figure: Audio-only elementary stream segments
The syntax of the ID3 PRIV
tag is described in this table.
Syntax | Word Size in Bits | Identifier | Value |
---|---|---|---|
ID3_tag(){
|
|||
ID3V2_header()
|
|||
PRIV_frame()
|
|||
}
|
|||
ID3V2_header(){
|
|||
ID3V2_file_identifier
|
3x8
|
string
|
“ID3”
|
ID3V2_version
|
2x8
|
uimsbf
|
0x0400
|
ID3V2_flags
|
8
|
bslbf
|
0x00
|
ID3V2_size
|
4x8
|
bslbf
|
4x0b0xxxxxxx(0x0000003f)
|
}
|
|||
PRIV_frame(){
|
|||
frame_ID
|
4x8
|
string
|
"PRIV"
|
frame_size
|
4x8
|
uimsbf
|
4x0b0xxxxxxx(0x00000035)
|
frame_status_flags
|
8
|
bslbf
|
0x00
|
frame_format_flags
|
8
|
bslbf
|
0x00
|
Owner_identifier
|
45x8
|
string
|
"com.apple.streaming.transportStreamTimestamp"
|
Private_data
|
8x8
|
bslbf
|
The upper 31 bits are set to zero,the lower 33 bits is the pts
value
|
}
|