Tremendum Transcoder – Installation instructions
The installation process is simple, however if you prefer a professional installation service you can order it from our website.
This guide assumes that your server meets the minimum requirements and already has all required 3rd party software installed. Also requires:
- Ability to setup a cron job
- Ability to execute PHP from the commandline
You can use tt-diag.php to check if your server meets those requirements and if FFmpeg has all the suggested video and audio codecs.
Tremendum Transcoder (TT for short), consist of 2 parts: the public web interface and the private cron application. This improves reliability and allows to keep a layer of security by separating the cron application that requires PHP exec functionality, from the web interface that does not.
STEP 1. Select the installation path for tt-private folder
The folder "tt-private" will be uploaded somewhere in your server not accessible from the web. For example: /usr/local/home/tt-private
Before doing so, we will edit the configuration files. We will refer to this location as "tt-private path".
STEP 2. Edit the settings
The default configuration files need to be edited before the program can be used. All the path values come with a predefined value of: "/path/to/tt-private/folder/file.ext". This makes it easy to update them
by just replacing the "/path/to/tt-private/" with your server’s "tt-private path" value.
Tip for Windows users:
You can use an excellent free plain text editor called Notepad++ to edit the configuration files. Once you open them, go to the "Language" menu and select "M > MS INI file". The syntax highlight will make it easier to read the file.
Notepad++ is available free of charge at: http://notepad-plus-plus.org
2.1 Main configuration file: "tt-private/core/tt-config/config.inc.php"
Open the file with a plain text editor and walk through the different sections. All sections are documented and state if the configuration is required or optional and their default value.
2.2 Main profiles file: "tt-private/core/tt-config/profiles.inc.php"
Open the file with a plain text editor and go to the "VARIABLES AND PROFILES CONFIGURATION" section. Revise the default values and update them according to your FFmpeg version. You should also update the "FEATURES DEMONSTRATION PROFILES" logo path section with your installation path.
2.3 Main cron shell script: "tt-private/core/tt-cron.sh"
Finally, edit the settings section of tt-cron.sh script. Please note that this script file needs to have the line endings in UNIX format, otherwise the script may not work.
Windows users should pay extra attention to the line endings. A simple way to ensure the correct line endings is to use Notepad++, then make sure that menu "Edit > EOL Conversion > UNIX Format" is selected.
STEP 3. Upload the "tt-private" folder to your server
Upload the "tt-private" folder to your previously selected location in step 1,
and adjust the folder permissions in your server:
Must be writable by the web user and the cron user.
Must be writable by the cron user.
Must be writable to the cron user when "source_completion_action" is set to
"move" or "delete".
Must be writable to the cron user.
STEP 4. Set up the public interface
4.1 Edit the file "tt-public/tt-config/config.inc.php"
Open the file with a plain text editor and set the value for "base" to point to the "tt-private/core" full path folder in your server.
4.2 Upload the "tt-public" folder.
Upload the folder tt-public to your web server to your preferred domain and location, however once uploaded, we advise you to rename the folder to something else than "tt-public". For example, you could rename the folder to "tt-m3d9fDIwoe" or any set of random letters and numbers in order to prevent casual access from people to your web interface.
You can add additional layers of protection, such as password protected directories or IP address limits, however those are out of scope of this guide.
4.3 Load the web interface.
Open your web browser and point it to the url where you uploaded the public files. If there are configuration errors, a list of them will be shown. Fix them and reload until no errors appear and the web interface with the list of profiles appear.
If your web server’s PHP setup uses open_basedir restrictions, you will need to allow the script to access "tt-private/core/" and "tt-private/flags/" in your server.
STEP 5. Setup the cron
Next you need to add a cron job to the user that you want to execute the script.
This user must have read / write permission to the folders as specified in
Adjust the following command with the full path to "tt-cron.sh" in your server.
# Tremendum Transcoder cron.
*/1 * * * * /bin/sh /path/to/tt-private/core/tt-cron.sh
If you want to set up a cron for a user account that has S-FTP only access without a valid shell, you can add the cron job to root user as follows:
# Tremendum Transcoder cron for S-FTP only account "ttuser". (root cron)
*/1 * * * * su -m ttuser -c ‘/bin/sh /usr/local/home/tt-private/core/tt-cron.sh’
STEP 6. Test the installation
It is a good idea to upload a video to your "tt-private/media/encode" folder
and select a profile to test. Click START, wait for the process to complete,
and if all went fine you will have a new transcoded media file in your
If there are any problems, analize the error messages. For example it is
possible that some profiles didn’t work because your FFmpeg install is missing
some video or audio codec. In that case update your FFmpeg installation and try
At this point you should have a working installation of Tremendum Transcoder
with a set of default profiles. Read the supplied default "profiles.inc.php"
file for examples on how profiles work, customize them to your needs (i.e. for
adding your preferred logos, text overlays, dimensions, etc), and enjoy the
power and flexibility of Tremendum Transcoder.
Once everything is set up, transcoding media files on a regular basis becomes
a very simple task: Upload and click START.
We also offer an installation service, a server setup service and a profile
customization service to suit your needs.
Document last revised on 2013-04-23.