manpagez: man pages & more
man mediastreamsegmenter(1)
Home | html | info | man
mediastreamsegmenter(1)   BSD General Commands Manual  mediastreamsegmenter(1)


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


     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]


     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 periodi-
     cally 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

     The mediastreamsegmenter can encrypt the segments using AES-128 encryp-

     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 dura-
           tion is 10 seconds. The duration 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 cap-
           tured. 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 ses-
           sion).  Specifies the directory to store the rotating encryption
           key if the -g period parameter is specified.

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

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


     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.


     mediastreamsegmenter -b -s 3 -D -f

     Captures and creates unencrypted Live stream.  The index file can be
     downloaded at  In steady-state,
     the index file will contain 3 items.  mediastreamsegmenter -b -p 120 -f /Library/WebServer/Documents/hiRes -g 15
     -k /Volumes/SecureServer/Protected -K

     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

Mac OS X 10.6 - Generated Thu Sep 17 20:08:07 CDT 2009
© 2000-2021
Individual documents may contain additional copyright information.