This manual page is for Mac OS X version 10.6

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



mediastreamsegmenter(1)                  BSD General Commands Manual                 mediastreamsegmenter(1)

NAME
     mediastreamsegmenter -- Create segments from MPEG-2 Transport streams for HTTP Live Streaming.

SYNOPSIS
     mediastreamsegmenter [-b | -base-url <url>] [-t | -target-duration duration] [-f | -file-base path]
                          [-p | -program [duration]] [-i | -index-file fileName]
                          [-s | -sliding-window-entries entries] [-S | -start-index-file-count entries]
                          [-D | -delete-files] [-v] [-g | -generate-key [period]] [-k | -encrypt-key file]
                          [-K | -encrypt-key-url <url>] [-audio-only] [address:port]

DESCRIPTION
     The mediastreamsegmenter is a command-line tool that segments media for deployment using HTTP Live
     Streaming.  The mediastreamsegmenter receives an MPEG-2 transport stream over UDP at [address:port] or
     over stdin and divides it into a series of small media files of approximately equal durations. The
     mediastreamsegmenter also creates an index file containing references to the individual media files.
     The index file and media files can then be deployed using common web server infrastructure.

     The mediastreamsegmenter can produce either live or video-on-demand (VOD) streams.  For live streams,
     the transport stream from the media encoder is ingested, new media files are created and the index file
     is periodically updated (and older media files expired and deleted).  This type of stream is suitable
     for continuous broadcasts.

     With VOD streams, small media files representing the entire duration of the presentation are created by
     the mediastreamsegmenter and an index list containing all segments is generated. This kind of stream
     allows the client access to the entire program at once.  A VOD stream can also be viewed in-progress,
     giving the user access to an entire event while it is happening.

     The mediastreamsegmenter can encrypt the segments using AES-128 encryption.

     To end a session, use the control-C.  An end of file tag will be added to the index file.

     The mediastreamsegmenter command accepts the following arguments:

     -b | -base-url <url>
           Specifies a base url to add to the media file name when written into the index file.

     -t | -target-duration duration
           Specifies a target duration for the media files.  The default duration is 10 seconds. The dura-tion duration
           tion is calculated by looking at the PTS/DTS in the Video transport stream PES.

     -f | -file-base path
           Directory to store the media and index files.

     -p | -program [duration]
           The program option specifies that a VOD style program is being captured. The [duration] parameter
           is specified in minutes. To capture an open-ended performance, leave off the [duration] parameter
           and stop the session by hitting control-C.

     -i | -index-file fileName
           This option defines the index file name.  The default is prog_index.m3u8.  It is recommended that
           the index file have an extension of .m3u8 or .m3u.

     -s | -sliding-window-entries entries
           This option defines the number of media file entries that should be kept in the index file.  The
           default is 5.

     -S | -start-index-file-count entries
           This option defines the number of media file entries that must be present before the first index
           file is written.  The default is 3.

     -D | -delete-files
           In a live stream, this option will specify that the media files that are no longer in the index
           file will be removed after an expiry period.

     -g | -generate-key [period]
           The -generate-key option will generate an encryption key.  If [period] is not specified, it will
           generate the key 1 time.  If [period] is specified, the key will rotate every [period] media
           files.  The -generate-key option requires a -encrypt-key option.

     -k | -encrypt-key file
           Specifies an encrypt key file if the -g command is not present.  Specifies an encrypt key file if
           the -g command is present without the period parameter (single encryption file for the entire
           session).  Specifies the directory to store the rotating encryption key if the -g period parame-ter parameter
           ter is specified.

     -K | -encrypt-key-url <url>
           HTTP base URL for the encrypt key file to write into the index file.

     -audio-only
           Strips the audio elementary stream (AAC/ADTS or MP3) and writes it into the media file.

COMPATIBILITY
     The mediastreamsegmenter will only work with MPEG-2 Transport Streams as defined in ISO/IEC 14496-1.
     The transport stream must contain H.264 (MPEG-4, part 10) video and AAC or MPEG audio.  If AAC audio is
     used, it must have ADTS headers.  H.264 video access units must use Access Unit Delimiter NALs, and
     must be in unique PES packets.

EXAMPLES
     mediastreamsegmenter -b http://foo.com/stream -s 3 -D -f /Library/WebServer/Documents/stream
     239.4.1.5:20103

     Captures and creates unencrypted Live stream.  The index file can be downloaded at
     http://foo.com/stream/prog_index.m3u8.  In steady-state, the index file will contain 3 items.
     mediastreamsegmenter -b http://bar.com/hiRes -p 120 -f /Library/WebServer/Documents/hiRes -g 15 -k
     /Volumes/SecureServer/Protected -K https://foo.bar.com/login/key.php?streamname=hiRes 223.1.2.4:12313

     Captures and creates an encrypted VOD stream.  The encryption key is on a different server, and is
     accessible via https.

Mac OS X                                       April 28, 2009                                       Mac OS X

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.