This article shows you how to:

Obtaining the Amazon AWS access credentials

Skip to next section (step 12.) if you don't want to protect your video against unauthorized downloads.

  1. First login into your Amazon AWS at https://console.aws.amazon.com/, make sure you are on the same account where you Amazon S3 buckets are and then click "IAM - Secure AWS Access Control" in the menu:
    amazon aws menu iam
    Amazon AWS Menu
  2. Once the IAM screen opens, go to "Users" -> "Create New Users":
    amazon iam menu
    Creating new user in IAM
  3. Enter your IAM user name, make sure "Generate an access key for each User" is on and click "Create":
    amazon iam create user
    Creating new user in IAM
  4. Once the user is created, you will see a confirmation window. Click "Show User Security Credentials" in this window, that will shows you the "Access Key ID" and "Secret Access Key":
    amazon iam show user security credentials
    Be careful to copy the access keys
  5. Copy these keys and paste them into "FV WordPress Flowplayer Settings" -> "Amazon S3 Protected Content" on your website in a new browser tab. You will also need Amazon bucket name and the location of your bucket which we will create in next section of this guide:
  6. amazon s3 1

    And paste them into FV Flowplayer settings right away
  7. Now that you have stored the keys, you can go back to your "Create User" dialog and click "Close Window". There will be one more confirmation window - it warns you that it's very important that you store these credentials, as you won't be able to get them later. You will have to create a new set of access keys for the user if you have lost these.
    amazon iam credentials copied
    You won't get these credentials of Amazon again!
  8. Last step is to make sure this user has read-only access to the files only. Once you close the above window, select your new user from the list, click the "Permissions" tab and "Attach User Policy" button:

    amazon iam permissions
    Attaching User Policy
  9. Next select the desired permissions. Our player only needs to be able to read the video files, so select "Read Only Access":

    amazon iam permissions select
    Select Policy Template
  10. Next windows lets you enter custom settings for the policy, just click "Apply":

    amazon iam permissions apply
    Apply Policy
  11. This is what you will then see in the "Permissions" tab:

    amazon iam permissions in effect
    Amazon IAM User Permissions in effect
  12. That's it. Now the access keys can be used to play private videos from your Amazon S3 account.

Uploading the files and setting their properties

There are tools which allow you to upload these files without using the web browser, but for smaller number of files you can just use the web interface:

  1. First login into your Amazon AWS at https://console.aws.amazon.com/ and then click "S3" in the menu:
    amazon aws menu s3
    S3 in Amazon AWS Menu
  2. Next you have to create your first bucket where you put your videos:

    amazon s3 create bucket
    Create your first bucket
  3. Select your bucket name (it must be unique), select your location and click "Create":

    amazon s3 create bucket dialog
    Enter the bucket name and hit "Create"
  4. Once the bucket is created, you need to open it to upload files:

    amazon s3 bucket ready
    List of your Amazon S3 buckets
  5. If you are interested in the file protection, also enter the bucket name an its location into Settings > FV WordPress Flowplayer -> Amazon S3 Protected Content -> "Amazon Bucket" and "Region" fields. Obtaining the access keys is described in the Obtaining the Amazon AWS access credentials section of this document, it goes into the "Access Key ID" and "Secret Access Key" fields

    amazon s3 2

    There is also the "Default Expire Time" field. When you post your video we check its length and make sure the link expiration time is big enough for the video to buffer properly. This default expire time is used if the check fails.

    If you use a WordPress cache plugin:

    1. Make sure you set the "Default Expire Time" to twice as much as your cache timeout and check "Force the default expiration time" checkbox. Otherwise the video source URLs in the cached HTML will expire and the videos won't be playable. This way the video duration won't be used for calculation of expiry time.
    2. If you only use the protected Amazon S3 videos only for your membership section, make sure the cache plugin is turned off for logged in users :
      • If you use Hyper Cache, it already excludes logged in members from cache (read why we recommend Hyper Cache over other plugins)
      • If you use WP Super Cache, turn on Settings -> WP Super Cache -> Advanced -> "Don’t cache pages for known users."
      • If you use W3 Total Cache, make sure Performance -> Page Cache -> "Don't cache pages for logged in users" is on
      • If you use other plugin, you should be able to find this settings as well.
  6. Once your bucket opens, you will see there are no files yet. You need to click "Upload":

    amazon s3 bucket opened
    Upload files
  7. You need to pick the files from your computer and click "Start Upload":

    amazon s3 bucket upload
    Start uploading the files
  8. The files starts uploading, you will see a progress bar:

    amazon s3 bucket uploading
    File uploading...
    amazon s3 bucket uploaded
    File successfully uploaded!
  9. Once the file is uploaded, you will see it in the bucket. Click its name and the open its properties:

    amazon s3 bucket file
    Checking file properties
  10. In the "Properties" pane, you can see the video URL ("Link" field) and various file properties:

    amazon s3 file properties
    Amazon S3 File Properties

    Copy this URL, you will put it into the [fvplayer] shortcode, see the basic video posting guide.

  11. To make the video accessible to everyone - you need to open the Permissions section and make sure "Everyone" is allowed to download and view the file. If it's not so, you can add "Everyone" by clicking "Add more permissions", then selecting "Everyone" from the drop down menu and checking "Open/Download" and "View Permissions". Don't forget to click "Save".
  12. If you are interested in the file protection, make sure only your account is present in list of permissions and it has all the access. Obtaining the access keys required for playback of private files s described in the Obtaining the Amazon AWS access credentials section of this document.

    amazon s3 file permissions private
    Private File Permissions
  13. Last step, double check that the file has the proper Mime type selected. Do so it the "Metadata" tab. This ensures maximum video compatibility. Here are the correct Content-Types (mime types) for various file extensions. It should not be application/octet-stream:

    .mp4 video/mp4
    .webm video/webm
    .ogv video/ogg
    .m4v video/x-m4v
    amazon s3 file meta
    Changing Meta Type for file

    In case your Mime type is not set up properly, please follow our guide.

  14. If the video doesn't play, make sure you check it out when you are logged in as admin. You will notice a message in the top left corner of the video. If it's green and "Video OK", it means our video checker found no issues.

    If you don't see any message then double check that Settings -> FV WordPress Flowplayer -> Sitewide Flowplayer Defaults -> "Disable admin video checker" is not checked.

    fv flowplayer video error
    FV Flowplayer - Admin Video Checker
  15. Clicking that error reveals error details.

    fv flowplayer video error details
    FV Flowplayer - Admin Video Checker - Details
    • Access to video forbidden (HTTP 403) - typically means that your video file is private and there are no keys for the bucket. So you need to:
      • make sure you setup the access keys (step 1. - 11.).
      • if you already have the access keys, make the video public (step 22.) and rename the Amazon Bucket in step 16. temporarily to disable the URL signature and test. If that works, then the access keys are invalid or the IAM user is not set properly (step 7. - 10.)
    • The AWS Access Key Id you provided does not exist in our records - means that you provided a bad access key
    • We recommend that you check this guide step-by-step to find the cause of the issue
    • Also do some basic troubleshooting:
      • try setting up a new key pair for your IAM user - perhaps you just failed to copy the key properly
      • try setting up a new IAM user altogether - are you using the same AWS account which has the S3 buckets?
      • try to setup a new Amazon S3 bucket and start with pubic permissions
  16. If the video checker says "Admin: Video OK", then your setup works - the video is up and plays! The video URL is visible in the page HTML, but it's only valid for a short time (depending on your preset default expiry time or the video length), so the video can't be linked on other websites.