5 Conformance
26.2443GPP3GPP file format (3GP)Release 17Transparent end-to-end Packet-switched Streaming Service (PSS)TS
5.1 General
The 3GPP file format is structurally based on the ISO base media file format defined in [7]. However, the conformance statement for 3GP files is defined here by addressing constraints and extensions to the ISO base media file format, registration of codecs, file identification (file extension, brand identifier and MIME type) and profiles. If a 3GP file contains codecs or functionalities not conforming to this specification they may be ignored, i.e. a 3GP compliant file parser may ignore non-compliant boxes.
5.2 Definition
5.2.1 Limitations to the ISO base media file format
The following limitation to the ISO base media file format [7] shall apply to a 3GP file:
– compact sample sizes (‘stz2’) shall not be used for tracks containing H.263, AMR, AMR-WB, AAC or Timed text.
NOTE: The extended presentation format (see clause 11) is defined by using the Meta box of the ISO base media file format [7] that was not present in the first edition. Hence, extended presentations in 3GP files are explicitly signalled via the Extended-presentation profile (see clause 5.4.6).
5.2.2 Registration of codecs
Code streams for H.263 video [9], H.264 (AVC) video [29], H.265 (HEVC) video [51], AMR narrow-band speech [11], AMR wide-band speech [12], Extended AMR wide-band audio [21], EVS [55], Enhanced aacPlus audio [23, 24, 25], MPEG-4 AAC audio [13], and timed text [4] can be included in 3GP files as described in clause 6 of the present document.
5.2.3 Extensions
The following extensions to the ISO base media file format [7] can be used in a 3GP file:
– streaming-server extensions (see clause 7);
– asset information (see clause 8);
– video-buffer information (see clause 9);
– AVC file format (see clause 5 of [20]), for which the use of sample entry types other than ‘avc1’ is disallowed;
– MVC file format (see clause 7 of [20]);
– H.265 (HEVC) file format (see clause 8 of [20]);
– RTP and RTCP reception hint tracks (see [38]);
– SRTP and SRTCP reception hint tracks with key management information for SRTP recordings (see [38] and clause 12);
– Quality metrics timed metadata track (see clause 4 of [53] and clause 16 of this specification).
If SDP information is included in a 3GP file, it shall be used as defined by the streaming-server extensions.
5.2.4 MPEG-4 systems specific elements
For the storage of MPEG-4 media specific information in 3GP files, this specification refers to MP4 [14], the AVC file format as specified in clause 5 of [20], and the H.265 (HEVC) file format as specified in clause 8 of [20], which are also based on the ISO base media file format. However, tracks relative to MPEG-4 system architectural elements (e.g. BIFS scene description tracks or OD Object descriptors) are optional in 3GP files and shall be ignored. The inclusion of MPEG-4 media does not imply the usage of MPEG-4 systems architecture. Terminals and servers are not required to implement any of the specific MPEG-4 system architectural elements.
5.2.5 Template fields
The ISO base media file format [7] defines the concept of template fields that may be used by derived file formats. The template field "alternate group" can be used in 3GP files, as defined in clause 7.2. No other template fields are used.
5.2.6 Interpretation of the 3GPP file format
All index numbers used in the 3GPP file format start with the value one rather than zero, in particular "first-chunk" in Sample to chunk box, "sample-number" in Sync sample box and "shadowed-sample-number", "sync-sample-number" in Shadow sync sample box.
5.3 Identification
5.3.1 General
3GP files can be identified using several mechanisms: file extension, MIME types and brands.
5.3.2 File extension
When stored in traditional computer file systems, 3GP files should be given the file extension ‘.3gp’. Readers should allow mixed case for the alphabetic characters.
5.3.3 MIME types
The MIME types ‘video/3gpp’ (for visual or audio/visual content, where visual includes both video and timed text) and ‘audio/3gpp’ (for purely audio content) shall be used as defined in [27].
5.3.4 Brands
This specification defines several brand identifiers corresponding to the profiles defined in clause 5.4. Brands are indicated in a file-type box, defined in [7], which shall be present in conforming files. The fields of the file-type box shall be used as follows:
– Brand: Identifies the ‘best use’ of the file and should match the file extension. For files with extension ‘.3gp’ and conforming to this specification, the brand shall be one of the profile brands defined in clause 5.4.
– MinorVersion: This identifies the minor version of the brand. For files with brand ‘3gLZ’, where L is a letter and Z a digit, and conforming to version Z.x.y of this specification, this field takes the value x*256 + y.
– CompatibleBrands: a list of brand identifiers (to the end of the box). Any profile of a 3GP file is declared by including the corresponding brand from clause 5.4 in this list.
The brand identifier (of one of the profiles) must occur in the compatible-brands list, and may also be the primary brand. Conformance to more than one profile is indicated by listing the corresponding brands in the compatible-brands list. If the file is also conformant to earlier releases of this specification, it is recommended that the corresponding brands (‘3gp4’, ‘3gp5’, ‘3gp6’, ‘3gp7’ and/or ‘3gp8’) also occur in the compatible-brands list. If, for instance, ‘3gp4’ is not in the compatible-brands list, then the file will not be processed by a Release 4 reader. Readers should check the compatible-brands list for the identifiers they recognize, and not rely on the file having a particular primary brand, for maximum compatibility. Files may be compatible with more than one brand, and have a ‘best use’ other than this specification, yet still be compatible with this specification.
5.4 Profiles
5.4.1 General
All 3GP files of this release shall conform to the general definitions in clauses 5.1-5.3. Additional profile-specific constraints are listed below. A 3GP file must conform to at least one profile and may conform to several profiles.
5.4.2 General profile
The 3GP General profile is branded ‘3gg9’ and is a superset of all other profiles. It is used to identify 3GP files conformant to this specification, although they may not conform to any of the specific profiles listed below.
NOTE: The General profile of 3GP has fewer restrictions than other profiles and is suitable for files not yet ready to be delivered by MMS or to be streamed by a PSS server. A General 3GP file may for instance contain several alternative tracks of media. After extracting a suitable set of tracks the file may be ready for MMS and can be re-profiled as a Basic file. Alternatively, by adding streaming-server extensions, it may be re-profiled as a Streaming-server profile.
5.4.3 Basic profile
The 3GP Basic profile is branded ‘3gp9’.
The following constraints shall apply to a 3GP file conforming to Basic profile:
– there shall be no references to external media outside the file, i.e. a file shall be self-contained;
– the maximum number of tracks shall be one for video (or alternatively one for scene description), one for audio and one for text;
– the maximum number of sample entries shall be one per track for video and audio (but unrestricted for text and scene description);
– there shall be no references between tracks, e.g., a scene description track shall not refer to a media track since all tracks are on equal footing and played in parallel by a conforming player.
NOTE 1: The Basic profile of 3GP in Release 6 or higher corresponds to 3GP files of earlier releases, which did not define profiles.
NOTE 2: In order to maintain backward compatibility with Release 4 and Release 5, it is not recommended to use movie fragments in 3GP files for MMS.
NOTE 3: For H.264 (AVC) or H.265 (HEVC) video in a Basic profile 3GP file, the restriction on the number of video tracks implies in particular that there shall be no alternative tracks (including switching tracks) and no separate tracks for parameter sets.
NOTE 4: For DIMS scene description in a Basic profile 3GP file, the restriction on the number of scene description tracks implies in particular that there shall be no separate tracks for redundant DIMS units.
NOTE 5: The handler types for tracks with video, audio, text and scene description are ‘vide’, ‘soun’, ‘text’, and ‘sdsm’, respectively.
5.4.4 Streaming-server profile
The 3GP Streaming-server profile is branded ‘3gs9’ and is used in PSS. Conformance to this profile will guarantee interoperability between content creation tools and streaming servers, in particular for the selection of alternative encodings of content and adaptation during streaming.
The following constraints shall apply to 3GP files conforming to Streaming-server profile:
– RTP hint tracks shall be included for all media tracks;
– RTP hint tracks shall comply with streaming as specified by PSS [3];
– SDP information shall be included, as specified in clause 7.5, where SDP fragments shall be stored in the hint tracks with media-level control URLs referring to (the same) hint tracks.
– streaming-server extensions should be used for hint tracks, as defined in chapter 7.
The following requirements shall apply to servers conforming to this profile. A conforming server
– shall understand and respect directions given in the streaming-server extensions, as defined in chapter 7;
– should understand hint tracks;
– may override instructions in hint tracks.
NOTE 1: The instructions given in RTP hint tracks shall be consistent with the PSS. In particular, sending times of RTP packets shall respect buffer constraints and be consistent with parameters used in SDP.
NOTE 2: Earlier releases of the 3GPP file format did not define streaming-server extensions or profiles. The usage of hint tracks was an internal implementation matter for servers outside the scope of the PSS specification.
5.4.5 Progressive-download profile
The 3GP Progressive-download profile is branded ‘3gr9’. It is used to label 3GP files that are suitable for progressive download, i.e. a scenario where a file may be played during download (with some delay).
The following constraints shall apply to 3GP files conforming to Progressive-download profile:
– the ‘moov’ box shall be placed right after the ‘ftyp’ box in the beginning of the file;
– all media tracks (if more than one) shall be interleaved with an interleaving depth of one second or less.
NOTE 1: This profile functions as an aid and not a requirement for progressive download, which has been an inherent feature of the 3GPP file format since the first version in Release 4. By parsing a 3GP file, a client can always determine whether a file can be progressively downloaded, and then calculate the interleaving depth from the meta-data in the ‘moov’ box.
NOTE 2: The ‘interleaving depth of one second or less’ means that:
– Each chunk contains one or more samples, with the total duration of the samples being either: no greater than 1 second, or the duration of a single sample if that sample’s duration is greater than 1 second;
– Within a track, chunks must be in decoding time order within the media-data box ‘mdat’;
– It is recommended that, in ‘mdat’, regardless of media type, the chunks for all tracks are stored in ascending order by decoding time. However, this order may be perturbed so that, when two chunks from different tracks overlap in time, the chunk of one track (e.g. audio) is stored before the chunk of the other track (e.g. video), even if the first sample in the second track has a slightly earlier timestamp than the first sample in the first track.
5.4.6 Extended-presentation profile
The 3GP Extended-presentation profile is branded ‘3ge9’. It enables a 3GP file to carry any kind of multimedia presentation composed of tracks, media files and a scene description.
The following constraint shall apply to 3GP files conforming to Extended-presentation profile:
– there shall be an extended presentation as defined in clause 11.
The following requirement shall apply to a player conforming to this profile. A conforming player
– shall render the content of the 3GP file as prescribed by the contained scene description (primary item).
NOTE: The scene description can address resources by using URLs as described in clause 11.3. In particular, it can refer to media in tracks and items and also to scene description updates in scene description tracks.
5.4.7 Media Stream Recording profile
The 3GP Media Stream Recording Profile is branded ‘3gt9’. It is used to label 3GP files that contain recordings of multimedia streams, e.g., from a PSS or an MBMS session.
The following constraints apply to 3GP files conforming to the Media Stream Recording Profile:
– Non-protected media streams may be contained in RTP reception hint tracks or in media tracks or in both as specified in [38]
– One RTCP hint track per media stream may be contained as specified in [38].
– Protected media data may be contained in SRTP reception hint tracks as specified in [38].
– Control information, i.e., SRTCP sender reports, necessary to render the protected media in SRTP reception hint tracks shall be contained in one SRTCP reception hint track per SRTP reception hint tracks specified in [38].
– MIKEY MBMS Traffic Key messages [39] necessary to access the information stored in SRTP and SRTCP reception hint tracks shall be contained in key message tracks as described in clause 12.2.
– Key management information necessary to render the content of the 3GP file shall be contained as described in clause 12.2, provided that at least one SRTP reception hint track is present.
– SDP information shall be included as specified in clause 12.3.
The following requirements shall apply to 3GP players conforming to this profile. A conforming player:
– shall be able to reconstruct the received media stream from media tracks and RTP/RTCP hint tracks.
– shall be able to extract the unprotected content from the 3GP file, provided that the player has access to required MBMS Service Keys or is able to obtain these using the methods specified in [39].
5.4.8 File-delivery server profile
The File-delivery server profile is branded ‘3gf9’. Conformance to this profile will guarantee interoperability between content creation tools and file delivery servers.
The following constraints shall apply to 3GP files conforming to File-delivery server profile:
– File Delivery Hint Tracks and File Delivery Format Extensions, as specified in [7], shall be used for files intended for transmission over FLUTE [42].
The following requirements shall apply to servers conforming to this profile.
– A conforming server shall understand and respect Filed Delivery Hint Tracks and File Delivery Format Extensions, as specified in [7].
5.4.9 Adaptive-Streaming profile
The 3GP Adaptive-Streaming profile is branded ‘3gh9’. It is used to label 3GP files that are primarily suitable for adaptive file-based streaming.
The following constraints shall apply to 3GP files conforming to Adaptive-Streaming profile:
– the ‘moov’ box shall be placed in the beginning of the file right after the ‘ftyp’ box and a possibly present ‘pdin’ box;
– all movie data shall be contained in Movie Fragments, i.e. the tracks in the ‘moov’ box shall not contain any samples (i.e. the entry_count in the "stts", "stsc", and "stco" boxes shall be set to 0).
– the ‘moov’ box shall contain an ‘mvex’ box to indicate the presence of movie fragments.
– the ‘moov’ box shall be followed by one or more ‘moof’ and optionally ‘mdat’ box pairs.
– each ‘moof’ box shall contain at least one track fragment.
– The ‘moof’ boxes shall use movie-fragment relative addressing for media data that does not use external data references and the flag ‘default-base-is-moof’ shall also be set; absolute byte-offsets shall not be used for this media data. In a movie fragment, the durations by which each track extends should be as close to equal as practical. In particular, as movie fragments are accumulated, the track durations should remain close to each other and there should be no ‘drift’.
– For any track, any ‘tfad’ or any ‘tfdt’ box, if present, shall duplicate the operations of a possibly present ‘elst’ box; when any ‘tfad’ or any ‘tfdt’ is used, the ‘elst’ box, if present, shall be ignored.
3GP files conforming to this profile may contain:
– segment (‘styp’) type boxes as specified in clause 13.2,
– track fragment adjustment (‘tfad’) boxes as specified in clause 13.3, and
– segment index (‘sidx’) boxes as specified in clause 13.4,
– track fragment decode time (‘tfdt’) as specified in clause 13.5.
If the ‘meta’ box is present and contains the Media Presentation Description (MPD as defined in TS 26.234 [3]) then the ‘meta’ box shall be contained within the ‘moov’ box. In this case the ‘meta’ box shall contain a ‘hdlr’ box with handler_type ‘mpd ‘ followed by an ‘xml ‘ box containing the MPD.
If the ‘meta’ box is present and contains a link to the MPD, then the ‘meta’ box shall be contained within the ‘moov’ box. In this case the ‘meta’ box shall contain a ‘hdlr’ box with handler_type ‘mpdl’ followed by a ‘dinf’ box. The ‘dinf’ box shall contain a ‘dref’ box with exactly one entry, which is a ‘url ‘ box containing the URL of the MPD.
5.4.10 Media Segment Profile
The 3GP Media Segment profile is branded ‘3gm9’. It is used to label segments conforming to this release. Media Segments are defined in 3GPP TS 26.247 [49].
5.5 File-branding guidelines
The file-type brands defined in this specification are used to label 3GP files belonging to this release and conforming to one or more profiles. 3GP files may also conform to earlier Releases or even to other file formats, such as MP4, which is also derived from the ISO base media file format [7].
Table 5.1 contains a non-exhaustive list of examples with 3GP files for various purposes. Note, however, that it only gives typical or suggested uses. Both writers and readers of files should exercise care when using brand identifiers. It is worth repeating the general guidelines here, remembering that a brand identifies a specification or a conformance point in a specification; its presence in a file indicates both:
– that the file conforms to the specification; it includes everything required by, and nothing contrary to the specification (though there may be other material);
– that a reader implementing that specification (possibly only that specification) is given permission to read and interpret the file.
All 3GP files of Release 5 or later shall contain the compatible brand ‘isom’ indicating that they conform to the ISO base media file format, unless the reader is required to interpret extensions specific to the AVC file format as specified in clause 5 of [20], for which case the compatible brand ‘avc1’ shall be used instead (see note 2), or extensions specific to extended presentations (see clause 11), for which case the compatible brand ‘iso2’ shall be used (see note 3). The major brand shall be included in the compatible brands list as well. If a file contains more than one (3GPP) brand in the compatible brands list, the major brand indicates the "best use" of the file. For example, a Release-5 file with audio combined with Timed text is best played by a Release-5 player, but may also be played by a Release-4 player that does not support timed text.
NOTE 1: Since movie fragments are not allowed in Release 4 and Release 5, a fragmented 3GP file should not contain ‘3gp4’ or ‘3gp5’ as brand or compatible brand. A player that does not support movie fragments will only be able to play the first fragment of a fragmented file.
NOTE 2: Consider the brands ‘isom’ and ‘avc1’. The first indicates conformance to the base structure of the ISO base media file format [7]. The second indicates conformance to the structures such as sample groups [7]. A file labelled as ‘isom’ and ‘avc1’ conformant is indicating that either these extensions are not present, or if present, they can be ignored (as an ‘isom’ reader will not understand them). If the writer desires that only readers supporting the extensions read a file, then the ‘isom’ brand would be omitted. These extensions are all optional (i.e. none are required to be in a file, though if they are, an ‘avc1’-conformant reader must interpret them), and therefore a file not using them is still ‘avc1’ conformant.
NOTE 3: The second version of the ISO base media file format defines the brand ‘iso2’ that in addition to ‘isom’ indicates conformance to extensions to the first version.
Table 5.1: Examples of brand usage in 3GP files
|
Conformance |
Suffix |
Brand |
Compatible brands |
Example content |
|
MMS and download: Files shall contain one or more of the brands 3gp4, 3gp5, 3gp6, 3gp7 and 3gp8. It is good practice to include compatible brands of earlier releases to enable legacy players to play the files. |
||||
|
Release 4 |
.3gp |
3gp4 |
3gp4 |
H.263 and AMR |
|
Release 5, 4 |
.3gp |
3gp5 |
3gp5, 3gp4, isom |
H.263 and AMR |
|
Release 6, 5, 4 |
.3gp |
3gp6 |
3gp6, 3gp5, 3gp4, isom |
H.263 and AMR |
|
Release 7, 6, 5, 4 |
.3gp |
3gp7 |
3gp7, 3gp6, 3gp5, 3gp4, isom |
H.263 and AMR |
|
Release 8, 7, 6, 5, 4 |
.3gp |
3gp8 |
3gp8, 3gp7, 3gp6, 3gp5, 3gp4, isom |
H.263 and AMR |
|
Release 6, 5, 4 |
.3gp |
3gp6 |
3gp6, 3gp5, 3gp4, isom |
H.263, AMR and Timed text |
|
Release 6, 5 |
.3gp |
3gp6 |
3gp6, 3gp5, isom |
Timed text |
|
Release 6 |
.3gp |
3gp6 |
3gp6, isom |
H.264 (AVC) Baseline profile and AMR |
|
Release 6 |
.3gp |
3gp6 |
3gp6, isom |
fragmented H.263 and AMR |
|
Release 7 |
.3gp |
3gp7 |
3gp7, isom |
DIMS and AMR |
|
Progressive download and MMS |
||||
|
Release 6, 5, 4 |
.3gp |
3gr6 |
3gr6, 3gp6, 3gp5, 3gp4, isom |
H.263 |
|
Release 6, 5, 4 |
.3gp |
3gr6 |
3gr6, 3gp6, 3gp5, 3gp4, isom |
interleaved H.263 and AMR |
|
Release 6 |
.3gp |
3gr6 |
3gr6, 3gp6, isom |
fragmented and interleaved H.263 and AMR |
|
Release 6 |
.3gp |
3gr6 |
3gr6, 3gp6, avc1 |
interleaved H.264 (AVC) Baseline profile and AMR |
|
Streaming servers: Some files may in principle also be used for MMS or download. |
||||
|
Release 6 |
.3gp |
3gs6 |
3gs6, isom |
AMR and hint track |
|
Release 6 |
.3gp |
3gs6 |
3gs6, isom |
2 tracks H.263 and 2 hint tracks |
|
Release 6, 5, 4 |
.3gp |
3gs6 |
3gs6, 3gp6, 3gp5, 3gp4, isom |
H.263, AMR and hint tracks |
|
Extended presentations: |
||||
|
Release 7, 6 |
.3gp |
3ge7 |
3ge7, 3ge6, iso2 |
SMIL, AMR and JPEG images |
|
Release 7 |
.3gp |
3ge7 |
3ge7, iso2 |
DIMS, AMR, H.264 (AVC) Baseline profile and JPEG images |
|
General purpose: Files that are not yet suitable for MMS, download or PSS streaming servers. |
||||
|
Release 6 |
.3gp |
3gg6 |
3gg6, isom |
4 tracks H.263 (and no hint tracks) |
|
Release 6 |
.3gp |
3gg6 |
3gg6, isom |
2 tracks H.263, 3 tracks AMR |
|
3GP file, also conforming to MP4 |
||||
|
Release 4, 5 and MP4 |
.3gp |
3gp5 |
3gp5, 3gp4, mp42, isom |
MPEG-4 video |
|
MP4 file, also conforming to 3GP |
||||
|
Release 5 and MP4 |
.mp4 |
mp42 |
mp42, 3gp5, isom |
MPEG-4 video and AAC |
|
Media Stream Recording file |
||||
|
Release 8 |
.3gp |
3gt8 |
3gt8, isom |
SRTP reception hint and key message tracks |
|
Release 8 |
.3gp |
3gt8 |
3gt8, isom |
H.264 (AVC) Baseline profile and corresponding RTP reception hint track, reception hint track for AAC |
|
Release 9 |
.3gp |
3gt9 |
3gt9, isom |
H.264 (AVC) High Profile and corresponding RTP reception hint track, reception hint track for AAC |
|
Adaptive HTTP Streaming: |
||||
|
Release 9 |
.3gp |
3gh9 |
3gp6, 3gp7, 3gp8, 3ge7, isom |
7 H.264 (AVC) tracks at different bitrates in one alternate track group, 3 AAC tracks with different languages in one alternate group, no hint tracks, movie fragments |