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 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 happening. The mediastreamsegmenter can encrypt the segments using AES-128 encryp- tion. 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 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
Mac OS X 10.6 - Generated Thu Sep 17 20:08:07 CDT 2009