prev/next

Third Party Integration

How can I use your .NET uploader tool?

Please note these instructions are for the Encoding.com uploader scripts, v. 1.1. The audience for this document is intended to be web script authors, software developers and system administrators.

You can download the .NET uploader tool here:  www.iloveencoding.com/Uploader.Net.zip

Introduction:

The Encoding.com User Uploader Script enables the direct upload of User Generated Video (UGV) content to Encoding.com

 More -->

Please note these instructions are for the Encoding.com uploader scripts, v. 1.1. The audience for this document is intended to be web script authors, software developers and system administrators.

You can download the .NET uploader tool here: www.iloveencoding.com/Uploader.Net.zip

Introduction:

The Encoding.com User Uploader Script enables the direct upload of User Generated Video (UGV) content to Encoding.com storage so you can avoid a workflow where users first upload to your storage location and then having Encoding.com "re-download" from your storage location to begin processing. This guide will help you to implement the User Uploader Script into your workflow.

To receive media files, Encoding.com uses a special uploading server - upload.encoding.com. Only Encoding.com users are able to access this service. Each upload request must contain an Encoding.com user ID and special signature (API key) to authorize the user.

Once the video file is received, we will extract the MediaInfo (technical parameters of the video) and move the file to S3 storage, and it's now ready to be processed.  The uploading service will return a new file destination URL, and the URL for the XML file that contains the MediaInfo.  During this process, users can get progress status and percentage completed.

How it works:

To better understand the uploading service, please see the example scripts. First, unpack the provided .zip file, and then set new Network application in IIS (set physical path to unpacked directory). The provided files also include a simple form for showing progress and upload status (Default.aspx and index.html).

First, please set up your authorization options. In Web.config you need to change values in the following two lines (YOUR_USER_ID and YOUR_USER_KEY):

<add key="UserID" value="YOUR_USER_ID"/>
<add key="UserKey" value="YOUR_USER_KEY"/>

This will allow you to start usage of the uploader tool.

To integrate the Uploader Script into one of your existing website pages, please add the following code to the head section:

<link href="encoding.com_uploader.css" media="all" rel="stylesheet" type="text/css" />
<script src="encoding.com_uploader.js" type="text/javascript"></script>

And, add the following form into the body section of your page:

<form id="upload" name="upload" enctype="multipart/form-data" action="https://upload.encoding.com/upload" target="uploadframe" method="post">

(on .aspx pages you can use following: <form id="upload" name="upload" enctype="multipart/form-data" action="<%= System.Configuration.ConfigurationManager.AppSettings["UploadServerURL"] %>/upload"
    target="uploadframe" method="post">)
                                              
<input type="hidden" id="uid" name="uid" value="0" />
<input type="hidden" id="sid" name="sid" value="0" />
<input type="hidden" id="timestamp" name="timestamp" value="0" />
<input type="hidden" id="signature" name="signature" value="0" />
<input name="userfile" id="userfile" type="file" label="fileupload" />
<input type="button" id="submit-form" value="Send File" disabled />
</form>
<div id="progress"></div>
<iframe id="uploadframe" name="uploadframe" width="0" height="0" frameborder="0" border="0" ></iframe>

When a user uploads a video using this form, the script will call Signer HTTP handler which will return values for uid, sid, timestamp and signature fields. Each source video should have a unique sid.  See Signer.cs to understand how it works.


Setting up a different path for php scripts:

By default, the PHP scripts included in this package must be stored in the same directory as the page with the Uploader form.  You may customize different paths by opening the following file: encoding.com_uploader.js

Change line:

var script_path = '';

to something like this:

var script_path = '/YOUR/PATH/';

Uploading Status and Progress:

While a file is uploading to the server, the script periodically requests progress information from the server. Uploading process consists of two parts:

1. uploading file from client PC to server
2. uploading file from server to s3 bucket

Each step should return its own progress information. That information could be requested by calls:

https://upload.encoding.com/progress?X-Progress-ID={SID} - returns percentage of 1st step progress
https://upload.encoding.com/s3info.php?sid={SID} - returns percentage of 2nd step progress
https://upload.encoding.com/fileinfo.php?sid={SID} - returns result URL

First call returns JSON object like this:

new Object({ 'state' : 'uploading', 'received' : 5340229, 'size' : 21269377 })

When state value become 'done', it means step 1 is done and we should call the 2nd step.

Second call returns JSON object like this:

new Object({"progress":"81","state":"done"})

When progress value reaches 101, it means step 2 is done and the final URLs are ready to be retrieved via the 3rd step.

Fileinfo.php returns JSON object with urls.

{"filename":"http:\/\/pc-upload.s3.amazonaws.com\/e716afec11b7865c5b2461242a5c891fc_111.mkv","mediainfo":"http:\/\/upload.encoding.com\/mediainfo\/e716afec11b7865c5b2461242a5c891fc.xml","error":""}


Those calls are implemented in Progress.cs file and can be changed by the "action" variable.

Stored files will be available on a server and s3 storage for 14 days.

To get the current uploading status in JS script, you could use the variable from FileUploader.callback function which is called periodically during the upload. The function contains variable [response] (JSON Object) with the current state: response.status (starting, uploading, processing, done, error), response.size (total size of the file in the bytes) and response.received (loaded bytes). Thus, it can be used to create your custom progress bar.

When upload is successfully completed (response.status is done), you can then retrieve a path to the file by using the filename variable.

Get Media Info
When upload is successfully completed, Encoding.com will analyze the file and generate an XML document with complete MediaInfo data which can be used when generating the AddMedia request. The link to the file will be in the MediaInfo variable.

To access those variables, see encoding.com_uploader.js FileUploader.callback function.

Response.state param describes eachstep of the uploading process.

starting - process is starting now.
uploading - file is being uploaded.
processing - File has been uploaded and now is being processed.
done - File has been finally uploaded and processed.
error - An error was occurred and file uploading had aborted.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Do you support Aspera as a source location?

Aspera's fasp™ technology dramatically speeds transfer time over public networks making it a perfect compliment for cloud based video encoding. Transferring your video to and from an Aspera Enterprise Server or Aspera Connect Server to Encoding.com over fasp™ will provide accelerated and encrypted file transfer as well as support for extremely large source videos.  

For soure files, format

 More -->

Aspera's fasp™ technology dramatically speeds transfer time over public networks making it a perfect compliment for cloud based video encoding. Transferring your video to and from an Aspera Enterprise Server or Aspera Connect Server to Encoding.com over fasp™ will provide accelerated and encrypted file transfer as well as support for extremely large source videos.  

For soure files, format your URL for AddMedia and AddMediabenchmark requests from an Aspera Enterprise Server or Aspera Connect Server™

fasp://[user[:password]@]hostname/[path]/[filename]

For destination files format as follows for deliver to an Aspera Enterprise Server or Aspera Connect Server™

fasp://[user[:password]@]hostname/[path]/[filename]

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 2 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

What Amazon data centers does Encoding.com use for processing?

Take control of where your processing occurs!  By housing Encoding.com's platfrom on Amazon's EC2, we have access to data centers on a global level. No matter where you decide to host your videos, there's a data center nearby to handle your encoding tasks and return your content back to you in the most efficient manner. Check out the complete list of

 More -->

Take control of where your processing occurs!  By housing Encoding.com's platfrom on Amazon's EC2, we have access to data centers on a global level. No matter where you decide to host your videos, there's a data center nearby to handle your encoding tasks and return your content back to you in the most efficient manner. Check out the complete list of datacenters that we support here:

 

US (Nothern Virginia): 'us-east-1'
US (Nothern California): 'us-west-1'
US (Oregon): 'us-west-2'  
EU (Ireland): 'eu-west-1'
Asia Pacific (Singapore): 'ap-southeast-1'
Asia Pacific (Tokyo): 'ap-northeast-1'
South America (Sao Paulo): 'sa-east-1'

Via API: 

    <format>
    <!-- Format fields -->
     <region>[us-east-1|us-west-1|us-west-2|eu-west-1|ap-southeast-1|ap-northeast-1|sa-east-1]</region>
      ...</format>

 

 

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Do you support Microsoft Azure Blog as source or destination?

If you would like to user Microsoft Azure Blob storage as a source or destination, please follow these simple steps:

- Use a standard URL to access a source or destination locatlon: http(s)://[access_key]@[account].blob.core.windows.net/[container]/path
- Ensure to URL encode any special characters within the access_key 

Here is one example of a properly constructed URL:
http://P9DM47UTCF%2BQJZXl0uWy28J4jBdgnYv0SJPh%2FR%2AWCFOLPTBHuyeXtMfDOU75Wd0Yl2xm67vVTYGVAWSEDRdcw%3D%3D@[account].blob.core.windows.net/encoding/file.ext

Special notes for

 More -->

If you would like to user Microsoft Azure Blob storage as a source or destination, please follow these simple steps:

- Use a standard URL to access a source or destination locatlon: http(s)://[access_key]@[account].blob.core.windows.net/[container]/path
- Ensure to URL encode any special characters within the access_key 

Here is one example of a properly constructed URL:
http://P9DM47UTCF%2BQJZXl0uWy28J4jBdgnYv0SJPh%2FR%2AWCFOLPTBHuyeXtMfDOU75Wd0Yl2xm67vVTYGVAWSEDRdcw%3D%3D@[account].blob.core.windows.net/encoding/file.ext

Special notes for Azure Blob Storage:

- Your container name must consist of 3-63 characters, digits or sign "-". Please make sure to not have a "-" at the beginning or end of your container name.  
- If you do not include the access_key within your URL, they will be interpreted like casual urls. files in such urls should be public readable.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 2 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How do I use JW Player with the default HTML5 mode selected?

The JW players is a versitile tool for allowing your encodes to play the optimal version of your video in the correct browser. The JW player team put out a great article summarizing how to embed HTML5 as default with a flash fallback.

http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/16000/embedding-with-default-html5-mode-selected

The JW players is a versitile tool for allowing your encodes to play the optimal version of your video in the correct browser. The JW player team put out a great article summarizing how to embed HTML5 as default with a flash fallback.

http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/16000/embedding-with-default-html5-mode-selected

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Do you have any information on CloudFront Streaming for AWS?

Setting up for streaming from CloudFront with Encoding.com is easy. Once you've enabled your clips for access by authenticated users or public use, follow these steps in the AWS console under CloudFront:

1 - Create a new Distribution. Set the delivery method to 'Download' - Selecting 'streaming' will not work for this workflow 

2 - Customize the next

 More -->

Setting up for streaming from CloudFront with Encoding.com is easy. Once you've enabled your clips for access by authenticated users or public use, follow these steps in the AWS console under CloudFront:

1 - Create a new Distribution. Set the delivery method to 'Download' - Selecting 'streaming' will not work for this workflow 

2 - Customize the next screen, or just click 'Continue' / 'Create Distribution'

3 - Deliver as normally to the bucket specified for CloudFront and you're ready to go.

For more information on CloudFront streaming, please see AWS's documentation here: http://aws.amazon.com/cloudfront/

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How can I use your PHP uploader tool?

Please note these instructions are for the Encoding.com uploader scripts, v. 1.1. The audience for this document is intended to be web script authors, software developers and system administrators.

http://upload.encoding.com/client/pakages/encoding.com_uploader_client_v1.1.zip

Introduction:

The Encoding.com User Uploader Script enables the direct upload of User Generated Video (UGV) content to Encoding.com storage so you can avoid a workflow where

 More -->

Please note these instructions are for the Encoding.com uploader scripts, v. 1.1. The audience for this document is intended to be web script authors, software developers and system administrators.

http://upload.encoding.com/client/pakages/encoding.com_uploader_client_v1.1.zip

Introduction:

The Encoding.com User Uploader Script enables the direct upload of User Generated Video (UGV) content to Encoding.com storage so you can avoid a workflow where users first upload to your storage location and then having Encoding.com "re-download" from your storage location to begin processing. This guide will help you to implement the User Uploader Script into your workflow.

To receive media files, Encoding.com uses a special uploading server - upload.encoding.com. Only Encoding.com users are able to access this service. Each upload request must contain an Encoding.com user ID and special signature (API key) to authorize the user.

Once the video file is received, we will extract the MediaInfo (technical parameters of the video) and move the file to S3 storage, and it's now ready to be processed.  The uploading service will return a new file destination URL, and the URL for the XML file that contains the MediaInfo.  During this process, users can get progress status and percentage completed.

How it works:

To better understand the uploading service, please see the example scripts. First, unpack the provided .zip file, and then copy these files to your web server into the website's public path in a root directory or any other subfolder. The provided files also include a simple form for showing progress and upload status (Progress.php).

First, please set up your authorization options. In config.php you need to change values in the following two lines (YOUR_USER_ID and YOUR_USER_KEY):

define("USER_ID", "YOUR_USER_ID");
define("USER_KEY", "YOUR_USER_KEY");

This will allow you to start usage of the uploader tool.

To integrate the Uploader Script into one of your existing website pages, please add the following code to the head section:

<link href="encoding.com_uploader.css" media="all" rel="stylesheet" type="text/css" />
<script src="encoding.com_uploader.js" type="text/javascript"></script>

And, add the following form into the body section of your page:

<form id="upload" name="upload" enctype="multipart/form-data" action="https://upload.encoding.com/upload" target="uploadframe" method="post">
                                               
<input type="hidden" id="uid" name="uid" value="0" />
<input type="hidden" id="sid" name="sid" value="0" />
<input type="hidden" id="timestamp" name="timestamp" value="0" />
<input type="hidden" id="signature" name="signature" value="0" />
<input name="userfile" id="userfile" type="file" label="fileupload" />
<input type="button" id="submit-form" value="Send File" disabled />
</form>
<div id="progress"></div>
<iframe id="uploadframe" name="uploadframe" width="0" height="0" frameborder="0" border="0" ></iframe>

When a user uploads a video using this form, the script will call Signer.php which will return values for uid, sid, timestamp and signature fields. Each source video should have a unique sid.  See Signer.php to understand how it works.

<?
...

date_default_timezone_set('Europe/London');

$retval = array();

$retval['timestamp'] = date("Y-m-d H:i:s O");
$retval['sid'] = md5(uniqid($_SERVER['HTTP_HOST'] . USER_KEY,true));
$retval['signature'] = hash("sha256", $retval['timestamp'] . $retval['sid'] . USER_KEY);
$retval['uid'] = USER_ID;
?>


Setting up a different path for php scripts:

By default, the PHP scripts included in this package must be stored in the same directory as the page with the Uploader form.  You may customize different paths by opening the following file: encoding.com_uploader.js

Change line:

var script_path = '';

to something like this:

var script_path = '/YOUR/PATH/';

Uploading Status and Progress:

While a file is uploading to the server, the script periodically requests progress information from the server. Uploading process consists of two parts:

1. uploading file from client PC to server
2. uploading file from server to s3 bucket

Each step should return its own progress information. That information could be requested by calls:

https://upload.encoding.com/progress?X-Progress-ID={SID} - returns percentage of 1st step progress
https://upload.encoding.com/s3info.php?sid={SID} - returns percentage of 2nd step progress
https://upload.encoding.com/fileinfo.php?sid={SID} - returns result URL

First call returns JSON object like this:

new Object({ 'state' : 'uploading', 'received' : 5340229, 'size' : 21269377 })

When state value become 'done', it means step 1 is done and we should call the 2nd step.

Second call returns JSON object like this:

new Object({"progress":"81","state":"done"})

When progress value reaches 101, it means step 2 is done and the final URLs are ready to be retrieved via the 3rd step.

Fileinfo.php returns JSON object with urls.

{"filename":"http:\/\/pc-upload.s3.amazonaws.com\/e716afec11b7865c5b2461242a5c891fc_111.mkv","mediainfo":"http:\/\/upload.encoding.com\/mediainfo\/e716afec11b7865c5b2461242a5c891fc.xml","error":""}


Those calls are implemented in Progress.php file and can be changed by the "action" variable.

Stored files will be available on a server and s3 storage for 14 days.

To get the current uploading status in JS script, you could use the variable from FileUploader.callback function which is called periodically during the upload. The function contains variable [response] (JSON Object) with the current state: response.status (starting, uploading, processing, done, error), response.size (total size of the file in the bytes) and response.received (loaded bytes). Thus, it can be used to create your custom progress bar.

When upload is successfully completed (response.status is done), you can then retrieve a path to the file by using the filename variable.

Get Media Info
When upload is successfully completed, Encoding.com will analyze the file and generate an XML document with complete MediaInfo data which can be used when generating the AddMedia request. The link to the file will be in the MediaInfo variable.

To access those variables, see encoding.com_uploader.js FileUploader.callback function.

Response.state param describes eachstep of the uploading process.

starting - process is starting now.
uploading - file is being uploaded.
processing - File has been uploaded and now is being processed.
done - File has been finally uploaded and processed.
error - An error was occurred and file uploading had aborted.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Simple Presets for Roku Player

Preparing videos for use with your Roku set-top-box can be accomplished very simply using one of the Roku Presets on Encoding.com.  Choose a Preset, set a destination location for output files and you're up and running!

 

1. Roku Preset for Single Bitrate output: quick setup to generate a single video output in .mp4 format

 More -->

Preparing videos for use with your Roku set-top-box can be accomplished very simply using one of the Roku Presets on Encoding.com.  Choose a Preset, set a destination location for output files and you're up and running!

 

1. Roku Preset for Single Bitrate output: quick setup to generate a single video output in .mp4 format

When using the web interface, select the "Roku 800kbps" preset from the Format drop-down menu to generate a static bitrate video output:

If you are sending XML to our API, use this template to make a 800kbps Roku mp4:

  <format>
    <output>roku_800</output>
    <destination>ftp://username:password@yourserver.com/output/filename.mp4?passive=yes</destination>
    <size>640x480</size>
    <bitrate>800k</bitrate>
    <audio_bitrate>128k</audio_bitrate>
    <audio_sample_rate>44100</audio_sample_rate>
    <audio_channels_number>2</audio_channels_number>
    <keep_aspect_ratio>yes</keep_aspect_ratio>
    <video_codec>libx264</video_codec>
    <profile>roku</profile>
    <audio_codec>libfaac</audio_codec>
    <keyframe>200</keyframe>
    <audio_volume>100</audio_volume>
    <file_extension>mp4</file_extension>
  </format>

 

2. Roku HLS Preset for Adaptive Bitrate output: quick setup to generate the index file (.m3u8) and h264 segments (.ts)

When using the web interface, select "Roku HLS" from the Format drop-down menu to generate the necessary files for adaptive streaming:

For Roku HLS adaptive bitrate API jobs, please use this XML template:

  <format>
    <output>roku_hls</output>
    <destination>ftp://username:password@yourserver.com/output/filename.m3u8?passive=yes</destination>
    <size>0x480</size>
    <audio_bitrate>96k</audio_bitrate>
    <audio_sample_rate>44100</audio_sample_rate>
    <audio_channels_number>2</audio_channels_number>
    <keep_aspect_ratio>yes</keep_aspect_ratio>
    <video_codec>libx264</video_codec>
    <profile>roku</profile>
    <audio_codec>libfaac</audio_codec>
    <audio_volume>100</audio_volume>
    <bitrates>1200k,800k,600k,400k,200k,110k</bitrates>
    <framerates>29.97,29.97,29.97,29.97,15,10</framerates>
    <keyframes>90,90,90,90,45,30</keyframes>
    <pack_files>no</pack_files>
    <segment_duration>10</segment_duration>
    <add_audio_only>no</add_audio_only>
    <still_image>no</still_image>
  </format>

Additional notes regarding Roku HLS

Please do not use two pass encoding, or you will see a blurry I-frame "popping" at the beginning of each 10 second video segment. Also, be aware that 5 different bitrates will output 30 segment (.ts) files per minute of video, so a 10-minute video will be 300 files. You will probably want to encode each video to a separate destination directory to keep your Roku organized. Otherwise, you will quickly have thousands of segment files in one directory.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 2 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Do you have any presets for Roku that I can use in watchfolders?

Yes! You can select the following choices in our watch folders to create files specifically targeted for playback via Roku. 

Click on any of the links below to expose the templates that we use for each preset:

roku_800
roku_1200
roku_1800
roku_2700
roku_hls

 More -->

Yes! You can select the following choices in our watch folders to create files specifically targeted for playback via Roku. 

Click on any of the links below to expose the templates that we use for each preset:

roku_800
roku_1200
roku_1800
roku_2700
roku_hls

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 3 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Roku 2700k Template

Roku 2700k Template

<format>
  <output>mp4</output>
  <destination>
  <size>1280x720</size>
  <bitrate>2700k</bitrate>
  <audio_bitrate>192k</audio_bitrate>
  <audio_sample_rate>44100</audio_sample_rate>
  <audio_channels_number>2</audio_channels_number>
  <keep_aspect_ratio>yes</keep_aspect_ratio>
  <video_codec>libx264</video_codec>
  <profile>high</profile>
  <VCodecParameters>yes</VCodecParameters>
           <video_codec_parameters>
           <coder>1</coder>
           <flags>+loop</flags>
           <flags2>+wpred+mixed_refs+dct8x8+fastpskip</flags2>
           <partitions>+parti8x8+parti4x4+partp8x8+partb8x8</partitions>
           <me_method>umh</me_method>
           <subq>8</subq>
           <me_range>16</me_range>
           <bf>4</bf>
           <keyint_min>25</keyint_min>
           <sc_threshold>40</sc_threshold>
           <i_qfactor>0.71</i_qfactor>
           <b_strategy>2</b_strategy>
           <qcomp>0.6</qcomp>
           <qmin>10</qmin>
           <qmax>51</qmax>
           <qdiff>4</qdiff>
           <b_qfactor/>
           <directpred>3</directpred>
           <trellis>1</trellis>
           <level>30</level>
           <refs>4</refs>
           <wpredp>0</wpredp>
  </video_codec_parameters>
  <audio_codec>libfaac</audio_codec>
  <two_pass>no</two_pass>
  <turbo>yes</turbo>
  <twin_turbo>no</twin_turbo>
  <cbr>no</cbr>
  <deinterlacing>no</deinterlacing>
  <keyframe>200</keyframe>
  <audio_volume>100</audio_volume>
  <rotate>0</rotate>
  <file_extension>mp4</file_extension>
  <hint>no</hint>
</format>

Roku 2700k Template

<format>
  <output>mp4</output>
  <destination>
  <size>1280x720</size>
  <bitrate>2700k</bitrate>
  <audio_bitrate>192k</audio_bitrate>
  <audio_sample_rate>44100</audio_sample_rate>
  <audio_channels_number>2</audio_channels_number>
  <keep_aspect_ratio>yes</keep_aspect_ratio>
  <video_codec>libx264</video_codec>
  <profile>high</profile>
  <VCodecParameters>yes</VCodecParameters>
           <video_codec_parameters>
           <coder>1</coder>
           <flags>+loop</flags>
           <flags2>+wpred+mixed_refs+dct8x8+fastpskip</flags2>
           <partitions>+parti8x8+parti4x4+partp8x8+partb8x8</partitions>
           <me_method>umh</me_method>
           <subq>8</subq>
           <me_range>16</me_range>
           <bf>4</bf>
           <keyint_min>25</keyint_min>
           <sc_threshold>40</sc_threshold>
           <i_qfactor>0.71</i_qfactor>
           <b_strategy>2</b_strategy>
           <qcomp>0.6</qcomp>
           <qmin>10</qmin>
           <qmax>51</qmax>
           <qdiff>4</qdiff>
           <b_qfactor/>
           <directpred>3</directpred>
           <trellis>1</trellis>
           <level>30</level>
           <refs>4</refs>
           <wpredp>0</wpredp>
  </video_codec_parameters>
  <audio_codec>libfaac</audio_codec>
  <two_pass>no</two_pass>
  <turbo>yes</turbo>
  <twin_turbo>no</twin_turbo>
  <cbr>no</cbr>
  <deinterlacing>no</deinterlacing>
  <keyframe>200</keyframe>
  <audio_volume>100</audio_volume>
  <rotate>0</rotate>
  <file_extension>mp4</file_extension>
  <hint>no</hint>
</format>
<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Roku 1800k Template

Roku 1800k Template

<format>
  <output>mp4</output>
  <destination>
  <size>1280x720</size>
  <bitrate>1800k</bitrate>
  <audio_bitrate>128k</audio_bitrate>
  <audio_sample_rate>44100</audio_sample_rate>
  <audio_channels_number>2</audio_channels_number>
  <keep_aspect_ratio>yes</keep_aspect_ratio>
  <video_codec>libx264</video_codec>
  <profile>high</profile>
  <VCodecParameters>yes</VCodecParameters>
           <video_codec_parameters>
           <coder>1</coder>
           <flags>+loop</flags>
           <flags2>+wpred+mixed_refs+dct8x8+fastpskip</flags2>
           <partitions>+parti8x8+parti4x4+partp8x8+partb8x8</partitions>
           <me_method>umh</me_method>
           <subq>8</subq>
           <me_range>16</me_range>
           <bf>4</bf>
           <keyint_min>25</keyint_min>
           <sc_threshold>40</sc_threshold>
           <i_qfactor>0.71</i_qfactor>
           <b_strategy>2</b_strategy>
           <qcomp>0.6</qcomp>
           <qmin>10</qmin>
           <qmax>51</qmax>
           <qdiff>4</qdiff>
           <b_qfactor/>
           <directpred>3</directpred>
           <trellis>1</trellis>
           <level>30</level>
           <refs>4</refs>
           <wpredp>0</wpredp>
  </video_codec_parameters>
  <audio_codec>libfaac</audio_codec>
  <two_pass>no</two_pass>
  <turbo>yes</turbo>
  <twin_turbo>no</twin_turbo>
  <cbr>no</cbr>
  <deinterlacing>no</deinterlacing>
  <keyframe>200</keyframe>
  <audio_volume>100</audio_volume>
  <rotate>0</rotate>
  <file_extension>mp4</file_extension>
  <hint>no</hint>
</format>

Roku 1800k Template

<format>
  <output>mp4</output>
  <destination>
  <size>1280x720</size>
  <bitrate>1800k</bitrate>
  <audio_bitrate>128k</audio_bitrate>
  <audio_sample_rate>44100</audio_sample_rate>
  <audio_channels_number>2</audio_channels_number>
  <keep_aspect_ratio>yes</keep_aspect_ratio>
  <video_codec>libx264</video_codec>
  <profile>high</profile>
  <VCodecParameters>yes</VCodecParameters>
           <video_codec_parameters>
           <coder>1</coder>
           <flags>+loop</flags>
           <flags2>+wpred+mixed_refs+dct8x8+fastpskip</flags2>
           <partitions>+parti8x8+parti4x4+partp8x8+partb8x8</partitions>
           <me_method>umh</me_method>
           <subq>8</subq>
           <me_range>16</me_range>
           <bf>4</bf>
           <keyint_min>25</keyint_min>
           <sc_threshold>40</sc_threshold>
           <i_qfactor>0.71</i_qfactor>
           <b_strategy>2</b_strategy>
           <qcomp>0.6</qcomp>
           <qmin>10</qmin>
           <qmax>51</qmax>
           <qdiff>4</qdiff>
           <b_qfactor/>
           <directpred>3</directpred>
           <trellis>1</trellis>
           <level>30</level>
           <refs>4</refs>
           <wpredp>0</wpredp>
  </video_codec_parameters>
  <audio_codec>libfaac</audio_codec>
  <two_pass>no</two_pass>
  <turbo>yes</turbo>
  <twin_turbo>no</twin_turbo>
  <cbr>no</cbr>
  <deinterlacing>no</deinterlacing>
  <keyframe>200</keyframe>
  <audio_volume>100</audio_volume>
  <rotate>0</rotate>
  <file_extension>mp4</file_extension>
  <hint>no</hint>
</format>
<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Roku 1200k Template

Roku 1200k Template

<format>
  <output>mp4</output>
  <destination>
  <size>640x480</size>
  <bitrate>1200k</bitrate>
  <audio_bitrate>192k</audio_bitrate>
  <audio_sample_rate>44100</audio_sample_rate>
  <audio_channels_number>2</audio_channels_number>
  <keep_aspect_ratio>yes</keep_aspect_ratio>
  <video_codec>libx264</video_codec>
  <profile>main</profile>
  <VCodecParameters>yes</VCodecParameters>
           <video_codec_parameters>
           <coder>1</coder>
           <flags>+loop</flags>
           <flags2>+wpred+mixed_refs+dct8x8+fastpskip</flags2>
           <partitions>+parti8x8+parti4x4+partp8x8+partb8x8</partitions>
           <me_method>umh</me_method>
           <subq>8</subq>
           <me_range>16</me_range>
           <bf>4</bf>
           <keyint_min>25</keyint_min>
           <sc_threshold>40</sc_threshold>
           <i_qfactor>0.71</i_qfactor>
           <b_strategy>2</b_strategy>
           <qcomp>0.6</qcomp>
           <qmin>10</qmin>
           <qmax>51</qmax>
           <qdiff>4</qdiff>
           <b_qfactor/>
           <directpred>3</directpred>
           <trellis>1</trellis>
           <level>30</level>
           <refs>4</refs>
           <wpredp>0</wpredp>
  </video_codec_parameters>
  <audio_codec>libfaac</audio_codec>
  <two_pass>no</two_pass>
  <turbo>yes</turbo>
  <twin_turbo>no</twin_turbo>
  <cbr>no</cbr>
  <deinterlacing>no</deinterlacing>
  <keyframe>200</keyframe>
  <audio_volume>100</audio_volume>
  <rotate>0</rotate>
  <file_extension>mp4</file_extension>
  <hint>no</hint>
</format>

Roku 1200k Template

<format>
  <output>mp4</output>
  <destination>
  <size>640x480</size>
  <bitrate>1200k</bitrate>
  <audio_bitrate>192k</audio_bitrate>
  <audio_sample_rate>44100</audio_sample_rate>
  <audio_channels_number>2</audio_channels_number>
  <keep_aspect_ratio>yes</keep_aspect_ratio>
  <video_codec>libx264</video_codec>
  <profile>main</profile>
  <VCodecParameters>yes</VCodecParameters>
           <video_codec_parameters>
           <coder>1</coder>
           <flags>+loop</flags>
           <flags2>+wpred+mixed_refs+dct8x8+fastpskip</flags2>
           <partitions>+parti8x8+parti4x4+partp8x8+partb8x8</partitions>
           <me_method>umh</me_method>
           <subq>8</subq>
           <me_range>16</me_range>
           <bf>4</bf>
           <keyint_min>25</keyint_min>
           <sc_threshold>40</sc_threshold>
           <i_qfactor>0.71</i_qfactor>
           <b_strategy>2</b_strategy>
           <qcomp>0.6</qcomp>
           <qmin>10</qmin>
           <qmax>51</qmax>
           <qdiff>4</qdiff>
           <b_qfactor/>
           <directpred>3</directpred>
           <trellis>1</trellis>
           <level>30</level>
           <refs>4</refs>
           <wpredp>0</wpredp>
  </video_codec_parameters>
  <audio_codec>libfaac</audio_codec>
  <two_pass>no</two_pass>
  <turbo>yes</turbo>
  <twin_turbo>no</twin_turbo>
  <cbr>no</cbr>
  <deinterlacing>no</deinterlacing>
  <keyframe>200</keyframe>
  <audio_volume>100</audio_volume>
  <rotate>0</rotate>
  <file_extension>mp4</file_extension>
  <hint>no</hint>
</format>
<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 2 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Roku 800k Template

Standard Template for 800k

<format>
  <output>mp4</output>
  <destination>
  <size>640x480</size>
  <bitrate>800k</bitrate>
  <audio_bitrate>128k</audio_bitrate>
  <audio_sample_rate>44100</audio_sample_rate>
  <audio_channels_number>2</audio_channels_number>
  <keep_aspect_ratio>yes</keep_aspect_ratio>
  <video_codec>libx264</video_codec>
  <profile>main</profile>
  <VCodecParameters>yes</VCodecParameters>
           <video_codec_parameters>
           <coder>1</coder>
           <flags>+loop</flags>
           <flags2>+wpred+mixed_refs+dct8x8+fastpskip</flags2>
           <partitions>+parti8x8+parti4x4+partp8x8+partb8x8</partitions>
           <me_method>umh</me_method>
           <subq>8</subq>
           <me_range>16</me_range>
           <bf>4</bf>
           <keyint_min>25</keyint_min>
           <sc_threshold>40</sc_threshold>
           <i_qfactor>0.71</i_qfactor>
           <b_strategy>2</b_strategy>
           <qcomp>0.6</qcomp>
           <qmin>10</qmin>
           <qmax>51</qmax>
           <qdiff>4</qdiff>
           <b_qfactor/>
           <directpred>3</directpred>
           <trellis>1</trellis>
           <level>30</level>
           <refs>4</refs>
           <wpredp>0</wpredp>
  </video_codec_parameters>
  <audio_codec>libfaac</audio_codec>
  <two_pass>no</two_pass>
  <turbo>yes</turbo>
  <twin_turbo>no</twin_turbo>
  <cbr>no</cbr>
  <deinterlacing>no</deinterlacing>
  <keyframe>200</keyframe>
  <audio_volume>100</audio_volume>
  <rotate>0</rotate>
  <file_extension>mp4</file_extension>
  <hint>no</hint>
</format>

Standard Template for 800k

<format>
  <output>mp4</output>
  <destination>
  <size>640x480</size>
  <bitrate>800k</bitrate>
  <audio_bitrate>128k</audio_bitrate>
  <audio_sample_rate>44100</audio_sample_rate>
  <audio_channels_number>2</audio_channels_number>
  <keep_aspect_ratio>yes</keep_aspect_ratio>
  <video_codec>libx264</video_codec>
  <profile>main</profile>
  <VCodecParameters>yes</VCodecParameters>
           <video_codec_parameters>
           <coder>1</coder>
           <flags>+loop</flags>
           <flags2>+wpred+mixed_refs+dct8x8+fastpskip</flags2>
           <partitions>+parti8x8+parti4x4+partp8x8+partb8x8</partitions>
           <me_method>umh</me_method>
           <subq>8</subq>
           <me_range>16</me_range>
           <bf>4</bf>
           <keyint_min>25</keyint_min>
           <sc_threshold>40</sc_threshold>
           <i_qfactor>0.71</i_qfactor>
           <b_strategy>2</b_strategy>
           <qcomp>0.6</qcomp>
           <qmin>10</qmin>
           <qmax>51</qmax>
           <qdiff>4</qdiff>
           <b_qfactor/>
           <directpred>3</directpred>
           <trellis>1</trellis>
           <level>30</level>
           <refs>4</refs>
           <wpredp>0</wpredp>
  </video_codec_parameters>
  <audio_codec>libfaac</audio_codec>
  <two_pass>no</two_pass>
  <turbo>yes</turbo>
  <twin_turbo>no</twin_turbo>
  <cbr>no</cbr>
  <deinterlacing>no</deinterlacing>
  <keyframe>200</keyframe>
  <audio_volume>100</audio_volume>
  <rotate>0</rotate>
  <file_extension>mp4</file_extension>
  <hint>no</hint>
</format>
<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Save some time on your encodes!

Save some time with your encodes with this simple step, if you are sourcing from S3, try this URL formatting:

http://[AWS_KEY:AWS_SECRET@][bucket].s3.amazonaws.com/[filename]?nocopy

if 'nocopy' is specified at the end of your URL, the source file will be downloaded directly from your bucket, thus saving time. Please use this only if your buckets are located in the US. If ?nocopy

 More -->

Save some time with your encodes with this simple step, if you are sourcing from S3, try this URL formatting:

http://[AWS_KEY:AWS_SECRET@][bucket].s3.amazonaws.com/[filename]?nocopy

if 'nocopy' is specified at the end of your URL, the source file will be downloaded directly from your bucket, thus saving time. Please use this only if your buckets are located in the US. If ?nocopy is not specified at the end of your URL, the source will be copied to Encoding.com bucket first. This workflow saves you traffic in the case of non-US buckets and more than one encoding task per source.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 10 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Wowza + Encoding.com = Problem solved!

Preparing videos for use with the Wowza Media Server can be accomplished very simply using one of the Wowza Presets on Encoding.com.  Choose a Preset, set a destination location for output files and you're off and running.  You can send output files to any location but most likely you'll want to send them directly to your Wowza server.  

 More -->

Preparing videos for use with the Wowza Media Server can be accomplished very simply using one of the Wowza Presets on Encoding.com.  Choose a Preset, set a destination location for output files and you're off and running.  You can send output files to any location but most likely you'll want to send them directly to your Wowza server.  

 

1. Wowza Preset for Single Bitrate output: quick setup to generate a single video output in .mov format

When using the web interface, select the "Wowza" preset from the Format drop-down menu to generate a static bitrate video output:

For API jobs, use this XML template:

<format>
<output>wowza</output>
<destination>ftp://your.server.com/output/wowza_test_video.mov</destination>
<size>320x240</size>
<bitrate>256k</bitrate>
<audio_bitrate>128k</audio_bitrate>
<audio_sample_rate>48000</audio_sample_rate>
<audio_channels_number>2</audio_channels_number>
<framerate>24</framerate>
<keep_aspect_ratio>yes</keep_aspect_ratio>
<video_codec>libx264</video_codec>
<profile>main</profile>
<audio_codec>libfaac</audio_codec>
<two_pass>no</two_pass>
<turbo>no</turbo>
<twin_turbo>no</twin_turbo>
<cbr>no</cbr>
<deinterlacing>no</deinterlacing>
<keyframe>300</keyframe>
<audio_volume>100</audio_volume>
<file_extension>mov</file_extension>
<hint>no</hint>
</format>

 

2. Wowza Multi-bitrate Preset for Adaptive Bitrate output: quick setup to generate the SMIL index file, output video files (.mov) and the streaming manifest files (.txt)

When using the web interface, select "Wowza Multi-bitrate" from the Format drop-down menu to generate the necessary files for adaptive streaming:

For multi-bitrate API jobs, use this XML template:

<format>
<output>wowza_multibitrate</output>
<destination>ftp://your.server.com/output/wowza_test_video.smil</destination>
<audio_bitrate>128k</audio_bitrate>
<audio_sample_rate>48000</audio_sample_rate>
<audio_channels_number>2</audio_channels_number>
<framerate>24</framerate>
<keep_aspect_ratio>yes</keep_aspect_ratio>
<video_codec>libx264</video_codec>
<profile>wowza_multibitrate</profile>
<VCodecParameters>no</VCodecParameters>
<audio_codec>libfaac</audio_codec>
<two_pass>no</two_pass>
<turbo>no</turbo>
<twin_turbo>no</twin_turbo>
<cbr>no</cbr>
<deinterlacing>no</deinterlacing>
<keyframe>48</keyframe>
<audio_volume>100</audio_volume>
<file_extension>mov</file_extension>
<hint>no</hint>
<bitrates>270k,570k,1000k,1200k,1400k</bitrates>
<sizes>320x180,420x270,720x406,1024x576,1080x608</sizes>
</format>

Sample output SMIL syntax

<smil>
<head>
</head>
<body>
<switch>
<video src="mp4:wowza_multibitrate_aligned_kf_400.mov" system-bitrate="400000"/>
<video src="mp4:wowza_multibitrate_aligned_kf_700.mov" system-bitrate="700000"/>
<video src="mp4:wowza_multibitrate_aligned_kf_1100.mov" system-bitrate="1100000"/>
<video src="mp4:wowza_multibitrate_aligned_kf_1300.mov" system-bitrate="1300000"/>
<video src="mp4:wowza_multibitrate_aligned_kf_1500.mov" system-bitrate="1500000"/>
</switch>
</body>
</smil>

Sample output Smooth Streaming manifest header

<?xml version="1.0" encoding="utf-8"?>
<SmoothStreamingMedia MajorVersion="2" MinorVersion="1" Timescale="10000000" Duration="1471670000">
<StreamIndex Type="audio" Index="0" Chunks="74" QualityLevels="1" Timescale="10000000" Url="QualityLevels({bitrate})/Fragments(audio={start time})/Chunks({chunk id})/WowzaSessions(2133794089).isma">
<QualityLevel Bitrate="127473" FourCC="AACL" SamplingRate="48000" Channels="2" BitsPerSample="16" PacketSize="4" AudioTag="255" CodecPrivateData="1190" />
<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Roku HLS Template

Roku HLS (HTTP Live Streaming) Template

 <format>
 <output>ipad_stream</output>
 <destination>
 <size>0x480</size>
 <bitrate>1024k</bitrate>
 <audio_bitrate>96k</audio_bitrate>
 <audio_sample_rate>44100</audio_sample_rate>
 <audio_channels_number>2</audio_channels_number>
 <keep_aspect_ratio>yes</keep_aspect_ratio>
 <video_codec>libx264</video_codec>
 <VCodecParameters>yes</VCodecParameters>
 <video_codec_parameters>
 <coder>1</coder>
 <flags>+loop</flags>
 <flags2>+wpred+mixed_refs+dct8x8+fastpskip</flags2>
 <partitions>+parti8x8+parti4x4+partp8x8+partb8x8</partitions>
 <me_method>umh</me_method>
 <subq>8</subq>
 <me_range>16</me_range>
 <bf>4</bf>
 <keyint_min>25</keyint_min>
 <sc_threshold>40</sc_threshold>
 <i_qfactor>0.71</i_qfactor>
 <b_strategy>2</b_strategy>
 <qcomp>0.6</qcomp>
 <qmin>10</qmin>
 <qmax>51</qmax>
 <qdiff>4</qdiff>
 <b_qfactor/>
 <directpred>3</directpred>
 <trellis>1</trellis>
 <level>30</level>
 <refs>4</refs>
 <wpredp>0</wpredp>
 </video_codec_parameters>
 <profile>main</profile>
 <audio_codec>libfaac</audio_codec>
 <two_pass>no</two_pass>
 <turbo>yes</turbo>
 <twin_turbo>no</twin_turbo>
 <cbr>no</cbr>
 <deinterlacing>no</deinterlacing>
 <keyframe>300</keyframe>
 <audio_volume>100</audio_volume>
 <rotate>def</rotate>
 <file_extension>tar</file_extension>
 <hint>no</hint>
 <bitrates>1200k,800k,600k,400k,200k,110k</bitrates>
 <framerates>29.97,29.97,29.97,29.97,15,10</framerates>
 <keyframes>90,90,90,90,45,30</keyframes>
 <pack_files>no</pack_files>
 <segment_duration>10</segment_duration>
 <add_audio_only>no</add_audio_only>
 
 More -->

Roku HLS (HTTP Live Streaming) Template

<format>
  <output>ipad_stream</output>
  <destination>
  <size>0x480</size>
  <bitrate>1024k</bitrate>
  <audio_bitrate>96k</audio_bitrate>
  <audio_sample_rate>44100</audio_sample_rate>
  <audio_channels_number>2</audio_channels_number>
  <keep_aspect_ratio>yes</keep_aspect_ratio>
  <video_codec>libx264</video_codec>
  <VCodecParameters>yes</VCodecParameters>
           <video_codec_parameters>
           <coder>1</coder>
           <flags>+loop</flags>
           <flags2>+wpred+mixed_refs+dct8x8+fastpskip</flags2>
           <partitions>+parti8x8+parti4x4+partp8x8+partb8x8</partitions>
           <me_method>umh</me_method>
           <subq>8</subq>
           <me_range>16</me_range>
           <bf>4</bf>
           <keyint_min>25</keyint_min>
           <sc_threshold>40</sc_threshold>
           <i_qfactor>0.71</i_qfactor>
           <b_strategy>2</b_strategy>
           <qcomp>0.6</qcomp>
           <qmin>10</qmin>
           <qmax>51</qmax>
           <qdiff>4</qdiff>
           <b_qfactor/>
           <directpred>3</directpred>
           <trellis>1</trellis>
           <level>30</level>
           <refs>4</refs>
           <wpredp>0</wpredp>
  </video_codec_parameters>
  <profile>main</profile>
  <audio_codec>libfaac</audio_codec>
  <two_pass>no</two_pass>
  <turbo>yes</turbo>
  <twin_turbo>no</twin_turbo>
  <cbr>no</cbr>
  <deinterlacing>no</deinterlacing>
  <keyframe>300</keyframe>
  <audio_volume>100</audio_volume>
  <rotate>def</rotate>
  <file_extension>tar</file_extension>
  <hint>no</hint>
  <bitrates>1200k,800k,600k,400k,200k,110k</bitrates>
  <framerates>29.97,29.97,29.97,29.97,15,10</framerates>
  <keyframes>90,90,90,90,45,30</keyframes>
  <pack_files>no</pack_files>
  <segment_duration>10</segment_duration>
  <add_audio_only>no</add_audio_only>
  <still_image></still_image>
  <still_image_time></still_image_time>
</format>
<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Can I restrict certain types of files from watchfolders?

Want to only process certain files in your watchfolders?  Use our masking controls in the watchfolder UI. Good stuff!

+ Select 'Watchfolder' --> 'Add New' in the UI

+ Under the 'File Name Control' field, add in the type of content you WANT to process. For example, if you want to process only .mp4 content, then the masking

 More -->

Want to only process certain files in your watchfolders?  Use our masking controls in the watchfolder UI. Good stuff!

+ Select 'Watchfolder' --> 'Add New' in the UI

+ Under the 'File Name Control' field, add in the type of content you WANT to process. For example, if you want to process only .mp4 content, then the masking field would contain, '*.mp4.' Add in multiple files types if you like!

+ Please note this functionality is only for file types, and not file names.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 3 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Can I ship Encoding.com a drive to encode my files?

Have a lot of files that you need encoded quickly? No worries. Rather than upload the 400 terabytes of content, ship your drives directly to Amazon and place them on your S3 account. Don't have an S3 account? Sign up for one here . It's quick and painless, I promise. 

---

Prerequisites:

+ Make sure you

 More -->

Have a lot of files that you need encoded quickly? No worries. Rather than upload the 400 terabytes of content, ship your drives directly to Amazon and place them on your S3 account. Don't have an S3 account? Sign up for one here. It's quick and painless, I promise. 

---

Prerequisites:

+ Make sure you have our secret key and access key ID in hand.  The website lays out the directions pretty good from here on out. You'll be asked to create SIGNATURE file & MYMANIFEST.txt

+ Make sure device conforms to S3 Standards. View 'Shipping Your Storage Device':

http://docs.amazonwebservices.com/AWSImportExport/latest/DG/index.html?CHAP_GettingSetUp.html

+ Please note that the Getting Started guide contains lots of other information in there, such as how to exclude directories, so make sure to read through the entire guide smile'

--

1) Familiarize yourself with the Getting Started guide. (Link below) --> Use this as the for main reference point for your ingest projects.
 
 
2) Create a new bucket on your S3 account and give it a name that will be unique to your other buckets, as this will be for ingest-only @ Amazon's closest data center in the domestic US.
 
3) Download and install Amazon's Web Service Tool:
 
 
4) Create the job by following the instructions 'Creating a job' in the Getting Started guide. Be sure to explicitly follow the directions for creating the manifest. This is mission critical stuff, so please check your entires.
 
5) Via command-line, cd into the directory, as specified and run the following >java -jar lib/AWSImportExportWebServiceTool-1.0.jar CreateJob Import MyManifest.txt
This will return your job ID. And the address to send it to:
 
 
7) Amazon will start the upload process 1 business day after the drive has arrived. 
 
Have questions on how much this may cost, excluding shipping? 
 
<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 3 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How do I set permissions on Rackspace files?

If you are used to setting permissions in Amazon buckets, you're probably familiar with S3's style of ACL usage appended to the source URLs. In Rackspace, no URL defined permissions exist. The way to set public versus private permissions is via containers.

Public: Select 'Publish to CDN' in the container properties. This creates a link that allows that

 More -->

If you are used to setting permissions in Amazon buckets, you're probably familiar with S3's style of ACL usage appended to the source URLs. In Rackspace, no URL defined permissions exist. The way to set public versus private permissions is via containers.

Public: Select 'Publish to CDN' in the container properties. This creates a link that allows that particular location to be viewed by anyone. This is the only way to enable public viewing if your videos are stored on Rackspace's CloudFiles. Through this function, Rackspace simultaneously publishes your content to Akamai's CDN. No additional steps are required to enable this feature.  

Private: With a valid username and API Access Key in the source or destination URL, you're allowing Encoding.com to use your credentials to access your content.

 

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Do you have a list of CDNs that Encoding.com works with?

Encoding.com works with all of the major CDNs available.

Pick your favourite, plug in your delivery details and you're good to go!

If you're looking for a concise list of CDNs, please browse to http://www.cdnlist.com

Encoding.com works with all of the major CDNs available.

Pick your favourite, plug in your delivery details and you're good to go!

If you're looking for a concise list of CDNs, please browse to http://www.cdnlist.com

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 2 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How can I use canonical IDs with Encoding.com’s platform?

Want to use S3 as a source location for your material, but you don't want to hand out secret or access keys? Give this a try! Use your canonical ID at the end of the URL string to pass the ownership from Encoding.com to yourself. Alternately, give your source location access via Encoding.com's canonical ID so that we have access

 More -->

Want to use S3 as a source location for your material, but you don't want to hand out secret or access keys? Give this a try! Use your canonical ID at the end of the URL string to pass the ownership from Encoding.com to yourself. Alternately, give your source location access via Encoding.com's canonical ID so that we have access to your files. 

Here's a few scenarios of where canonical IDs come into play with our platform.

+ To send us source videos, without passing keys, ensure that you are giving Encoding.com's canonical ID full access on the destination bucket through the S3 interface. Here's how to accomplish that:

1) Select the bucket you wish to source from in the S3 console. Right click on it and select 'Properties'

2) Under the Permissions tab at the bottom, select the plus button and grant upload/delete access to Encoding.com. Our ID is: 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869.  Once you have entered this ID, it will resolve to fastencoding in a few seconds. Just hang in there. This allows Encoding.com to use its credentials to pull your source files on that particular bucket.

+ To deliver files from Encoding.com to your bucket and make ownership solely yours, please use the following syntax for your destination URLS:

http://your_bucket.s3.amazonaws.com/path/file.ext?acl=private-read&amp;canonical_id

Sample of what an actual canonical S3 output path looks like:

http://mybucket.s3.amazonaws.com/video/output/clive_waterski.mp4?acl=private-read&amp;canonical_id=5ecaabaxaf9da27db13630cedde7f7a652d00a63f3407aa4c21c318d6bdf2dc0

Once this passes into the system, the canonical ID will be restricted from view. Neat, huh? 

Here's an example of what we see on our end:

http://ksc.target.s3.amazonaws.com/test.flv?acl=private-read

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 5 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Do you have any information on Amazon bucket policies?

Yes! Give this a try if you're wanting to incorporate these into your integration method.
 

This policy will allow CloudFront to gain access to private content. 


"Version":"2008-10-17", 
"Id":"PolicyForCloudFrontPrivateContent", 
"Statement":[{ 
"Sid":" Grant CloudFront Origin Identity access to private content", 
"Effect":"Allow", 
"Principal":{ 
"AWS":"arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity PRIVATE" // This is the origin ID specific to our account. 
}, 

 More -->

Yes! Give this a try if you're wanting to incorporate these into your integration method.
 

This policy will allow CloudFront to gain access to private content. 


"Version":"2008-10-17", 
"Id":"PolicyForCloudFrontPrivateContent", 
"Statement":[{ 
"Sid":" Grant CloudFront Origin Identity access to private content", 
"Effect":"Allow", 
"Principal":{ 
"AWS":"arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity PRIVATE" // This is the origin ID specific to our account. 
}, 
"Action":"s3:GetObject", 
"Resource":"arn:aws:s3:::bucketname/*" 
} ]
}

 

 

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 3 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

What can I do—S3 is just not working for me?

You've read all the help articles, you've done your homework, and S3 is still giving you grief.  

Check this one simple thing, and it should help you with your final issues.

Does your source or destination URL look like this:

http://[your_accesskey_code]:[your_secretkey_code]@CLIVETHEGOAT.s3.amazonaws.com/path

Amazon AWS does not recognize capital letters of bucketnames (the part after the @).

 More -->

You've read all the help articles, you've done your homework, and S3 is still giving you grief.  

Check this one simple thing, and it should help you with your final issues.

Does your source or destination URL look like this:

http://[your_accesskey_code]:[your_secretkey_code]@CLIVETHEGOAT.s3.amazonaws.com/path

Amazon AWS does not recognize capital letters of bucketnames (the part after the @). Change that puppy to this:

http://[your_accesskey_code]:[your_secretkey_code]@clivethegoat.s3.amazonaws.com/path

If all is still not well, drop us a line at helpdesk@encoding.com and we'll help you solve your issue with this.

 
<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 2 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

H.264: Using High versus Main profile

A common question for many users is what level profile to use with H.264 encoding for web streaming.

Baseline - for low definition (LD) 320x240 or smaller, compatible with older 3G mobiles
Main - for standard definition (SD) to 640x480, good for modern smartphones and tablets
High - for high definition (HD) to 1920x1080, best for big screens with

 More -->

A common question for many users is what level profile to use with H.264 encoding for web streaming.

Baseline - for low definition (LD) 320x240 or smaller, compatible with older 3G mobiles
Main - for standard definition (SD) to 640x480, good for modern smartphones and tablets
High - for high definition (HD) to 1920x1080, best for big screens with a good decoder

 

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 6 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How can I set up Encoding.com to work with Flowplayer?

Once your encoding job is complete tell your Flowplayer where to find your encoded video on HDDN:
Click on the "Minimal Setup" from your saved setup
View the source code and copy & paste it to your site. Change the clip url to the one you set as the destination in your encoding settings.

It's something like this: ftp://usename:password@hddn-userId.com/examplefolder/sourcevideo.mov

You're

 More -->

Once your encoding job is complete tell your Flowplayer where to find your encoded video on HDDN:
Click on the "Minimal Setup" from your saved setup
View the source code and copy & paste it to your site. Change the clip url to the one you set as the destination in your encoding settings.

It's something like this: ftp://usename:password@hddn-userId.com/examplefolder/sourcevideo.mov

You're almost done! Use Flowplayers direct link or embed code to view your player in a browser and click play to test the entire playback of the video prior to publishing. You can always go back to the encoding.com interface and reencode the video with different encoding parameters to meet your needs. Submit any questions through the "Contact Support" link in your encoding.com control panel.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Double percent-encoding needed for VBScript FTP paths

For VBScript output to work, you may need to percent-encode the destination path twice. Like this.

Regular FTP path:
ftp://username@yourcompany.com:password@server.com/file.m3u8?passive=yes

Single URL (%) encoded - used for some standard FTP configurations
ftp://username%40yourcompany.com:password@server.com/file.m3u8?passive=yes

Double URL (%) encoded - used for VBScript FTP
ftp%3A%2F%2Fusername%2540yourcompany%3Apassword%40server.com%2Ffile.m3u8%3Fpassive%3Dyes

For VBScript output to work, you may need to percent-encode the destination path twice. Like this.

Regular FTP path:
ftp://username@yourcompany.com:password@server.com/file.m3u8?passive=yes

Single URL (%) encoded - used for some standard FTP configurations
ftp://username%40yourcompany.com:password@server.com/file.m3u8?passive=yes

Double URL (%) encoded - used for VBScript FTP
ftp%3A%2F%2Fusername%2540yourcompany%3Apassword%40server.com%2Ffile.m3u8%3Fpassive%3Dyes

<-- Hide

tools: email  |  print  |  share  |  click to rate (rated 3 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Can Encoding.com integrate with Rackspace’s Cloudfiles?

Rackspace’s cloud files represents a failure-proof storage solution that scales to meet your needs, effortlessly. We offer cloud video encoding solutions that are unmatched in the industry. Integrate Rackspace’s Cloud Files and Encoding.com’s powerful processing platform to extend your workflow to infinite possibilities.

Cloud Video Transcoding

Need to monitor a container on a daily basis for new

 More -->

Rackspace’s cloud files represents a failure-proof storage solution that scales to meet your needs, effortlessly. We offer cloud video encoding solutions that are unmatched in the industry. Integrate Rackspace’s Cloud Files and Encoding.com’s powerful processing platform to extend your workflow to infinite possibilities.

Cloud Video Transcoding

Need to monitor a container on a daily basis for new content, or just upload one video at a time? Struggling with cloud video transcoding? No problem. Check out this easy how-to guide on how to use these powerful cloud computing and storage solutions to your advantage.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Can Encoding.com integrate with Amazon Web Services?

Encoding.com offers proven S3 video integration solutions. Amazon Web Services (AWS) comprises a series of remote computing/web services that make your life easier. Infinitely scalable and use AWS with Encoding.com to create a workflow with storage locations and services accessed via HTTP.

Use Encoding.com for all of your cloudfront streaming needs. Amazon’s S3 Interface can be used

 More -->

Encoding.com offers proven S3 video integration solutions. Amazon Web Services (AWS) comprises a series of remote computing/web services that make your life easier. Infinitely scalable and use AWS with Encoding.com to create a workflow with storage locations and services accessed via HTTP.

Use Encoding.com for all of your cloudfront streaming needs. Amazon’s S3 Interface can be used seamlessly with Encoding.com’s compression platform for usage as either as source or destination.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 4 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How can I add multiple destinations to my workflow?

Have many destinations for one workflow? No problem! 

To add multiple destinations to a watchfolder, here's what to do:

1) Select 'Watch Folder,' then 'Add New."

2) Under the destination field, click the [ + ] icon to add in new destination locations. 

3) Ensure that your destination paths are valid across the board.

Want

 More -->

Have many destinations for one workflow? No problem! 

To add multiple destinations to a watchfolder, here's what to do:

1) Select 'Watch Folder,' then 'Add New."

2) Under the destination field, click the [ + ] icon to add in new destination locations. 

3) Ensure that your destination paths are valid across the board.

Want to submit via API? No worries, just add another <destination> tag to your XML. Cool, huh?

That's it! You've just created a simple, easy to edit workflow that can scale up or down to meet the needs of your company.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 27 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How to use the Rackspace Cloud with Encoding.com?

There are a variety of innovative ways that Encoding.com uses the Rackspace Cloud to power its service and make it easy for other Rackspace customers to integrate with Encoding.com. Advanced CloudFiles Integration Using the web interface, watch folder or API, you can specify your Cloud Files account as either source or destination locations. Please see our collection of help articles

 More -->

There are a variety of innovative ways that Encoding.com uses the Rackspace Cloud to power its service and make it easy for other Rackspace customers to integrate with Encoding.com. Advanced CloudFiles Integration Using the web interface, watch folder or API, you can specify your Cloud Files account as either source or destination locations. Please see our collection of help articles on using Cloud Files with Encoding.com.


Automatic Cloud Files CDN Enabled Distribution With Limelight Networks’ service, Cloud Files brings a powerful and easy way to publish content over a world-class, industry leading CDN. A Cloud Files user automatically gets access to this network. Users simply have to mark containers for publishing to CDN and they are readily accessible through the Limelight Networks CDN. The propagation of content to the edge locations is done automatically behind the scene. Users do not have to plan or write any new code to utilize this facility. This workflow is a perfect compliment to Encoding.com as encoded videos can be sent directly to CDN enabled Cloud Files containers automatically producing a http streaming URL to the video. In The Rackspace web control panel, it is a matter of creating a container (the storage compartment for data), uploading objects (the files to serve over CDN), and marking the container as “public”. The container is then assigned a unique URL which can be combined with cbject names to embed in web pages, email messages, blog posts, etc.


For example, you could encode a video with Encoding.com and have it sent directly to a Container called “video”. When this Container is published, it will be assigned a unique URL like “http://c0000532.cdn.cloudfiles.rackspacecloud.com″ You could then publish a CDN enabled public link like “http://c0000532.cdn.cloudfiles.rackspacecloud.com/my_movie.flv.”. When that link is accessed, the video is automatically streamed using HTTP progressive from the CDN; it’s that simple!


Speed The media upload and download time from your Rackspace Cloud Files container, Cloud Servers, Rackspace Managed Hosting dedicated servers, or the Limelight CDN network to our processing system on CloudServers is lightening fast because it does not travel over the public internet.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Do you support integration with Brightcove?

We sure do! Take a moment to look at this link, regarding documentation of integration. http://www.encoding.com/wdocs/BCIntegration

We sure do! Take a moment to look at this link, regarding documentation of integration. http://www.encoding.com/wdocs/BCIntegration

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 3 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Suggestions for improving quality with H.264 settings

Since users often will be uploading a wide variety of videos, I generally like to break them down into two types:

Static/Low Action - stable tripod shots, very little background movement, actors standing still 
Active/High Action - panning/jerky camera, lots of action, sports-like movement

A good starting point is to choose a variable bitrate setting equal

 More -->

Since users often will be uploading a wide variety of videos, I generally like to break them down into two types:

Static/Low Action - stable tripod shots, very little background movement, actors standing still 
Active/High Action - panning/jerky camera, lots of action, sports-like movement

A good starting point is to choose a variable bitrate setting equal to the width of the video. So, for example: 640x480 SD at 640 kilobits per sec (kbps), or 1280x720 HD at 1280 kbps. Higher action video may require a slightly higher bitrate to prevent blocking artifacts.

Noise Reduction

Applying some noise reduction is useful to save bits for high detail regions, but be careful not to overdo it. I've seen video samples where whole areas of ocean and grassy fields disappear to achieve a lower bitrate. This of course, falls under artistic preference, but generally I'd rather see a smaller framesize and more detail. At low bitrates, it is increasing important to improve the quality of noisy video sources, such as film containing lots of grain or video shot in low light. The 3D noise reduction in ffmpeg allows control over both luma and chroma values for fine-tuning your output image quality.

	<noise_reduction>4:3:6</noise_reduction> 

luma_spatial – Spatial Luma Strength. Allowed values: [0,255]
chroma_spatial – Spatial Chroma Strength. Allowed values: [0,255]
luma_temp – Temporal Luma Strength. Allowed values: [0,255]

General recommended starting value is 4:3:6. [luma_spatial:chroma_spatial:luma_temp] Noise reduction is also available via our web interface as the High Quality 3D Denoiser option.

 

Single Pass vs. Two Pass

For most purposes 2-pass encoding achieves very good results. It's a tradeoff of diminishing returns, 2-pass gaining perhaps 10% quality bit-for-bit but doubling the encoding time. Do not lower qcomp, CBR is horrible on quality. I'd experiment with values floating between 0.60 and 0.80 if you want more VBR. if qcomp = 1.00 then quantizer is constant for second pass. Real variable bitrate with constant quality. if qcomp = 0.00 then bitrate is constant for second pass. Real constant bitrate with variable quality.

<two_pass>yes</two_pass>

I'd recommend having two sample videos, tell your users to choose Low or High Action content setting, experiment a bit with your B-frames then define two "baseline" settings for each bitrate. For web video it's best to narrow your targets to four different bitrates at most, especially if you are going to be processing thousands of users uploading. Most folks have a slow (up to 240kbits), good (~700kbits), or fast (2mbits and higher) connection. I'd say H.264 over 2mbits is generally overkill for website content. For general purposes, I'd recommend 2-pass and we push a 10 second keyframe interval (300 frames) which may not be appropriate for "high-action" source video.

For more detail on H.264 controls for scenecut thresholds, B-frames, and more, please refer to:

Advanced H.264 Guide http://sites.google.com/site/linuxencoding/x264-ffmpeg-mapping

H.264 parameters for our API http://www.encoding.com/help/article/advanced_configuration_options_for_the_libx264_video_codec

An excellent collection of HD videos at 2mbits/sec can be found at http://californiaisaplace.com/cali/ 

 

16x16 Macroblocks

H.264/AVC does a much more efficient job when the horizontal and vertical framesize dimensions are multiples of 16. Good examples include:

SD (4:3) aspect ratios: 320x240, 432x320, 480x360, 544x400, 640x480, 768x576
HD (16:9) aspect ratios: 432x240, 576x320, 640x360, 720x400, 848x480, 1024x576, 1280x720, 1920x1080

In 4:2:0 H.264/AVC coding, each block contains 4 luminance samples (Y), 1 blue sample (Cb), and 1 red sample (Cr). Modern video decoding chips (GPUs) are optimized for playback of 16x16 macroblocking.

 

Keyframes and GOPs

Low action scenes generally handle more bidirectional (B-frames) better since they don't have to track interframe motion as aggressively. Higher action content will require more keyframes (I-frames) to keep the picture from breaking apart. Longer GOPs with more B-frames also require more buffering by the playback GPU to recursively track the motion for each macroblock. Fortunately, x264 offers very good scene detection, which is why for most applications, we set keyframes to 300.

H.264/AVC sample for modern mobiles (30 fps with a 10 second GOP)

	<framerate>30</framerate>
	<keyframe>300</keyframe>

For older computers, and early generations of iPod and Blackberry phones, the chips might not have enough processing power and memory to successfully buffer longer GOPs. Keep your bitrates low, try lower framerates, and shorter GOPs.

H.264/AVC sample for older mobiles (15 fps with a 4 second GOP)

	<framerate>15</framerate>
	<keyframe>60</keyframe>

More information about GOPs available on wiki http://en.wikipedia.org/wiki/Group_of_pictures

 

Turbo Mode

NOTE: For bigger or longer HD encoding jobs, turbo mode is absolutely recommended since you will see speed gains in the neighborhood of 3x faster vs. normal mode. Please be aware turbo is running on more powerful encoders, so it costs an extra $1 per gigabyte.

<turbo>yes</turbo>

 

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 8 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How can I use a Amazon S3 file as a source?

Using Amazon S3 is a snap. Follow these directions to get you started

1) Manually set the Amazon S3 object to have READ permission for the AWS user fastencoding: 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869.

This is a requirement for encoding.com to read the file(s).  To do this, log into your AWS console, right click on the bucket and select 'Properties' Add the

 More -->

Using Amazon S3 is a snap. Follow these directions to get you started

1) Manually set the Amazon S3 object to have READ permission for the AWS user fastencoding: 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869.

This is a requirement for encoding.com to read the file(s).  To do this, log into your AWS console, right click on the bucket and select 'Properties' Add the string and wait for a moment, as it resolves to 'fastencoding'. Give this user upload/delete permissions.

2) Use the following format for the source url: http://[bucket].s3.amazonaws.com/[filename] Amazon provides some excellent documentation about ACL permissions, visit this link for details:

http://docs.amazonwebservices.com/AmazonS3/latest/dev/

Important notes: 

**Do not use capitalization in your bucket names. You will receive a 403 error. Please only use lowercase letters.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 5 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How do I correct issues with “Content-Disposition: attachment” header defined on Amazon S3 accounts?

If you're having issues with S3 storage forcing a download when viewing the URL, you can correct this issue very easily by specifying a custom content type. Simply append &content_type= to your S3 destination. For example: http://dbucketname.destination.s3.amazonaws.com/no_ext_file_with_cont_type?acl=public-read&content_type=video/mp4D
If you're having issues with S3 storage forcing a download when viewing the URL, you can correct this issue very easily by specifying a custom content type. Simply append &content_type= to your S3 destination. For example: http://dbucketname.destination.s3.amazonaws.com/no_ext_file_with_cont_type?acl=public-read&content_type=video/mp4D <-- Hide
tools: email  |  print  |  share  |  click to rate (rated 2 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How do I use Rackspace Cloud Files as the source or destination location?

The Rackspace Cloud Files platform does not offer the FTP method to send files to their service. Encoding.com added support for our customers to send encoded videos directly to their platform.To specify the source file or output file(s) to be put in a Rackspace Cloud Files folder, you can specify your source or destination URL in a few different ways

 More -->

The Rackspace Cloud Files platform does not offer the FTP method to send files to their service. Encoding.com added support for our customers to send encoded videos directly to their platform.To specify the source file or output file(s) to be put in a Rackspace Cloud Files folder, you can specify your source or destination URL in a few different ways different ways:

1) Virtual URL: http://RS_USER:RS_KEY@storage.cloudfiles.com/actual_container_name/file.ext - Please note the usage of the word 'Virtual' as this formatting is not going to be visible as your browse your Rackspace account. You must create this formatting by following the steps below:

a) Browse to 'Your Account' on your Rackspace control panel and select 'API access'

b) Pull your username and API key and use them to format your URL as listed below.

For example's sake, lets use Encoding123 for the user name and XYZ as the shortened version of what the API key would be.

http://Encoding123:XYZ@storage.cloudfiles.com/actual_container_name/file.ext

Please make sure to fully swap out the information if your URL looks like this: http://c44729.r29.cf2.rackcdn.com/Test.mov Change it to: http://Encoding123:XYZ@storage.cloudfiles.com/Source/Test.mov

---

2) If you select 'Publish to CDN' on the container that you have the source files stored in, Rackspace will generate a unique URL, like http://c12345.r01.cf2.rackcdn.com/test.mov. This URL is now available to the public via this link, and is also simultaneously published to Akamai's CDN. 

 

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 5 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Assigning proper MIME types for Amazon S3 output

The “Content-Type” of a video is an important and in most cases required MIME type for streaming video. Amazon S3 simply echos back whatever MIME type you send when you upload the file. You can set the content-type parameter of a video before sending it to Amazon by appending &content_type= to your S3 destination, for example: http://dbucketname.destination.s3.amazonaws.com/no_ext_file_with_cont_type?acl=public-read&content_type=video/mp4 Note: For .3gp

 More -->

The “Content-Type” of a video is an important and in most cases required MIME type for streaming video. Amazon S3 simply echos back whatever MIME type you send when you upload the file. You can set the content-type parameter of a video before sending it to Amazon by appending &content_type= to your S3 destination, for example: http://dbucketname.destination.s3.amazonaws.com/no_ext_file_with_cont_type?acl=public-read&content_type=video/mp4 Note: For .3gp files: Use content_type=video/3gpp For .flv files: Use content_type=video/x-flv We are still looking into a way to set this as a batch server side, such as you would configuring an FTP directory. For now, the Amazon S3 web user interface does allow you to individually modify the properties of each file. Select the file, view Properties, then click the Metadata tab at the bottom. Type in the new value, then click the Save button to apply the new MIME type to the file.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 4 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

What is the IP range of your system so I may restrict access on a firewall?

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" Untitled Document

We use both Amazon EC2 and Rackspace Cloud for our video processing.
Notification HTTP posts are coming from 67.192.242.205 or 67.192.242.206
API requests are sent to manage.encoding.com at 67.192.243.9

Port Assignments

FTP on port 21
SFTP on port 22
HTTP on port 80
HTTPS on port

 More -->
Untitled Document

We use both Amazon EC2 and Rackspace Cloud for our video processing.
Notification HTTP posts are coming from 67.192.242.205 or 67.192.242.206
API requests are sent to manage.encoding.com at 67.192.243.9

Port Assignments

FTP on port 21
SFTP on port 22
HTTP on port 80
HTTPS on port 443

Amazon EC2 (updated May 2011)

Please refer to AWS forum post https://forums.aws.amazon.com/ann.jspa?annID=1030 for more details.

US East (Northern Virginia)

216.182.224.0/20 (216.182.224.0 - 216.182.239.255)
72.44.32.0/19 (72.44.32.0 - 72.44.63.255)
67.202.0.0/18 (67.202.0.0 - 67.202.63.255)
75.101.128.0/17 (75.101.128.0 - 75.101.255.255)
174.129.0.0/16 (174.129.0.0 - 174.129.255.255)
204.236.192.0/18 (204.236.192.0 - 204.236.255.255)
184.73.0.0/16 (184.73.0.0 – 184.73.255.255)
184.72.128.0/17 (184.72.128.0 - 184.72.255.255)
184.72.64.0/18 (184.72.64.0 - 184.72.127.255)
50.16.0.0/15 (50.16.0.0 - 50.17.255.255)
50.19.0.0/16 (50.19.0.0 - 50.19.255.255)
107.20.0.0/15 (107.20.0.0 - 107.21.255.255) NEW

US West (Northern California)

204.236.128.0/18 (216.236.128.0 - 216.236.191.255)
184.72.0.0/18 (184.72.0.0 – 184.72.63.255)
50.18.0.0/16 (50.18.0.0 - 50.18.255.255) NEW

EU (Ireland)

79.125.0.0/17 (79.125.0.0 - 79.125.127.255)
46.51.128.0/18 (46.51.128.0 - 46.51.191.255)
46.51.192.0/20 (46.51.192.0 - 46.51.207.255)
46.137.0.0/17 (46.137.0.0 - 46.137.127.255)
46.137.128.0/18 (46.137.128.0 - 46.137.191.255) NEW

Asia Pacific (Singapore)

175.41.128.0/18 (175.41.128.0 - 175.41.191.255)
122.248.192.0/18 (122.248.192.0 - 122.248.255.255)
46.137.224.0/19 (46.137.224.0 - 46.137.255.255) NEW

Asia Pacific (Tokyo)

175.41.192.0/18 (175.41.192.0 - 175.41.255.255)
46.51.224.0/19 (46.51.224.0 - 46.51.255.255)

Rackspace Cloud Servers

204.232.192.* - 204.232.207.*
173.203.194.* - 173.203.223.*
174.143.152.* - 174.143.173.*

S3 Storage Access

Almost every corporate firewall will allow outgoing access to the web at ports 80 and/or 443, or via an HTTP/HTTPS proxy. Can you access https://s3.amazonaws.com from behind the firewall? If so, you can access S3 storage.

Localization

For specific access at a corporate location behind a firewall needing an IP range, please try these steps.

1. From a command prompt use dig or nslookup to lookup an IP for s3.amazonaws.com

2. Take the IP you get (I get 207.171.187.117) and run a whois query on it. If you aren't on a system that has whois installed there are several websites that provide it, including Network Solutions at http://www.networksolutions.com/whois/index.jsp

3. On there you will see the range of IP addresses Amazon owns around the IP that you found. So for me, when I whois the above IP the following result comes back:

"Amazon.com, Inc. AMAZON-01 (NET-207-171-160-0-1) 207.171.160.0 - 207.171.191.255"

NOTE: s3.amazonaws.com is a CNAME for s3-1.amazonaws.com and s3-2.amazonaws.com

The two ranges of IPs I see assigned for these are:
72.21.192.0 - 72.21.223.255
207.171.160.0 - 207.171.191.255

You might get completely different IP ranges based on where you are in the world. Just follow these steps to localize.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 3 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Setting S3 permissions for thumbnails

AWS authentication access is currently not implemented for thumb_destination.
Alternatively you can create a separate task with output=thumbnail to use this
feature:
 
To quote our API documentation:
 
Instead of using thumb_ parameters within <format>, you can specify
separate encoding task with output = thumbnail:
 
   <format>
   <!--
 More -->
AWS authentication access is currently not implemented for thumb_destination.
Alternatively you can create a separate task with output=thumbnail to use this
feature:
 
To quote our API documentation:
 
Instead of using thumb_ parameters within <format>, you can specify
separate encoding task with output = thumbnail:
 
   <format>
   <!-- Format fields -->
       <output>thumbnail</output>
       <time>[Time]</time>    
       <width>[Width]</width>
       <height>[Size]</height>
   <!-- Destination fields -->
       <destination>[DestFile]</destination>
   </format>   
<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 3 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Setting permissions for Amazon S3 bucket delivery from Encoding.com

Amazon access permissions are set by the user who creates the object. By default, when Encoding.com sends a encoded file to a user's Amazon S3 bucket it sets the permissions of this file to authenticated-read


If you want your file to be public readable, add ?acl=public-read to your destination URL, like this:

http://your.bucket.s3.amazonaws.com/folder/file.ext?acl=public-read


This

 More -->

Amazon access permissions are set by the user who creates the object. By default, when Encoding.com sends a encoded file to a user's Amazon S3 bucket it sets the permissions of this file to authenticated-read


If you want your file to be public readable, add ?acl=public-read to your destination URL, like this:

http://your.bucket.s3.amazonaws.com/folder/file.ext?acl=public-read


This will allow you to share your file with all web users - the file is accessible via this URL:

http://your.bucket.s3.amazonaws.com/folder/file.ext.


 If otherwise, you don't want to share your file with anybody, you can make encoding.com to save your file using specific Amazon credentials. In this case you have to specify your AWS Access Key and Secret Access Key in your destination URL:


http://AWS_KEY:AWS_SECRET@your.bucket.s3.amazonaws.com/fooder/file.ext

The file is now accessible only by that user.  If the user wants to own the destination file and grant permissions for it, specify both AWS credentials and the ACL:


http://AWS_KEY:AWS_SECRET@your.bucket.s3.amazonaws.com/fooder/file.ext?acl=authenticated-read

Also note, we must percent-encode (URL escaping - see the full help article here) the Secret Access Key, as it contains the special URL characters: ':' and '/'. The percent-encoded Secret Access Key is:

lQT5MsQLirc8owb%3ASxX%2F9EhU4MQarasFelQ0v2M


Once the Secret Access Key is properly percent-encoded, it can be added to the address string, the destination URL would look like this:

http://1ZG3YAKJ8W0VOA9L7WT6:lQT5MsQLirc8owb%3ASxX%2F9EhU4MQarasFelQ0v2M@encode.video.s3.amazonaws.com/v/encoded/

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 3 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How to Send Files to hddn.com via Encoding.com

When using encoding.com to generate video for hddn.com, video can be directly uploaded to the FTP service hddn provides. HDDN requires passive FTP mode, so the path will require the URL string to append ?passive=yes.

For example: ftp://username:password@ftp.hddn.com/path/filename.ext?passive=yes
This will solve any issues with upload errors from our service and get the files delivered to hddn.com properly. This also

 More -->

When using encoding.com to generate video for hddn.com, video can be directly uploaded to the FTP service hddn provides. HDDN requires passive FTP mode, so the path will require the URL string to append ?passive=yes.

For example: ftp://username:password@ftp.hddn.com/path/filename.ext?passive=yes
This will solve any issues with upload errors from our service and get the files delivered to hddn.com properly. This also applies to watch folders.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 1 time):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

How can I specify where my source media is located?

As a source media you must specify an URL that could be of three types:
1) http://[user]:[password]@[server]/[path]/[filename] or
2) ftp://[user]:[password]@[server]/[path]/[filename] or
3) http://[your_bucket].s3.amazonaws.com/[path]/[filename]
You can omit [user]:[password]@ in case of public (not password protected) resources. In last case, the bucket must have READ permission for AWS user 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869.

As a source media you must specify an URL that could be of three types:
1) http://[user]:[password]@[server]/[path]/[filename] or
2) ftp://[user]:[password]@[server]/[path]/[filename] or
3) http://[your_bucket].s3.amazonaws.com/[path]/[filename]
You can omit [user]:[password]@ in case of public (not password protected) resources. In last case, the bucket must have READ permission for AWS user 1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 3 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Amazon S3 Integration Overview

Encoding.com was developed to work seamlessly with the Amazon S3 storage service as either the source location of your video library or the destination location where we send videos after encoding is complete. A basic understanding of Amazons ACL permissions is recommended and we would highly recommend reading through our articles on integrating Amazon S3 with Encoding.com.

 More -->

Encoding.com was developed to work seamlessly with the Amazon S3 storage service as either the source location of your video library or the destination location where we send videos after encoding is complete. A basic understanding of Amazons ACL permissions is recommended and we would highly recommend reading through our articles on integrating Amazon S3 with Encoding.com.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 4 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter

Using Amazon S3 with the Watch Folder

AWS watch folders are a beautiful thing. Let's lay out a couple ground rules before we begin, shall we?

+ Make sure your destination is NOT a source location subfolder. You should NOT use /some_path/videos as a source and /some_path/videos/encoded as a destination unless you want an infinite loop.

+ The destination should be in a separate bucket

 More -->

AWS watch folders are a beautiful thing. Let's lay out a couple ground rules before we begin, shall we?

+ Make sure your destination is NOT a source location subfolder. You should NOT use /some_path/videos as a source and /some_path/videos/encoded as a destination unless you want an infinite loop.

+ The destination should be in a separate bucket or folder, ideally.

+ Do not use capital letters in your bucket names.

1) Specify the URL

You source and destination URLs would be:
http://encode.video.s3.amazonaws.com/v/source/
http://encode.video.s3.amazonaws.com/v/encoded. Ensure to add on your secret keys to the URL for the watchfolder, unless your buckets are public. In that case, it would look like this:

http://your_accesskey_code:your_secretkey_code@encode.video.s3.amazonaws.com/v/source/


2) Set the bucket ACLs

To let Encoding.com read bucket contents and save the results, add UPLOAD and DELETE permission for the AWS user fastencoding (1a85ad8fea02b4d948b962948f69972a72da6bed800a7e9ca7d0b43dc61d5869). Please no not use 'fastencoding' as is, use the long string, as it will resolve to the user fastencoding. 
If you use separate buckets for source and destination, note that you destination bucket MUST have READ permission as well as WRITE (upload/delete), in order for Encoding.com to verify the results of the file delivery.

3) Specify output file permissions

By default, results saved by Encoding.com have READ permission for all authenticated AWS users. What if we need to share results with the other users, or make the file visible to the web? To make Encoding.com set READ permission for ALL users, just add ?acl=public-read to the end of your destination URL:


http://encode.video.s3.amazonaws.com/v/encoded/?acl=public-read


Now your files are accessible though HTTP for browser viewing. You can now use the URL of the file to view the video and share with other users. 

4) Specifying your AWS credentials.

Sometimes you may need the result files saved to your bucket by Encoding.com to have permissions for a specific user, such as yourself. In this case you can specify your AWS Access Key and Secret Access Key in the URL. You won't need to add any permissions to the bucket in this scenario:

Say the Access Key and the Secret Access Key are:
1ZG3YAKJ8W0VOA9L7WT6
lQT5MsQLirc8owb:SxX/9EhU4MQarasFelQ0v2M. First, we must percent-encode the Secret Access Key, as it contains the special URL characters: ':' and '/'. The percent-encoded Secret Access Key is:
 lQT5MsQLirc8owb%3ASxX%2F9EhU4MQarasFelQ0v2M


Once the Secret Access Key is properly percent-encoded, it can be added to the address string, the destination URL would look like this:
http://1ZG3YAKJ8W0VOA9L7WT6:lQT5MsQLirc8owb%3ASxX%2F9EhU4MQarasFelQ0v2M@encode.video.s3.amazonaws.com/v/encoded/

Please contact Support if you are experiencing any issues building your S3 workflow.

<-- Hide
tools: email  |  print  |  share  |  click to rate (rated 63 times):
  • BlinkList
  • Del.icio.us
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • MySpace
  • Newsvine
  • Reddit
  • Sphinn
  • Technorati
  • Twitter