Share

Configure Flow Production Tracking transcoding service

Warning:

Local installations of Flow Production Tracking are no longer offered. This documentation is intended only for those with existing instances of Flow Production Tracking Enterprise Docker. Click here for a list of our current offerings.

This guide is intended to help Flow Production Tracking Administrators set up the Flow Production Tracking transcoding service.

Transcoding overview

The transcoding service converts your media into a format that can be viewed in a Web application. The media uploaded to Flow Production Tracking must be converted in order to be viewable in the Web App.

shotgun_architecture_transcoding_tr.png

For more information on transcoding, see Transcoding.

Transcoding options

When it comes to transcoding, you have two options.

  1. Integrate your studio transcoding service with Flow Production Tracking. See DIY transcoding for more information.
  2. Use the Flow Production Tracking transcoding service.

This article is about setting up Flow Production Tracking transcoding service with Flow Production Tracking Enterprise Docker.

Choose your configuration

Because the Flow Production Tracking transcoding service is built using containers, you can choose to run it in different configurations. You can run it on the same host, or dedicate one or multiple hosts to the Transcoding Service. The decision is not final and we may decide to scale it later.

Getting the transcoding service up and running

First, install Docker on your host. The host must have been previously set up following the Host Setup Guide.

More information on Docker can be found at https://docs.docker.com/engine/getstarted.

Next, download the transcoder package and uncompress it.

tar -vxf shotgun-docker-se-transcoder-server-6.1.0.tar.gz -C /opt  
tar -vxf shotgun-docker-se-transcoder-worker-10.2.0.tar.gz -C /opt  
sudo chown -R shotgun:shotgun /opt/shotgun/se/transcoder*  
cd /opt/shotgun/se/transcoder-server  
sudo docker load < shotgun-transcoder-server.6.1.0.tar  
cd /opt/shotgun/se/transcoder-worker  
sudo docker load < shotgun-transcoder-worker.10.2.0.tar 

Then, create a docker-compose.yml file containing the following. If you plan to use the same server as the Flow Production Tracking Application for the transcoding, omit the first two lines and add the rest to your existing docker-compose.yml file, in the services section. You can view the example docker-compose file as to see all containers configured on the same server.

# Create the compose file  
vi /opt/shotgun/se/docker-compose.yml  

# Add the following content  
version: '2'  
services:  
  transcoderserver:  
    image: shotgun-transcoder-server:6.1.0  
    environment:  
      POSTGRES_HOST: transcodingdb.mystudio.com  # Hostname or DB container name     
      POSTGRES_DB: shotgun_transcoding  
      POSTGRES_PORT: 5432  
      POSTGRES_USER: shotgun  
      #POSTGRES_PASSWORD: dummy  
      DASHBOARD_USERNAME: admin  
      DASHBOARD_PASSWORD: <your password>  
    labels:  
      com.shotgunsoftware.component: transcoderserver  
    ports:  
      - "<network_interface_ip>8008:80"  
    restart: always  

  transcoderworker:  
    image: shotgun-transcoder-worker:10.2.0  
    environment:  
      POSTGRES_HOST: transcodingdb.mystudio.com  # Hostname or DB container name  
      POSTGRES_DB: shotgun_transcoding  
      POSTGRES_PORT: 5432  
      POSTGRES_USER: shotgun  
      #POSTGRES_PASSWORD: dummy  
    labels:  
      com.shotgunsoftware.component: transcoderworker  
    volumes:  
      - ./media:/media  
    restart: always 
 Make sure you edit all values in the docker-compose file:  

# Edit docker-compose.yml to replace the placeholder <network_interface_ip> with the IP of the transcoder server host.  
# You can edit the file using vi or your preferred editor. 

Finally, start the transcoding service:

 sudo docker-compose up -d 

Configuring the Flow Production Tracking site

If all the containers are running on the same server, the transcoding service should now be operational.

To configure your site to use the transcoding service when running on a dedicated server, please follow the Change Transcoding URL operation.

Scaling the transcoding service

To scale the transcoding service, you can increase the number of transcoding workers. We recommend doing so only if workers are running on a different host than the app, as transcoding is CPU heavy. Your transcoding host is already overloaded and you want more workers? Spin up another server!

# Run 4 transcoder workers  
docker-compose scale transcoderworker=4 

Troubleshooting

I can't get the transcoding service to run with the PostgreSQL container provided in the example.

To use the DB container provided in the example as the database for the transcoding service, the environment variables should look like this:

     environment:  
      POSTGRES_HOST: transcodingdb.mystudio.com  # Hostname or DB container name  
      POSTGRES_DB: shotgun_transcoding  
      POSTGRES_PORT: 5432  
      POSTGRES_USER: shotgun  
      #POSTGRES_PASSWORD: dummy 

Was this information helpful?