Note: Please go to docs.rightscale.com to access the current RightScale documentation set. Also, feel free to Chat with us!
Home > Clouds > Google > Tutorials > Transcode Videos on Google Compute Engine

Transcode Videos on Google Compute Engine

 

logo-Google_Compute_Engine-v1.png

Objective

To create an automated video transcoding configuration using three RightScale ServerTemplates in Google Compute Engine.

Table of Contents

Prerequisites

The following prerequisites are required to complete this tutorial:

Overview

Google Compute Engine is an IaaS and PaaS offering, built on the same infrastructure that powers Google’s global operations. This tutorial utilizes a simple configuration using three ServerTemplates to push jobs into a queue from a producer server and render the videos using a consumer server to demonstrate the consistent performance of Google Compute Engine. 

Steps

Create a Security Group

Before you launch a server in the Google Compute Engine cloud, make sure you create a Security Group to allow communication among servers in your deployment and define who can initiate communication with those servers.

  1. Go to Clouds > Google > Security Group.
  2. Create a new Security Group. Set up the following ports:

screen-GCEServerDetails.png

For your generic example security group, open the following protocols and ports:

  • TCP: 80
    • Keep the default IPs value as 0.0.0.0/0. This value allows access to the specified port from any IP address, whereas '0.0.0.0/32' denies access to all IP addresses (which is equivalent to not opening the port at all).
    • Enter 80 in both port fields since you are only opening up a single port and not a range of ports.
    • This allows for HTTP access to servers in the security group.
  • TCP: 22 
    • Keep the default IPs value as 0.0.0.0/0.
    • Enter 22 in both port fields.
    • This enables SSH access to servers in the security group.
  • TCP: 5672 
    •  Keep the default IPs value as 0.0.0.0/0.
    • Enter 5672 in both port fields.
    • This allows the Producer and Consumer to communicate with the RabbitMQ server.

Create a Deployment

After setting up your security group, you must first create a new deployment which acts as a logical grouping of related servers. In this example, you will add three servers to the deployment: GCE Demo - RabbitMQ server, GCE Demo - Video Transcode Consumer server, and the GCE Demo - Video Transcoder Producer server. Keep in mind that this is for testing purposes, deployments are commonly used for organizational purposes where you group a set of servers together that belong to the same project, such as a production or staging environment.

  1. Log into the RightScale Dashboard and go to Manage > Deployments.
  2. Create a new deployment. Provide a meaningful nickname and description.

Import ServerTemplates

The next step is to import the ServerTemplates to launch your servers.

  1. Go to Design > MultiCloud Marketplace > ServerTemplates.
  2. Import the most recent revision of the following ServerTemplates:
    • GCE Demo - RabbitMQ
    • GCE Demo - Video Transcode Producer
    • GCE Demo - Video Transcode Consumer

Add Servers

From your deployment, add the first server using the GCE Demo - RabbitMQ ServerTemplate.

  1. First, from your deployment, click Add Server.
  2. Choose Google as your cloud and click Continue.

File:09-Clouds/Google/Tutorials/Transcode_Videos_on_Google_Compute_Engine/screen-GCEAddServertoDeployment.png

  1. Enter GCE Demo - RabbitMQ as the ServerTemplate Name, select the ServerTemplate, and click Server Details. Make sure the latest ServerTemplate Revision is selected.
  2. Fill in the Server Name, Security Group (enter the Security Group you previously created), and Datacenter / Zone and click Confirm

File:09-Clouds/Google/Tutorials/Transcode_Videos_on_Google_Compute_Engine/screen-GCEServerDetailsRabit.png

  1. Perform the same steps for GCE Demo - Video Transcode Producer and GCE Demo - Video Transcode Consumer.

Configure Inputs

Go to your deployment level Inputs tab and click edit and enter the following information:

Input Name Description Value
Transcoding HandBrake Presets Defines the settings for HandBrake video transcoding. array: ["text:Universal","text:High Profile"]
Transcoding RSS Source Retrieves the RSS feed of videos to transform. 

array: ["text:http://commondatastorage.googleapis.com/video_transcode_demo/video.xml"]

Transcode AMQP Hostname Used to pass messages between applications. env: "PRIVATE_IP" of "GCE Demo - RabbitMQ"

(Optional)

Transcode Consumer Log Level

Can be set to either "info", "warn", "error", or "debug."

(Example Value)

text: error

Launch Servers

  1. Go to the Deployment's Server tab (Manage > Deployment > Deployment Name)
  2. Launch the RabbitMQ server. To launch the server, click the Launch action icon. When the Input Confirmation screen opens, verify the information is correct. 
  3. Once operational, launch the Producer server. When it is fully operational, you can look at the rabbitmq-encode_input gauge monitoring graph which should have a lot of jobs queued.
  4. Launch the Consumer server and, once operational, you should be able to watch the rabbitmq-encode_input and rabbitmq-encode_output graphs on the RabbitMQ Server change as jobs are processed.
 
Note: The transcoding log file can be found at /var/log/transcode_consumer-xxx.log (where xxx is PID).
You must to post a comment.
Last modified
11:20, 3 Feb 2014

Tags

This page has no custom tags.

Classifications

This page has no classifications.

Announcements

None


© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.