Recent API Changes See what has recently been added
Dec 09 2011
Lossless rotation (MOV format)
| Option | Allowed Values | Default Values |
|
set_rotate Set rotation meta-data (MOV only). |
0 - don't set anything |
0 |
Copy Display Aspect Ratio from Source file
| Option | Allowed Values | Default Values |
|
set_aspect_ratio Display aspect ratio (DAR). When set, the option keep_aspect_ratio will be ignored. The option only works with the following formats: fl9, 3gp, mp4, m4v, ipod, iphone, ipad, android, ogg, webm, appletv, psp, iphone_stream, ipad_stream. |
Positive float value or N:M: where N and M are any positive integers. source: display aspect ratio will be copied from source file |
None |
GoToMeeting input format added
Metadata 'copy' tag added
| Format Name | Description |
| copy | — copy metatags from the source media |
Auto de-interlacing added
| Format Name | Allowed Values | Default Values |
| deinterlacing - Whether to use de-interlacing |
yes, no, auto auto - use de-interlacing if source's scan type is interlaced |
auto |
Dec 09 2011
MPEG-TS format added
|
(required) output Format type |
flv, fl9, wmv, 3gp, mp4, m4v, ipod, iphone, ipad, android, ogg, webm, appletv, psp, zune, mp3, wma, m4a, thumbnail, image, mpeg2 (just experimental feature, please use with care, feedback is welcome), iphone_stream, ipad_stream, muxer, wowza, wowza_multibitrate, roku_800, roku_1200, roku_1800, roku_2700, roku_hls, mpegts | None. |
|
force_interlaced Interlaced encoding type |
mpegts: tff,bff,no | mpegts: tff |
Sep 28 2011.
Fade In / Fade Out effects
<!-- Format fields -->
...
<fade_in>[FadeInStart:FadeInDuration]</fade_in>
<fade_out>[FadeOutStart:FadeOutDuration]</fade_out>
...
| Option | Allowed Values | Default Values |
|
fade_in Add fade in effect to audio and video streams. |
FadeInStart:FadeInDuration - where both parameters are positive float values FadeInStart - start of fade in effect (in seconds) FadeInDuration - duration of fade in effect (in seconds) |
None |
|
fade_out Add fade out effect to audio and video streams. |
FadeOutStart:FadeOutDuration - where both parameters are positive float values FadeOutStart - start of fade out effect (in seconds). If you will specify this parameter equal to 0, fade out effect will be applied to the end of video/audio FadeOutDuration - duration of fadeOut effect (in seconds) |
None |
Roku presets
| Option | Allowed Values | Default Values |
|
(required) output Format type |
... roku_800, roku_1200, roku_1800, roku_2700, roku_hls |
None. |
Sep 19 2011. Audio sync option
| Option | Allowed Values | Default Values |
|
audio_sync It adjusts the audio stream to match the timestamps, in # of samples per second. 1 is special value that means automatic. |
Positive integer | None |
Aug 12 2011.
S3 source option
| SourceFile |
... http://[AWS_KEY:AWS_SECRET@][bucket].s3.amazonaws.com/[filename]?nocopy - if 'nocopy' is specified, the source file will be downloaded directly from your bucket (for each encoding task), it saves time, please use it if your buckets are located in the US. If not specified, the source will be copied to encoding.com bucket first, it saves your traffic in case of non-US buckets and more than one encoding task per source. ... |
Preset for Wowza Multi-bitrate
<format>
<!-- Format fields -->
<output>wowza_multibitrate</output>
<bitrates>[CommaSeparatedList]</bitrates>
<sizes>[CommaSeparatedList]</sizes>
<!-- Destination fields -->
<destination>[DestFile]</destination> <!-- REQUIRED -->
</format>
| Format Name | Allowed Values | Default Values |
|
bitrates Comma separated list of video bitrates |
One or more valid bitrate values separated by commas | 270k,570k,1000k,1200k,1400k |
|
sizes Comma separated list of video sizes |
One or more valid size values separated by commas | 320x180,420x270,720x406,1024x576,1080x608 |
New presets
| Option | Allowed Values | Default Values |
|
(required) output Format type |
... wowza, wowza_multibitrate. |
None. |
Keep audio parameters
<!-- Format fields -->
...
<audio_codec>copy</audio_codec>
...
If you specify audio_codec equal to 'copy', the options audio_channels_number, audio_sample_rate, audio_bitrate will be ignored and their values will be copied from your source file.
PNG with alpha-channel as Logo source
If your logo source is PNG with alpha-channel, set logo_mode equal to 1, to keep transparency.
1 July 2011. Ability to specify the region where file should be processed
<!-- Format fields -->
...
<region>[us-east-1|us-west-1]</region>
...
17 June 2011. Restarting jobs and tasks.
| RestartMedia | Complete restart the entire job |
| RestartMediaErrors | Only retry tasks ended with error |
| RestartMediaTask | Only restart the specified task (format). Additional parameter <taskid> must be specified. |
24 May 2011. Twin-turbo encoding speed now available
<!-- Format fields -->
...
<twin_turbo>yes</twin_turbo>
...
5 May 2011
Muxing from different sources
Note: muxing is supported for only two sources now.
Sample XML to mux video from one source and audio from another one:
<?xml version="1.0"?>
<query>
<action>AddMedia</action>
<userid/>
<userkey/>
<source>[Video source]</source>
<source>[Audio source]</source>
<format>
<output>muxer</output>
<target>ntsc-dvd</target>
<maps>0:0,1:0</maps>
</format>
</query>
21 Apr 2011.
Custom presets in API call
<!-- Format fields -->
<output>[PRESET_NAME]</output>
Setting display aspect ratio
<!-- Format fields -->
<set_aspect_ratio>[ASPECT_RATIO]</set_aspect_ratio>
| Format Name | Allowed Values | Default Values |
| set_aspect_ratio — Display aspect ratio (DAR). When set, the option keep_aspect_ratio will be ignored. The option only has effect when used with the following formats: fl9, 3gp, mp4, m4v, ipod, iphone, ipad, android, ogg, webm, appletv, psp, iphone_stream, ipad_stream | Positive float value or N:M - where N and M are any positive integers. | None |
Thumbnail time in intervals
Added a Noise Reduction filter
<format>
<!-- Format fields -->
<noise_reduction>luma_spatial:chroma_spatial:luma_temp</noise_reduction>
</format>
| Format Name | Allowed Values | Default Values |
| luma_spatial — Spatial Luma Strength. | [0,255] | 4:3:6 |
| chroma_spatial — Spatial Chroma Strength | [0,255] | 4:3:6 |
| luma_temp — Temporal Luma Strength. | [0,255] | 4:3:6 |
New MPEG-2 options
Audio codec MP2 added and set as default for MPEG-2.
<format>
<!-- Format fields -->
<output>mpeg2</output>
<keyframe>[12|15|25|30]</keyframe>
<bframes>[2|0]</bframes>
<gop>[cgop|sgop]</gop>
</format>
| Format Name | Allowed Values | Default Values |
| keyframe | 12 [12 PAL DVD] , 15 [15 NTSC DVD], 25 [25 PAL Long GOP], 30 [30 NTSC Long GOP] | 15 |
| bframes | 2 [on = IBBPBBP], 0 [off = IPPPPPP] | 2 |
| gop | sgop [Strict (Locked)], cgop [Closed (Scene Detection)] | cgop |
Audio codec MP2 added and set as default for MPEG-2.
5 Mar 2011. Instant encoding option (experimental)
<?xml version="1.0"?>
<query>
<!-- Main fields -->
<userid>[UserID]</userid>
<userkey>[UserKey]</userkey>
<action>[Action]</action>
<mediaid>[MediaID]</mediaid>
<source>[SourceFile]</source>
<source>[SourceFile1]</source> <!-- if multiple SourceFile added, they will be concatenated -->
...
<source>[SourceFileN]</source>
<notify>[NotifyURL]</notify>
<instant>[yes|no]</instant>
13 Feb 2011. New image format (tiff)
| Format Name | Allowed values: | Default values: |
| image_format [required] — Format of resulting image. | jpg, png, gif, tiff | jpg |
Concatenate Videos
With this feature, you can combine multiple source video files into one file. To use this feature via the User Interface, you can add multiple video sources in the "Add Media" section and they will automatically combine into one file (in sequential order) during the encoding process. To utilize this concatenation feature via the API, you should use several <source> elements in your XML request which will be added sequentially during the encoding process. In addition, you can use different source video URLs / locations (HTTP, FTP, S3, CloudFiles) along with different media properties for each source video (format, frame size, bitrate, codec, etc...). [Read more] For example:
<?xml version="1.0"?>
<query>
<!-- Main fields -->
<userid>[UserID]</userid>
<userkey>[UserKey]</userkey>
<action>[Action]</action>
<mediaid>[MediaID]</mediaid>
<source>[SourceFile]</source>
<source>[SourceFile1]</source> <!-- if multiple SourceFile added, they will be concatenated -->
...
<source>[SourceFileN]</source>
24 Dec 2010
Multiple source (combine several video files to one file)
<?xml version="1.0"?>
<query>
<!-- Main fields -->
<userid>[UserID]</userid>
<userkey>[UserKey]</userkey>
<action>[Action]</action>
<mediaid>[MediaID]</mediaid>
<source>[SourceFile]</source>
<source>[SourceFile1]</source>
<!-- if multiple SourceFile added, they will be concatenated -->
...
<source>[SourceFileN]</source>
Multiple destination for each format (task)
Destination fields
<?xml version="1.0"?>
...
<format>
<id>[ID]</id>
<status>[Status]</status>
...
<destination>[URL]</destination>
<destination_status>[Saved|Error (ErrorDescription)]</destination_status>
<destination>[URL_2]</destination>
<destination_status>[Saved|Error (ErrorDescription)]</destination_status>
...
<destination>[URL_N]</destination>
<destination_status>[Saved|Error (ErrorDescription)]</destination_status>
</format>
Encoding Result XML format
<format>
<output>[OutputFormat]</output>
<destination>[URL]</destination> <!-- Only in case of Status = Finished -->
<destination_status>[Saved|Error (ErrorDescription)]</destination_status>
<destination>[URL_2]</destination>
<destination_status>[Saved|Error (ErrorDescription)]</destination_status>
...
<destination>[URL_N]</destination>
<destination_status>[Saved|Error (ErrorDescription)]</destination_status>
...
</format>
</result>
18 Nov 2010. Specifying AWS user ID and content-type for S3 object
Thumbnail time in percentage rate
| Format Name | Allowed Values |
| time — Timestamp (in seconds or percentage rate) to capture thumbnail. | Non-negative number greater than 0.01 or hh:mm:ss.ms or 1-100% percentage rate. |
Destination fields
| Format Name | Allowed Values |
| destination - The destination URL to put the encoded file. |
ftp://[user[:password]@]hostname[:port]/[path]/[filename][?passive=yes], sftp://[user[:password]@]hostname[:port]/[path]/[filename], http://[bucket].s3.amazonaws.com/[filename][?acl=public-read | authenticated-read]&canonical_id=AWS_CANONICAL_USER_ID - if you specify AWS canonical user ID in the URL, FULL_CONTROL on the object will be granted to the specified user. Also, you can add ?acl=public-read OR ?acl=authenticated-read parameter. This will explicitly set access rights to the saved object instead of the default settings. http://[bucket].s3.amazonaws.com/[filename][?acl=public-read&content_type=your-own/content-type - if you specify Content type then Amazon will add appropriate Content-type header when the object is accessed via the web. http://[AWS_KEY:AWS_SECRET@][bucket].s3.amazonaws.com/[filename][?acl=public-read | authenticated-read] - If you need your S3 files to be accessed with your own AWS credentials, add your AWS key/secret to the URL. If you use the Access key and Secret key they must be urlencode. Let the Key and the Secret are: 1ZG3YAKJ8W0VOA9L7WT6, lQT5MsQLirc8owb:SxX/9EhU4M+QarasFelQ0v2M First, we must urlencode the Secret as it contains special URL's characters: ':','+' and '/'. The encoded Secret is: lQT5MsQLirc8owb%3ASxX%2F9EhU4M%2BQarasFelQ0v2M We should not encode the colon between Key and Secret nor the '@' after them. So, the destination URL will be: http://1ZG3YAKJ8W0VOA9L7WT6:lQT5MsQLirc8owb%3ASxX%2F9EhU4M%2BQarasFelQ0v2M @encode.video.s3.amazonaws.com/v/encoded/ http://[RS_USER:RS_KEY@]storage.cloudfiles.com/[path]/[filename] - Virtual URL https://storage4.clouddrive.com/v1/MossoCloudFS_cea19775-aa94-4d78-8da9-1a7b4bbbd548/your_folder /file.ext?auth-token=c2633419-7b79-3d58-8417-d63666dddfd5 - Real URL like this if you were authenticated yourself recently Note: do not forget to encode your AWS_SECRET, specifically replace '/ ' with '%2F'. If you don't specify AWS key/secret, the bucket must have READ and WRITE permissions for AWS user 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869, See http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html#SpecifyingGrantee for details. |
12 Oct 2010. VP6 Flix
| Format Name | Allowed Values / Description |
| output (required) – output format. Specify format of encoded file. | flv, fl9, wmv, 3gp, mp4, m4v, ipod, iphone, ipad, android, ogg, webm, appletv, psp, zune, mp3, wma, m4a, thumbnail*, image , mpeg2 *, iphone_stream, ipad_stream, vp6_flix . |
| vp6_profile | Encoding profile |
| noise_reduction | Determines the level of noise filtering to apply in the preprocessor. |
| upct | Parameter for undershoot percentage. |
| kfinttype | Keyframe interval type. |
| keyframe | Keyframe period (in frames) |
| sharpness | Controls the sharpness of the image in the output |
| cxmode | Compress mode |
| logo_transparent | Transparent color mask. Use for vp6_flix format only. |
29 Sep 2010. Metadata tags added
| Format Name | Description |
| title | — Title of the media |
| copyright | — Copyright information |
| author | — Source author |
| description | — Media description |
| album | — Media album |
16 Sep 2010. WebM/VP8 and Ogg/Theora presets added
| Format Name | Allowed Values | Default Values |
| output (required) — output format. Specify format of encoded file. | flv, fl9, wmv, 3gp, mp4, m4v, ipod, iphone, ipad, android, ogg, webm, appletv, psp, zune, mp3, wma, m4a, thumbnail*, image **, mpeg2 ***, iphone_stream, ipad_stream ****. | |
| video_codec - Video codec. |
flv: flv, libx264, vp6 ** fl9: libx264 wmv, zune: wmv2, msmpeg4 3gp, android: h263, mpeg4, libx264 m4v: mpeg4 mp4, ipod, iphone, ipad, appletv, psp: mpeg4, libx264 ogg: libtheora webm: libvpx mp3, wma: none mpeg2: mpeg2video |
flv: flv fl9, ipod, iphone, ipad: libx264 wmv, zune: wmv2 3gp: h263 mp4, m4v,appletv, psp, android: mpeg4 ogg: libtheora webm: libvpx mpeg2: mpeg2video |
| audio_bitrate - Audio bitrate. |
Nk - where N is any non-zero integer 3gp: 4.75k, 5.15k, 5.9k, 6.7k, 7.4k, 7.95k, 10.2k, 12.2k flv, wmv, mp3, wma, zune: 32k, 40k, 48k, 56k, 64k, 80k, 96k, 112k, 128k, 144k, 160k, 192k, 224k, 256k, 320k ogg, webm: 45k,64k, 80k, 96k, 112k, 128k, 160k, 192k, 224k, 256k, 320k, 500k |
All: 64k 3gp, android: 12.2k ipod, iphone, ipad, psp: 128k |
| audio_sample_rate - Audio sampling frequency (Hz). |
All: any non-zero integer. 3gp: 8000 flv, mp3: 11025, 22050, 44100 ogg, webm: 16000, 32000, 44100, 22050, 11025, 192000 wmv, wma, zune: 11025, 22050, 32000, 44100, 48000 mpeg2: 44100, 48000 |
All: none 3gp, android: 8000 flv, mp3, zune, mpeg2: 44100 |
| audio_codec - Audio codec. |
mp3: libmp3lame m4a: libfaac flv: libmp3lame, libfaac fl9, mp4, m4v, ipod, iphone, ipad, appletv, psp: libfaac wmv, wma, zune: wmav2, libmp3lame ogg, webm: libvorbis 3gp: libamr_nb android: libamr_nb, libfaac mpeg2: pcm_s16be, pcm_s16le |
flv, mp3: libmp3lame fl9, mp4, m4v, ipod, iphone, ipad, appletv, psp: libfaac wmv, zune: wmav2 ogg, webm: libvorbis 3gp, android: libamr_nb mpeg2: pcm_s16be m4a: libfaac |
16 Sep 2010. Hinting MP4 files
| Format Name | Allowed Values | Default Values |
| hint - MP4 only. Whether to add RTP data (for streaming servers). | yes, no. |
All: None mp4: no |
29 Jul 2010. Android preset added
| Format Name | Allowed Values |
| output [required] — output format. Specify format of encoded file. | flv, fl9, wmv, 3gp, mp4, m4v, ipod, iphone, ipad, android, appletv, psp, zune, mp3, wma, m4a, thumbnail*, image **, mpeg2 ***, iphone_stream, ipad_stream ****. |
14 Jul 2010. New defaults and preset for iPhone Streaming
| Format Name | Allowed Values | Default Values |
| output — output format. Specify format of encoded file. | flv, fl9, wmv, 3gp, mp4, m4v, ipod, iphone, ipad, appletv, psp, zune, mp3, wma, m4a, thumbnail*, image **, mpeg2 ***, iphone_stream, ipad_stream ****. | none |
<format>
<!-- Format fields -->
<output>[iphone_stream|ipad_stream]</output>
<bitrates>[CommaSeparatedList]</bitrates>
<framerates>[CommaSeparatedList]</framerates>
<keyframes>[CommaSeparatedList]</keyframes>
<segment_duration>[Duration]</segment_duration>
<pack_files>[yes|no]</pack_files>
<add_audio_only>[yes|no]</add_audio_only>
<still_image>[no|each_segment|first_segment]</still_image>
<still_image_time>[Time]</still_image_time>
<still_image_size>[Size]</still_image_size>
<!-- Destination fields -->
<destination>[DestFile]</destination> <!-- REQUIRED -->
</format>
| Format Name | Allowed Values | Default Values |
| bitrates — Comma separated list of video bitrates. | One or more valid bitrate values, separated by comma | iphone_stream: 600k,400k,200k,110k ipad_stream: 1200k,800k,600k,400k,200k,110k |
| framerates — Comma separated list of framerates, according to previous parameter | One or more valid framerate values, separated by comma | iphone_stream: 29.97,29.97,15,10 ipad_stream: 29.97,29.97,29.97,29.97,15,10 |
| keyframes — Comma separated list of keyframe parameters. | One or more valid keyframe values, separated by comma | iphone_stream: 90,90,45,30 ipad_stream: 90,90,90,90,45,30 |
| segment_duration - Segment duration to split media (in seconds) | Non-negative integer | 10 |
| pack_files - Whether to pack result files to single tarball | yes, no | yes |
| add_audio_only - Whether to add audio-only stream | yes, no | no |
| still_image - Embed still image in the audio-only stream | no, each_segment, first_segment | no |
| still_image_time - The time from the beginning of segment to capture still image | Non-negative number greater than 0.01 or hh:mm:ss.ms | none |
| still_image_size - The size of the still image | WxH where W and H - positive integers | 480x320 |
20 May 2010. Audio-only stream for iPhone Streaming
<format>
<!-- Format fields -->
<output>iphone_stream</output>
<bitrates>[CommaSeparatedList]</bitrates>
<segment_duration>[Duration]</segment_duration>
<pack_files>[yes|no]</pack_files>
<add_audio_only>[yes|no]</add_audio_only>
<still_image>[no|each_segment|first_segment]</still_image>
<still_image_time>[Time]</still_image_time>
<still_image_size>[Size]</still_image_size>
<!-- Destination fields -->
<destination>[DestFile]</destination> <!-- optional -->
</format>
| Format Name | Allowed Values | Default Values |
| add_audio_only - Whether to add audio-only stream | yes, no | no |
| still_image - Embed still image in the audio-only stream | no, each_segment, first_segment | no |
| still_image_time - The time from the beginning of segment to capture still image | Non-negative number greater than 0.01 or hh:mm:ss.ms | none |
| still_image_size - The size of the still image | WxH where W and H - positive integers | 320x240 |
6 Apr 2010. iPad preset added
| Format Name | Allowed Values |
| output (required) — output format. Specify format of encoded file. | flv, fl9, wmv, 3gp, mp4, m4v, ipod, iphone, ipad, appletv, psp, zune, mp3, wma, m4a, thumbnail*, image **, mpeg2 ***, iphone_stream ****. |
3 Feb 2010
iPhone Streaming Features
<format>
<!-- Format fields -->
<output>iphone_stream</output>
<bitrates>[CommaSeparatedList]</bitrates>
<segment_duration>[Duration]</segment_duration>
<pack_files>[yes|no]</pack_files>
<!-- Destination fields -->
<destination>[DestFile]</destination> <!-- optional -->
</format>
With the following specific parameters:
| Format Name | Allowed Values | Default Values |
| bitrates — Comma separated list of bitrates. | One or more valid bitrate values, separated by comma | 96k,256k,800k |
| segment_duration - Segment duration to split media (in seconds) | Non-negative integer | 10 |
| pack_files - Whether to pack result files to single tarball | yes, no | yes |
Image Converting Changes
<format>
<!-- Format fields -->
<output>image</output>
<image_format>jpg</image_format>
<resize_method>resize</resize_method>
<size>560x420</size>
<keep_aspect_ratio>yes</keep_aspect_ratio>
<quality>75</quality>
<sharpen_radius>1</sharpen_radius>
<sharpen_sigma>0.5</sharpen_sigma>
<remove_metadata>no</remove_metadata>
<!-- Destination fields -->
<destination>[DestFile]</destination>
</format>
With the following specific parameters:
| Format Name | Allowed Values | Default Values |
| image_format [required] — Format of resulting image. | jpg, png, gif | jpg |
| size — Size of resulting image. | WxH or Wx0 or 0xH or Wx or xH, where W and H are positive integers | none |
| resize_method - How the original picture will be inscribed to new size | resize, crop, combine | resize |
| keep_aspect_ratio - Whether to keep width to height ratio of original picture | yes, no | yes |
| quality - JPEG quality |
jpg: 1-100 All: none |
80 |
| sharpen_radius - Sharpen radius (use 0 in most cases) | Integer: 0-10 | none |
| sharpen_sigma - Sharpen amount (best are 0.5-1.0) | Float: 0, 0.2-10 | 0 |
| remove_metadata - Whether to remove image meta data (incl. EXIF) | yes, no | no |
Advanced H.264 Parameters
To see the example for parameters please follow this link
23 Dec 2009. Extended GetStatus action
Simple mode
<?xml version="1.0"?>
<response>
<id>[MediaID]</id>
<userid>[UserID]</userid>
<sourcefile>[SourceFile]</sourcefile>
<status>[MediaStatus]</status>
<notifyurl>[NotifyURL]</notifyurl>
<created>[Date]</created>
<started>[Date]</started>
<finished>[Date]</finished>
<prevstatus>[MediaStatus]</prevstatus>
<downloaded>[Date]</downloaded>
<uploaded>[Date]</uploaded>
<time_left>[TotalTimeLeft]</time_left>
<progress>[TotalProgress]</progress>
<time_left_current>[StatusTimeLeft]</time_left_current>
<progress_current>[StatusProgress]</progress_current>
<format>
<id>[ID]</id>
<status>[Status]</status>
<created>[Date]</created>
<started>[Date]</started>
<finished>[Date]</finished>
[FormatFields]
<s3_destination>[TempS3Link]</s3_destination> <!-- optional -->
<cf_destination>[TempCFLink]</cf_destination> <!-- optional -->
</format>
<format>
…
</format>
</response>
Extended (batch) mode
<query>
<action>GetStatus</action>
<userid>[UserID]</userid>
<userkey>[UserKey]</userkey>
<extended>yes</extended>
<mediaid>[CommaSeparatedList]</mediaid>
</query>
<response>
<job>
<id>[MediaID]</id>
<userid>[UserID]</userid>
<sourcefile>[SourceFile]</sourcefile>
<status>[MediaStatus]</status>
<notifyurl>[NotifyURL]</notifyurl>
<created>[Date]</created>
<started>[Date]</started>
<finished>[Date]</finished>
<prevstatus>[MediaStatus]</prevstatus>
<downloaded>[Date]</downloaded>
<filesize>[FileSize]</filesize>
<processor>[AMAZON | RACKSPACE]</processor>
<progress>[TotalProgress]</progress>
<time_left>[TotalTimeLeft]</time_left>
<format>
<id>[ID]</id>
<status>[Status]</status>
<created>[Date]</created>
<started>[Date]</started>
<finished>[Date]</finished>
<s3_destination>[TempS3Link]</s3_destination> <!-- optional -->
<cf_destination>[TempCFLink]</cf_destination> <!-- optional -->
<convertedsize>[FileSize]</convertedsize>
<time_left>[TotalTimeLeft]</time_left>
<progress>[TotalProgress]</progress>
<time_left_current>[StatusTimeLeft]</time_left_current>
<progress_current>[StatusPorgress]</progress_current>
<file_size>[FileSize]</file_size>
</format>
<format>
…
</format>
</job>
<job>
...
</job>
...
</response>
22 Dec 2009
MPEG-2 output
| Format Name | Allowed Values | Default Values |
| output (required) – output format. Specify format of encoded file. | flv, fl9, wmv, 3gp, mp4, m4v, ipod, iphone, appletv, psp, zune, mp3, wma, mpeg2, thumbnail*, image **, mpeg2 ***. | |
| video_codec - Video codec. |
flv: flv, libx264, vp6 ** fl9: libx264 wmv, zune: wmv2, msmpeg4 3gp: h263, libx264 m4v: mpeg4 mp4, ipod, iphone, appletv, psp: mpeg4, libx264 mpeg2: mpeg2video mp3, wma: none |
flv: flv fl9: libx264 wmv, zune: wmv2 3gp: h263 mp4, m4v, ipod, iphone, appletv, psp: mpeg4 mpeg2: mpeg2video * - see Thumbnail Features ** - see Image Converting Features *** - just experimental feature, please use with case, feedback is welcome |
| audio_sample_rate - Audio sampling frequency (Hz). |
All: any non-zero integer. 3gp: 8000 flv, mp3: 11025, 22050, 44100 wmv, wma, zune: 11025, 22050, 32000, 44100, 48000 mpeg2: 44100, 48000 |
All: none 3gp: 8000 flv, mp3, zune, mpeg2: 44100 |
| audio_codec - Audio codec. |
mp3: libmp3lame flv: libmp3lame, libfaac fl9, mp4, m4v, ipod, iphone, appletv, psp: libfaac wmv, wma, zune: wmav2, libmp3lame 3gp: libamr_nb mpeg2: pcm_s16be, pcm_s16le |
flv, mp3: libmp3lame fl9, mp4, m4v, ipod, iphone, appletv, psp: libfaac wmv, zune: wmav2 3gp: libamr_nb mpeg2: pcm_s16be |
Using Rackspace Cloud Files as a source or a destination
Image Converting Features
<format>
<!-- Format fields -->
<output>image</output>
<image_format>jpg</image_format>
<resize_method>resize</resize_method>
<size>560x420</size>
<keep_aspect_ratio>yes</keep_aspect_ratio>
<quality>75</quality>
<sharpen_radius>1</sharpen_radius>
<sharpen_sigma>0.5</sharpen_sigma>
<!-- Destination fields -->
<destination>[DestFile]</destination>
</format>
| Format Name | Allowed Values | Default Values |
| image_format [required] – Format of resulting image. | jpg, png, gif | jpg |
| size [required] – Size of resulting image. | WxH or Wx or xH, where W and H are positive integers | none |
| resize_method - How the original picture will be inscribed to new size | resize, crop, combine | resize |
| keep_aspect_ratio - Whether to keep width to height ratio of original picture | yes, no | yes |
| quality - JPEG quality | jpg: 1-100 All: none | 80 |
| sharpen_radius - Sharpen radius (use 0 in most cases) | Integer: 0-10 | none |
| sharpen_sigma - Sharpen amount (best are 0.5-1.0) | Float: 0.2-10 | 0.5 |
18 Nov 2009
AAC added as an option for FLV
| Format Name | Allowed values: | Default values: |
| audio_codec [optional] — Audio codec. |
mp3: libmp3lame flv: libmp3lame, libfaac fl9, mp4, m4v, ipod, iphone, appletv, psp: libfaac wmv, wma, zune: wmav2, libmp3lame 3gp: libamr_nb |
flv, mp3: libmp3lame fl9, mp4, m4v, ipod, iphone, appletv, psp: libfaac wmv, zune: wmav2 3gp: libamr_nb |
Frame resizing ability added
| Format Name | Allowed Values | Default Values |
| keep_aspect_ratio - Whether to keep width to height ratio of the original frame size | yes, no | yes |
Additional watermarking options
Logo fields
| Format Name | Allowed Values | Default Values |
| logo_source [required] - The URL of the logo image. The image format can be GIF, JPG or PNG. |
http://[user[:password]@]hostname[:port]/[path]/[filename], ftp://[user[:password]@]hostname[:port]/[path]/[filename][?passive=yes], sftp://[user[:password]@]hostname[:port]/[path]/[filename], |
none |
| logo_x - left offset of logo image | non-negative integer | 10 |
| logo_y - top offset of logo image | non-negative integer | 10 |
| logo_mode - video and watermarking picture mixing mode | 0, 1 | 1 |
| logo_threshold - Threshold color mask | 6-digits hexadecimal 000000-FFFFFF | 000000 |
How mode and threshold work
logo_mode 0: The watermark picture works like this (assuming color intensities 0..0xFF): Per color do this (assuming logo_threshold is '808080'): If mask color is 0x80, no change to the original frame. If mask color is < 0x80 the absolute difference is subtracted from the frame. If result < 0, result = 0. If mask color is > 0x80 the absolute difference is added to the frame. If result > 0xFF, result = 0xFF. If threshold is 000000 the color value of watermark is added to the destination.
logo_mode 1: Per color do this: If mask color > threshold color then the watermark pixel is used.
24 June 2009. Turbo encoding speed now available
<!-- Format fields -->
...
<turbo>yes</turbo>
...
21 May 2009
Audio output formats added
| Format Name | Allowed Values | Default Values |
| output (required) – output format. Specify format of encoded file. | flv, fl9, wmv, 3gp, mp4, m4v, ipod, iphone, appletv, psp, zune, mp3, wma and thumbnail*. | none |
Adjusting audio volume
<!-- Format fields -->
...
<audio_volume>[Volume]</audio_volume>
...
| Format Name | Allowed Values | Default Values |
| audio_volume - Audio volume level, in percent. | non-negative integer | 100 |
H.264 in FLV container
| Format Name | Allowed Values | Default Values |
| video_codec - Video codec. |
flv: flv, libx264, vp6 ** fl9: libx264 wmv, zune: wmv2, msmpeg4 3gp: h263, libx264 m4v: mpeg4 mp4, ipod, iphone, appletv, psp: mpeg4, libx264 mp3, wma: none |
flv: flv fl9: libx264 wmv, zune: wmv2 3gp: h263 mp4, m4v, ipod, iphone, appletv, psp: mpeg4 mp3, wma: none |
27 Feb 2009. thumb_* parameters are going away
| Format Name | Allowed Values | Default Values |
| thumb_time [optional, deprecated***] - Timestamp (in seconds) to capture thumbnail. | integer | None |
| thumb_size [optional, deprecated***] - Thumbnail size (in pixels). | WxH, where W and H are any non-zero integers. | None |
| thumb_destination [optional, deprecated***] - The destination URL to put the thumbnail. |
ftp://[user]:[password]@[server]/[path]/[filename], http://[AWS_KEY:AWS_SECRET@][bucket].s3.amazonaws.com/[filename] |
None *** - see Thumbnail Features chapter |
30 Dec 2008
VP6 encoding moved under FLV format
| Format Name | Allowed Values | Default Values |
| video_codec — Video codec. | flv: flv, vp6 fl9: libx264 wmv, zune: wmv2, msmpeg4 3gp: h263, libx264 m4v: mpeg4 mp4, ipod, iphone, appletv, psp: mpeg4, libx264 | flv: flv fl9: libx264 wmv, zune: wmv2 3gp: h263 mp4, m4v, ipod, iphone, appletv, psp: mpeg4 |
VP6 Features
If you choose 'vp6' codec for 'flv' output format, your XML query will differ (less number of parameters are supported, see below):
<format>
<output>flv</output>
<video_codec>vp6</video_codec>
<bitrate></bitrate> <!-- optional -->
<size></size> <!-- optional -->
<audio_bitrate>64k</audio_bitrate> <!-- optional -->
<audio_sample_rate>44100<audio_sample_rate> <!-- optional -->
<audio_channels_number>2</audio_channels_number> <!-- optional -->
<framerate></framerate> <!-- optional -->
<destination></destination> <!-- optional -->
</format>
Custom keyframe interval and video splicing added
<?xml version="1.0"?>
<query>
<!-- Format fields -->
...
<keyframe>[Keyframe Period (GOP)]</keyframe>
<start>[Start From]</start>
<duration>[Result Duration]</duration>
<!-- Destination fields -->
...
<!-- Logo fields (OPTIONAL) -->
...
</format>
</query>
Format fields
| Format Name | Allowed Values | Default Values |
| keyframe — Keyframe period, in frames. | positive integer. | 300 |
| start — Start encoding from (sec). | non-negative integer. | None |
| duration — Duration (sec). | positive integer. | None |
26 Dec 2008. H.264 is now available for mp4, ipod, iphone, appletv, psp and 3gp formats
| Format Name | Allowed Values |
| video_codec — Video codec. |
flv: flv fl9: libx264 wmv, zune: wmv2, msmpeg4 3gp: h263, libx264 m4v: mpeg4 mp4, ipod, iphone, appletv, psp: mpeg4, libx264 |
6 Nov 2008. Automatic frame size calculation (maintaining aspect ratio)
| Format Name | Allowed Values | Default Values |
| size — Video frame size. |
All: WxH, where W and N are any even integers. 3gp: 128x96, 176x144, 352x288, 704x576, 1408x1152 ipod: 320x240, 640x480 iphone: 480x368 appletv: 710x480 zune: 320x180, 320x240 |
All: none 3gp: 176x144 iphone: 480x368 appletv: 710x480 psp: 368x192 zune: 320x180 Note: You can specify only one dimension: either width or height. In this case, set other dimension to 0. (I.e. 640x0). |
21 Oct 2008. Additional encoding options
<?xml version="1.0"?>
<query>
<!-- Format fields -->
<output>[Output format]</output>
<video_codec>[Video Codec]</video_codec>
<audio_codec>[Audio Codec]</audio_codec>
<bitrate>[Video bitrate]</bitrate>
<audio_bitrate>[Audio bitrate]</audio_bitrate>
<audio_sample_rate>[Audio quality]</audio_sample_rate>
<size>[Size]</size>
<crop_left>[Crop Left]</crop_left>
<crop_top>[Crop Top]</crop_top>
<crop_right>[Crop Right]</crop_right>
<crop_bottom>[Crop Bottom]</crop_bottom>
<thumb_time>[Thumb time]</thumb_time>
<thumb_size>[Thumb size]</thumb_size>
<add_meta>[yes/no]</add_meta>
<rc_init_occupancy>[RC Occupancy]</rc_init_occupancy>
<minrate>[Min Rate]</minrate>
<maxrate>[Max Rate]</maxrate>
<bufsize>[RC Buffer Size]</bufisize>
<!-- Destination fields -->
...
<!-- Logo fields (OPTIONAL) -->
...
</format>
</query>
...
Format fields
| Format Name | Allowed Values | Default Values |
| maxrate - Maximum allowed video bitrate. | N or Nk - where N is any non-zero integer. | None |
| minrate - Minimum allowed video bitrate. | N or Nk - where N is any non-zero integer. | None |
| bufsize - Rate control buffer size (bits). | N or Nk - where N is any non-zero integer. | None |
| rc_init_occpancy - Initial rate control buffer occupancy (bits). | N or Nk - where N is any non-zero integer. | None |
20 Oct 2008. Additional S3 Options
Main fields
- AddMedia – add new media to user's media list, creates new items in a queue according to formats specified in XML
- AddMediaBenchmark - add new media to user's media list and set a flag for NOT processing it after downloading. Format fields could be specified as well. If NotifyURL is set, a notification will be sent after the media will have been ready for processing.
- UpdateMedia – replace information about existing media's formats. All old format items will be deleted, and the new ones added.
- ProcessMedia - start encoding of previously downloaded media (one that added with AddMediaBenchmark action)
- CancelMedia – delete specified media and all its items in queue
- GetMediaList – return list of user's media
- GetStatus – return information about selected user's media and all its items in queue
- GetMediaInfo - returns some video parameters of the specified media, if available
Destination fields
| Format Name | Allowed Values | Default Values |
| destination - The destination URL to put the encoded file. |
ftp://[user]:[password]@[server]/[path]/[filename][?passive=yes], sftp://[user]:[password]@[server]/[path]/[filename], http://[AWS_KEY:AWS_SECRET@][bucket].s3.amazonaws.com/[filename][?acl=public-read | authenticated-read] - If you need your S3 files to be accessed with your own AWS credentials, add your AWS key/secret to the URL. Note: do not forget to encode your AWS_SECRET, specifically replace '/ ' with '%2F'. If you don't specify AWS key/secret, the bucket must have WRITE permission for AWS user 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869, See http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html#SpecifyingGrantee for details. Also, you can add ?acl=public-read OR ?acl=authenticated-read after the filename. This will explicitly set access rights to the saved object instead of the default settings. |
None |
| thumb_destination - The destination URL to put the thumbnail. | ftp://[user]:[password]@[server]/[path]/[filename], http://[AWS_KEY:AWS_SECRET@][bucket].s3.amazonaws.com/[filename] | None |
20 Oct 2008. Watermarking
XML format for user's API request
<?xml version="1.0"?>
<query>
<!-- Main fields -->
<userid>[UserID]</userid>
<userkey>[UserKey]</userkey>
<action>[Action]</action>
<mediaid>[MediaID]</mediaid>
<source>[SourceFile]</source>
<notify>[NotifyURL]</notify>
<format>
<!-- Format fields -->
<output>[Output format]</output>
<video_codec>[Video Codec]</video_codec>
<audio_codec>[Audio Codec]</audio_codec>
<bitrate>[Video bitrate]</bitrate>
<audio_bitrate>[Audio bitrate]</audio_bitrate>
<audio_sample_rate>[Audio quality]</audio_sample_rate>
<size>[Size]</size>
<crop_left>[Crop Left]</crop_left>
<crop_top>[Crop Top]</crop_top>
<crop_right>[Crop Right]</crop_right>
<crop_bottom>[Crop Bottom]</crop_bottom>
<thumb_time>[Thumb time]</thumb_time>
<thumb_size>[Thumb size]</thumb_size>
<add_meta>[yes/no]</add_meta>
<!-- Destination fields -->
<destination>[DestFile]</destination>
<thumb_destination>[Thumb Dest]</thumb_destination>
<!-- Logo fields (OPTIONAL) -->
<logo>
<logo_source>[LogoURL]</logo_source>
<logo_x>[LogoLeft]</logo_x>
<logo_y>[LogoTop]</logo_y>
</logo>
</format>
</query>
Logo fields
| Format Name | Allowed Values | Default Values |
| logo_source [required] - The URL of the logo image. The image format can be GIF, JPG or PNG. | http://[user]:[password]@ [server]/[path]/[filename], ftp://[user]:[password]@[server]/[path]/[filename][?passive=yes], sftp://[user]:[password]@[server]/[path]/[filename], | None |
| logo_x - left offset of logo image | non-negative integer | 10 |
| logo_y - top offset of logo image | non-negative integer | 10 |
29 Sep 2008. Temporary http download of encoded videos
GetStatus action
<?xml version="1.0"?>
<response>
<id>[MediaID]</id>
<userid>[UserID]</userid>
<sourcefile>[SourceFile]</sourcefile>
<status>[MediaStatus]</status>
<notifyurl>[NotifyURL]</notifyurl>
<created>[Date]</created>
<started>[Date]</started>
<finished>[Date]</finished>
<prevstatus>[MediaStatus]</prevstatus>
<downloaded>[Date]</downloaded>
<uploaded>[Date]</uploaded>
<time_left>[TotalTimeLeft]</time_left>
<progress>[TotalProgress]</progress>
<time_left_current>[StatusTimeLeft]</time_left_current>
<progress_current>[StatusProgress]</progress_current>
<format>
<id>[ID]</id>
<status>[Status]</status>
<created>[Date]</created>
<started>[Date]</started>
<finished>[Date]</finished>
[FormatFields]
<s3_destination>[TempS3Link]</s3_destination>
</format>
<format>
…
</format>
</response>
29 Sep 2008. Passive FTP support
Main fields
- AddMedia – add new media to user's media list, creates new items in a queue according to formats specified in XML
- AddMediaBenchmark - add new media to user's media list and set a flag for NOT processing it after downloading. Format fields could be specified as well.
- UpdateMedia – replace information about existing media's formats. All old format items will be deleted, and the new ones added.
- ProcessMedia - start encoding of previously downloaded media (one that added with AddMediaBenchmark action)
- CancelMedia – delete specified media and all its items in queue
- GetMediaList – return list of user's media
- GetStatus – return information about selected user's media and all its items in queue
- GetMediaInfo - returns some video parameters of the specified media, if available
Destination fields
| Format Name | Allowed Values | Default Values |
| destination - The destination URL to put the encoded file. |
ftp://[user]:[password]@[server]/[path]/[filename][?passive=yes], sftp://[user]:[password]@[server]/[path]/[filename], http://[bucket].s3.amazonaws.com/[filename] (the bucket must have WRITE permission for AWS user 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869, See http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html#SpecifyingGrantee for details). |
None |
| thumb_destination - The destination URL to put the thumbnail. |
ftp://[user]:[password]@[server]/[path]/[filename], http://[bucket].s3.amazonaws.com/[filename] (the bucket must have WRITE permission for AWS user 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869, See http://docs.amazonwebservices.com/AmazonS3/latest/dev/ACLOverview.html#SpecifyingGrantee for details). |
None |
Note: Adding ?passive=yes to the FTP URL forces downloader/uploader use Passive Mode for FTP Transfer. Also, you can specify ?passive=no (the default) explicitly. It will take the same effect that if you don't specify this parameter at all.
Realtime status updates
GetStatus action
<?xml version="1.0"?>
<response>
<id>[MediaID]</id>
<userid>[UserID]</userid>
<sourcefile>[SourceFile]</sourcefile>
<status>[MediaStatus]</status>
<notifyurl>[NotifyURL]</notifyurl>
<created>[Date]</created>
<started>[Date]</started>
<finished>[Date]</finished>
<downloaded>[Date]</downloaded>
<time_left>[TotalTimeLeft]</time_left>
<progress>[TotalProgress]</progress>
<time_left_current>[StatusTimeLeft]</time_left_current>
<progress_current>[StatusProgress]</progress_current>
<format>
<id>[ID]</id>
<status>[Status]</status>
<created>[Date]</created>
<started>[Date]</started>
<finished>[Date]</finished>
[FormatFields]
</format>
<format>
…
</format>
</response>
Notification after AddMediaBenchMark call
Main fields
- AddMedia – add new media to user's media list, creates new items in a queue according to formats specified in XML
- AddMediaBenchmark - add new media to user's media list and set a flag for NOT processing it after downloading. Format fields could be specified as well. If NotifyURL is set, a notification will be sent after the media will have been ready for processing.
28 Aug 2008. API requests through SSL
The XML API Overview
20 Aug 2008. Additional information added to GetMediaInfo response
GetMediaInfo action
<?xml version="1.0"?>
<response>
<bitrate>364k</bitrate>
<duration>175.21</duration>
<video_codec>h264</video_codec>
<frame_rate>23.98</frame_rate>
<audio_sample_rate>44100</audio_sample_rate>
<size>352x288</size>
</response>
19 Aug 2008. New API features
Format fields
| Format Name | Allowed Values | Default Values |
| two_pass - Whether to use 2-pass encoding | yes, no | no |
| cbr - Whether to use CBR (Constant bitrate) | yes, no | no |
| deinterlacing - Whether to use de-interlacing | yes, no | no |
06 Aug 2008. Default frame size changed
Format fields
| Format Name | Allowed Values | Default Values |
| size - Video frame size. | All: WxH, whereW and N are any non-zero even integers. 3gp: 128x96, 176x144, 352x288, 704x576, 1408x1152 ipod: 320x240, 640x480 iphone: 480x368 appletv: 710x480 zune: 320x180, 320x240 | All: none 3gp: 176x144 iphone: 480x368 appletv: 710x480 psp: 368x192 zune: 320x180 |
Media Benchmarking API functions
Main fields
- AddMedia – add new media to user's media list, creates new items in a queue according to formats specified in XML
- AddMediaBenchmark - add new media to user's media list and set a flag for NOT processing it after downloading. Format fields could be specified as well.
- UpdateMedia – replace information about existing media's formats. All old format items will be deleted, and the new ones added.
- ProcessMedia - start encoding of previously downloaded media (one that added with AddMediaBenchmark action)
- CancelMedia – delete specified media and all its items in queue
- GetMediaList – return list of user's media
- GetStatus – return information about selected user's media and all its items in queue
- GetMediaInfo - returns some video parameters of the specified media, if available
Added:
GetMediaInfo action
<?xml version="1.0"?>
<response>
<bitrate>364k</bitrate>
<duration>175.21</duration>
<video_codec>h264</video_codec>
<size>352x288</size>
</response>
15 Jul 2008
Multiple Thumbnail Support
<format>
<!-- Format fields -->
<output>thumbnail</output>
<time>[Size]</time>
<width>[Width]</width>
<height>[Size]</height>
<!-- Destination fields -->
<destination>[DestFile]</destination>
</format>
| Format Name | Allowed Values | Default Values |
| time – Timestamp (in seconds) to capture thumbnail. | Non-negative integer or hh:mm:ss.ms | 5 |
| width - Thumbnail width (in pixels) | Non-negative integer | none |
| height - Thumbnail height (in pixels) | Non-negative integer | none |
AddMedia action
<?xml version="1.0"?>
<response>
<message>Added</message>
<MediaID>[MediaID]</MediaID>
</response>
3 Jul 2008. VP6 Support
VP6 Features
<format>
<!-- Format fields -->
<output>vp6</output>
<profile>[VP6 profile]</profile>
<size>[Size]</size>
<!-- Destination fields -->
<destination>[DestFile]</destination>
</format>
| Format Name | Allowed Values | Default Values |
| profile — VP6 profile. | VP6-E, VP6-S | VP6-E |
destination [required] - The destination URL to put the encoded file.
