3GP file compatibility

With the Multimedia File Interface library, video messaging applications can record audio/video messages into 3GP files. Very often, those messaging applications need to play back several 3GP files in sequence, including pre-recorded prompts, service information, announcements, and so on.

Creating these 3GP files requires specific offline recording and editing tools. In addition, these files must satisfy certain rules to ensure they can be played in sequence with files recorded with the 3GP library.

Creating and editing 3GP files

There are multiple tools available that can play, record, edit, import, and export audio/video files in 3GP format. It is beyond the scope of Video Access for NMS to compare them or recommend a particular tool. NMS has validated that 3GP files generated with the Video Access 3GP library are compatible with several tools available on the market. Using audio and video, messages can be prepared offline, stored into 3GP format files, and then played with Video Access. 3GP files can be created with AMR NB audio encoding, or MPEG-4, H.263, or H.264 video encoding.

For compatibility with NMS Video Access, audio encoding must be AMR NB. NMS recommends a default rate of 12.2 Kbit/s.

When the target terminal is a 3G-324M device, video encoding can be H.263, H.264, or MPEG-4. In all cases, the data rate must be capped at 43 Kbit/s maximum to guarantee that a 64 Kbit/s 3G-324M channel can accommodate both media streams. QCIF resolution should be used, and frame rate should not exceed 15 fps.

Playing a sequence of 3GP files

When playing a sequence of 3GP files towards a 3G-324M terminal, it is possible that those files do not have the same video encoding. For example, some may be H.263, some H.264, and others MPEG-4.

As most terminals can support a single video encoding during a call, messaging systems must either prepare the sequence of files offline in all formats before the call, or insert online an NMS video transcoder channel when needed. The video transcoder channel presently supports transcoding between H.263 and MPEG-4 only.

The first method adapts well to generic messages such as prompts or service information, which are typically created with an editing tool. The second method adapts to recorded messages, for example, messages left in a video mailbox.

Therefore, when several 3GP files are played in sequence, the following types of files can be encountered:

MPEG-4 VO/VOL

MPEG-4 video encoding requires special attention. By definition, the decoder configuration information (DCI) used by the receiver to decode the video stream is carried in the video bit stream itself. Consequently, when playing a sequence of files, several VO/VOL (Video Object/Video Object Layer) information blocks are transmitted to the terminal.

Terminals may not support dynamic reconfiguration of their video decoder based on in-band DCI change. They consider the first DCI received (typically duplicated with out-of-band H.245 signaling) and ignore all subsequent DCI blocks. It is critical to ensure that all files in a sequence have the same DCI, so that the first DCI received is valid for all messages. The following illustration shows an example of this.

3gp_files.gif

When the target terminal is a 3G-324M device, another option to play in sequence 3GP MPEG4 clips encoded with different DCI is to close the video logical channel and then re-open the channel using the matching DCI. You must ensure that the 3G-324M terminal supports this capability. Refer to the 3G-324M Interface Developer's Reference Manual for information.

H.264 DCI

Similarly to MPEG-4, an H.264 decoder must be configured with decoder configuration information, which concatenates H.264 sequence parameter sets (SPS) and picture parameter sets (PPS).

Because 3G-324M terminals may not support dynamic reconfiguration of their H.264 video decoder based on in-band DCI change, Video Access provides the capability to signal out-of-band (using H.245 signaling) H.264 DCI changes. This way, the application can play in sequence 3GP H.264 clips encoded with different DCI. Refer to the 3G-324M Interface Developer’s Reference Manual for more information.