RFC 2424 PROPOSED STANDARD EMAIL · MEDIA

Content Duration MIME Header Definition

A MIME header that tells you how long audio or video plays.

On rfc-editor.org ↗
PUBLISHED
September 1998
AUTHORS
G. Vaudreuil, G. Parsons
STREAM
Legacy
OBSOLETED BY
RFC 3803 — Content Duration MIME Header Definition
HEADER NAME
Content-Duration
VALUE FORMAT
Decimal digits (seconds)
MAXIMUM VALUE
2147483647 seconds
DOI
10.17487/RFC2424

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                         G. Vaudreuil
Request for Comments: 2424                             Lucent Technologies
Category: Standards Track                                       G. Parsons
                                                          Northern Telecom
                                                            September 1998


                            Content Duration
                         MIME Header Definition

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (1998).  All Rights Reserved.

Overview

   This document describes the MIME header Content-Duration that is
   intended for use with any timed media content (typically audio/* or
   video/*).

1.  Abstract

   This document describes the MIME header Content-Duration that is
   intended for use with any time varying media content (typically
   audio/* or video/*).  The length of time is represented in seconds
   without any units indication.

2. Content-Duration Header Field

   Time varying media contents, for example, a spoken voice message or a
   video clip, have an inherent time duration.  Many audio and video
   encodings may include their duration as header information or may
   allow accurate calculation based on the byte length of the data.
   However, it may be useful to present the time duration of the content
   in a MIME header to allow its simple determination without dealing
   with the actual content.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [REQ].

2.1 Syntax

   The Content-Duration field's value is a single number specifying the
   time duration in seconds of the content.  Formally:

   duration := "Content-Duration" ":" 1*10DIGIT

   Note that practically (though highly unlikely in MIME media), the
   upper bound on the numerical value of the time duration is (2^^31 -
   1) or 2147483647.

2.2 Semantics

   This field represents the time duration of the associated time
   varying media content.  The time duration is noted in seconds with no
   units tag.  The time value should be exact, however the exact value
   of the time duration cannot be known without opening the content and
   playing it.  If an exact value must be known, then the latter method
   should be used.  This mechanism simply allows placing a sender
   determined time duration value in the header for easy access.

   Though there are several ways to present this duration to the
   recipient (e.g. with the inbox headers, when audio attachment
   opened), the actual use of this field on reception is a local
   implementation issue.

2.3 Example

   In this example the content duration represents 33 seconds:

       Content-Duration: 33

3. VPIM Usage

   The Content-Duration header field for the audio/32KADPCM sub-type is
   a useful component of the VPIM specification [VPIM2].  All VPIM
   Messages MUST contain this sub-type to carry the audio of a voice
   message.  It may be useful in some instances (e.g. viewing on a
   simple MIME or non-MIME desktop) to have the time duration of the
   voice message available without having to open the audio content.

4. Security Considerations

   This definition introduces the option of explicitly identifying the
   time duration of an audio/* or video/* content outside of the binary
   data that forms the content.  In some environments (though likely not
   the majority), the identification of the actual time duration in a
   header field may be a security issue and as a result should not be
   noted.  Reliance on the time indicated in this header field cannot be
   trusted for the purposes of determining the exact size of the data.
   The exact length of the data must be determined by examining the data
   itself.

5. Authors' Addresses

   Glenn W. Parsons
   Northern Telecom
   P.O. Box 3511, Station C
   Ottawa, ON  K1Y 4H7
   Canada

   Phone: +1-613-763-7582
   Fax: +1-613-763-4461
   EMail: Glenn.Parsons@Nortel.ca


   Gregory M. Vaudreuil
   Lucent Technologies
   17080 Dallas Parkway
   Dallas, TX  75248-1905
   United States

   Phone/Fax: +1-972-733-2722
   EMail: GregV@Lucent.Com

6. References

   [MIME2] Freed, N., and N. Borenstein, "Multipurpose Internet Mail
           Extensions (MIME) Part Two: Media Types", RFC 2046, November
           1996.

   [VPIM2] Vaudreuil, G., and G. Parsons, "Voice Profile for Internet
           Mail - version 2", RFC 2421, September 1998.

   [REQ] Bradner, S., "Key words for use in RFCs to Indicate Requirement
         Levels", BCP 14, RFC 2119, March 1997.

7.  Full Copyright Statement

   Copyright (C) The Internet Society (1998).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

AI ELI5

On this page
PROBLEMReceiving a voice message or video clip requires opening and scanning the content to learn how long it is. Applications need a quick way to show the duration upfront.
MECHANISMThe Content-Duration MIME header carries the playback length in seconds, placed directly in the message header so the duration is available without decoding the media.
REPLACED BY RFC 3803Receivers can display playing time in inbox previews and on message summaries. RFC 3803 replaced it with a broader specification.

§1What Content-Duration Is

RFC 2424 defines a simple MIME header field called Content-Duration intended for audio and video content. The header carries a single number: the length of the content in seconds.

Many audio and video formats store their own duration internally, but a sender may need to expose that duration in the email header itself. The header lets a mail client show the playing time before the user opens the attachment, useful when previewing voice messages or video clips inline.

It is a number in the message header that says how many seconds the audio or video will play.

§2The Header Field

The Content-Duration header is formatted as the keyword, followed by a colon and a number. That number is the duration in seconds with no units tag (just the digit).

The value is a string of up to 10 digits. The theoretical upper bound is 2 to the 31st power minus 1 (about 68 years). The RFC notes that an exact value can only be known by playing the content, so the header carries whatever the sender determines, but clients should not rely on it for calculations requiring precision.

It looks like Content-Duration: 45. That means 45 seconds. That is all.

§3Voicemail and VPIM

The RFC singles out VPIM (Voice Profile for Internet Mail) as a key use case. VPIM messages carry voice recordings and specify an audio subtype. Including Content-Duration lets a VPIM client display the length of a voice message when listing the inbox, or when viewing on a simple MIME reader that cannot decode audio.

Placing the duration in a header makes it accessible to mail systems that do not understand the audio format inside.

When you get a voice mail, the mail program can show you the length before you have to listen to it.

§4Trust and Limits

The header value is supplied by the sender and is not cryptographically verified. Clients must not use it to determine the actual size of the data; the real length must be discovered by reading the content itself.

In rare cases, exposing the duration in a header may pose a privacy or security concern (for example, a recording of a fixed length might leak information). Implementers should consider whether the header is appropriate for their use.

The number might not be exact, so do not trust it for anything important.

§5References