man page for mediastreamsegmenter (all section 1)
|Linux & Unix Commands - Search Man Pages
mediastreamsegmenter(1) BSD General Commands Manual mediastreamsegmenter(1)
mediastreamsegmenter -- Create segments from MPEG-2 Transport streams for HTTP Live Stream-
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]
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 approx-
imately equal durations. The mediastreamsegmenter also creates an index file containing ref-
erences 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 cre-
ated 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 hap-
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 duration is calculated by looking at the PTS/DTS in the Video transport stream
-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 rec-
ommended 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 speci-
fied, 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 encryp-
tion 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.
Strips the audio elementary stream (AAC/ADTS or MP3) and writes it into the media
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 http://foo.com/stream -s 3 -D -f /Library/WebServer/Documents/stream
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
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
All times are GMT -4. The time now is 11:00 PM.