Mediacast Producer
Version 0.1 Copyright 2011-2017 Stephan Jorek
complements: Podcast Producer action task, version 2.0 Copyright 2006-2011 Apple, Inc.
The Mediacast Producer action tasks integrate several popular tools as “ffmpeg” or ”VLC” in Apple’s Podcast Producer. This allows the automatic production of media-file formats that go far beyond MP4.
IMPORTANT NOTE: This file is licensed only for use on Apple-branded computers and is subject to the terms and conditions of the Software License Agreement accompanying the package this file is a part of. You may not port this file to another platform without Apple’s written consent.
Installing
Instructions for installing this software are in INSTALL.
Usage
Execute bin/mediacastproducer help
or bin/mediacastencoder help
to get an up-to-date command usage reference.
Producer tasks
ffmpeg
execute ffmpeg with passed arguments
usage: ffmpeg --prb=PRB -- [--arguments passed to ffmpeg]
[--path] print ffmpeg executable path and exit
[--version] print ffmpeg executable version and exit
ffmpeg2theora
execute ffmpeg2theora with passed arguments
usage: ffmpeg2theora --prb=PRB -- [--arguments passed to ffmpeg2theora]
[--path] print ffmpeg2theora executable path and exit
[--version] print ffmpeg2theora executable version and exit
id3taggenerator
execute id3taggenerator with passed arguments
usage: id3taggenerator --prb=PRB -- [--arguments passed to id3taggenerator]
[--path] print id3taggenerator executable path and exit
[--version] print id3taggenerator executable version and exit
mediacastsegmenter
execute mediacastsegmenter with passed arguments
usage: mediacastsegmenter --prb=PRB -- [--arguments passed to mediacastsegmenter]
[--path] print mediacastsegmenter executable path and exit
[--version] print mediacastsegmenter executable version and exit
mediafilesegmenter
execute mediafilesegmenter with passed arguments
usage: mediafilesegmenter --prb=PRB -- [--arguments passed to mediafilesegmenter]
[--path] print mediafilesegmenter executable path and exit
[--version] print mediafilesegmenter executable version and exit
mediastreamsegmenter
execute mediastreamsegmenter with passed arguments
usage: mediastreamsegmenter --prb=PRB -- [--arguments passed to mediastreamsegmenter]
[--path] print mediastreamsegmenter executable path and exit
[--version] print mediastreamsegmenter executable version and exit
mediastreamvalidator
execute mediastreamvalidator with passed arguments
usage: mediastreamvalidator --prb=PRB -- [--arguments passed to mediastreamvalidator]
[--path] print mediastreamvalidator executable path and exit
[--version] print mediastreamvalidator executable version and exit
mp4faststart
optimize MP4-alike (incl. Quicktime) for streaming
usage: mp4faststart --prb=PRB --input=INPUT
[--output=OUTPUT] write to OUTPUT, otherwise work in place on INPUT
[--streamable] test and exits accordingly with 0 or 1; e.g.:
... && echo true || echo false
quicktime
transcodes the input file to the output file with the specified preset
usage: quicktime --prb=PRB --input=INPUT --output=OUTPUT --preset=PRESET
the available presets are:
…
reference
copies a reference movie linking the input movies to the document root of a web server.
usage: reference --basedir=BASEDIR --web_root=WEB_ROOT --web_url=WEB_URL
--title=TITLE
--edge_movie=EDGE --wifi_movie=WIFI --desktop_movie=DESKTOP
[--iphone_edge_movie=EDGE] [--iphone_wifi_movie=WIFI]
[--ipad_edge_movie=EDGE] [--ipad_wifi_movie=WIFI]
[--type=MIME_TYPE] [--outfile[=OUTFILE]] [--create_poster_image]
toolscript
transcodes the INPUT file to the OUTPUT file with the specified tool SCRIPT
usage: toolscript --prb=PRB --input=INPUT --output=OUTPUT --script=SCRIPT
[--verbose] run with verbose output
[-- [...]] additional options depending on the script choosen,
leave empty to get help
the available scripts are:
…
variantplaylistcreator
execute variantplaylistcreator with passed arguments
usage: variantplaylistcreator --prb=PRB -- [--arguments passed to variantplaylistcreator]
[--path] print variantplaylistcreator executable path and exit
[--version] print variantplaylistcreator executable version and exit
videosize
get Quicktime or Mp4-alike movie- and render-dimensions
usage: videosize --prb=PRB --input=INPUT
[--output=OUTPUT] re-encode INPUT to OUTPUT if dimensions differ
[--key=KEY] KEY to lookup, forces the dimension if OUTPUT is given
[--human] display human readable values
vlc
execute vlc with passed arguments
usage: vlc --prb=PRB -- [--arguments passed to vlc]
[--path] print vlc executable path and exit
[--version] print vlc executable version and exit
webpreview
starts a web- and optionally a proxy-server for preview purposes.
usage: webpreview --basedir=BASEDIR
[--verbose] run with verbose output
web-server configuration:
[--web_vhost] virtual hostname (FQDN) to serve
[--web_alias] path alias rule(s)
web-proxy configuration:
[--proxy_rw] hostname rewrite rule(s)
[--proxy_dl] download bandwidth limit
[--proxy_ul] upload bandwidth limit
[--proxy_ip] IP adress to serve, default:
all (locally) available IPs
[--proxy_if] Network interface to serve, default:
all (locally) available interfaces
IP adress and network interface
are mutually exclusive.
Encoder scripts
ffmpeg2theora_cbr
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a constant bitrate for both tracks
usage: ffmpeg2theora_cbr --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
ffmpeg2theora_cbr_4:3_320x240_576kbit_44,1khz_stereo_192kbit
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a constant bitrate for both tracks
usage: ffmpeg2theora_cbr_4:3_320x240_576kbit_44,1khz_stereo_192kbit --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
ffmpeg2theora_qbr
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a quality based variable bitrate for both tracks
usage: ffmpeg2theora_qbr --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_quality video-quality, value range from 0 to 10
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_quality audio-quality, value range from -2 to 10
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
ffmpeg2theora_qbr_4:3_320x240_q6_44,1khz_stereo_q6
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a quality based variable bitrate for both tracks
usage: ffmpeg2theora_qbr_4:3_320x240_q6_44,1khz_stereo_q6 --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_quality video-quality, value range from 0 to 10
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_quality audio-quality, value range from -2 to 10
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
ffmpeg2theora_vbr
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a variable bitrate for both tracks
usage: ffmpeg2theora_vbr --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate average video bitrate in kBit per second
[--video_quality] optional: minimum allowed video quality,
value-range from 0 to 10
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
ffmpeg2theora_vbr_4:3_320x240_576kbit_44,1khz_stereo_128-192-256kbit
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a variable bitrate for both tracks
usage: ffmpeg2theora_vbr_4:3_320x240_576kbit_44,1khz_stereo_128-192-256kbit --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate average video bitrate in kBit per second
[--video_quality] optional: minimum allowed video quality,
value-range from 0 to 10
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_mp4_cbr
transcode INPUT to an MP4 container with H264 encoded video-track and AAC encoded audio-track, using a constant bitrate for both tracks
ATTENTION: broken (very poor quality) due to missing vlc capabilities
usage: vlc_mp4_cbr --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_mp4_cbr_3:2_480x320_576kbit_44,1khz_stereo_192kbit
transcode INPUT to an MP4 container with H264 encoded video-track and AAC encoded audio-track, using a constant bitrate for both tracks
ATTENTION: broken (very poor quality) due to missing vlc capabilities
usage: vlc_mp4_cbr_3:2_480x320_576kbit_44,1khz_stereo_192kbit --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_mpeg2_ts_mediastreamsegmenter
mux INPUT into MPEG2 transport stream segments consisting of H264 video-track and AAC audio-track, using a constant bitrate for both tracks
ATTENTION: broken (very poor quality) due to missing vlc capabilities
usage: vlc_mpeg2_ts_mediastreamsegmenter --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
--base_url a base url the stream will be published to
--segment_duration duration of the generated segments in seconds,
value-range from 7 seconds to 30 seconds
vlc_ogv_cbr
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a constant bitrate for both tracks
usage: vlc_ogv_cbr --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_ogv_cbr_4:3_320x240_576kbit_44,1khz_stereo_192kbit
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a constant bitrate for both tracks
usage: vlc_ogv_cbr_4:3_320x240_576kbit_44,1khz_stereo_192kbit --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_ogv_qbr
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a quality based variable bitrate for both tracks
usage: vlc_ogv_qbr --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_quality video-quality, value-range from 0 to 10
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_quality audio-quality, value-range from -2 to 10
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_ogv_qbr_4:3_320x240_q6_44,1khz_stereo_q6
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a quality based variable bitrate for both tracks
usage: vlc_ogv_qbr_4:3_320x240_q6_44,1khz_stereo_q6 --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_quality video-quality, value-range from 0 to 10
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_quality audio-quality, value-range from -2 to 10
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_ogv_vbr
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a variable bitrate for both tracks
usage: vlc_ogv_vbr --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate average audio bitrate in kBit per second
--audio_bitrate_min minimum audio bitrate in kBit per second
--audio_bitrate_max maximum audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_ogv_vbr_4:3_320x240_576kbit_44,1khz_stereo_128-192-256kbit:
transcode INPUT to an OGG container with Theora encoded video-track and Vorbis encoded audio-track, using a variable bitrate for both tracks
usage: vlc_ogv_vbr_4:3_320x240_576kbit_44,1khz_stereo_128-192-256kbit --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate average audio bitrate in kBit per second
--audio_bitrate_min minimum audio bitrate in kBit per second
--audio_bitrate_max maximum audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_webm_cbr
transcode INPUT to an WebM container with VP80 encoded video-track and Vorbis encoded audio-track, using a constant bitrate for both tracks
usage: vlc_webm_cbr --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_webm_cbr_4:3_320x240_576kbit_44,1khz_stereo_192kbit
transcode INPUT to an WebM container with VP80 encoded video-track and Vorbis encoded audio-track, using a constant bitrate for both tracks
usage: vlc_webm_cbr_4:3_320x240_576kbit_44,1khz_stereo_192kbit --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_webm_vbr
transcode INPUT to an WebM container with VP80 encoded video-track and Vorbis encoded audio-track, using a variable bitrate for both tracks
usage: vlc_webm_vbr --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate average audio bitrate in kBit per second
--audio_bitrate_min minimum audio bitrate in kBit per second
--audio_bitrate_max maximum audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000
vlc_webm_vbr_4:3_320x240_576kbit_44,1khz_stereo_128-192-256kbit:
transcode INPUT to an WebM container with VP80 encoded video-track and Vorbis encoded audio-track, using a variable bitrate for both tracks
usage: vlc_webm_vbr_4:3_320x240_576kbit_44,1khz_stereo_128-192-256kbit --prb=PRB --input=INPUT --output=OUTPUT
[--verbose] run with verbose output
--video_bitrate video bitrate in kBit per second
--video_width video width in pixel
--video_height video height in pixel
[--video_fps] optional: video frames per second
--audio_bitrate average audio bitrate in kBit per second
--audio_bitrate_min minimum audio bitrate in kBit per second
--audio_bitrate_max maximum audio bitrate in kBit per second
[--audio_channels] optional: number of audio channels,
possible values: 1 (mono) or 2 (stereo)
[--audio_samplerate] optional: audio samplerate in hz, possible values:
8000, 11025, 12000, 16000, 22500, 24000, 32000,
44100 or 48000