This section contains everything you need to know about installing and managing the iconik Edge Transcoder

Roles

These are the roles that are needed:

  • Owner

1. Download and install the Iconik Edge Transcoder 

Set up the Iconik Yum repository, and install the Iconik Edge Transcoder RPM

sudo tee -a /etc/yum.repos.d/iconik.repo >/dev/null << EOF
[iconik]
name=Packages - Amazon Linux 2023 \$basearch
baseurl=https://packages.iconik.io/rpm/al2023/\$basearch/
enabled=1
gpgkey=https://packages.iconik.io/rpm/iconik_package_repos.asc
gpgcheck=1
EOF
sudo yum install iconik_edge_transcoder

For local transcoding to work ffmpeg and ImageMagick must be available. Versions of ffmpeg and imagemagick are included as separate binaries in the ISG package, if you would like use other versions make sure the ffmpeg and magick commands are available on the path of the user running the service.

To get frame accurate playback in other browsers than Safari you also need mp4mux from Bento4.

You can download binaries from https://www.bento4.com/downloads/ but the latest version does not work properly on Amazon Linux 2023. Please use the version available at http://zebulon.bok.net/Bento4/binaries/Bento4-SDK-1-5-1-628.x86_64-unknown-linux.zip instead.

Unpack the correct package, and copy the mp4mux binary to /usr/local/bin

To write xmp metadata which can be used in our adobe integration to the proxy files you need Exiftool. Exiftool is not available on amazonlinux repos, but can be downloaded from https://exiftool.org, you will also need to install perl.

2. Edit config.ini

Edit /etc/iconik/iconik_edge_transcoder/config.ini to look like this (See Setting up how to get the correct values)

[main]

app-id = 22f34c6e-268e-11e7-ac53-6c4008b85488
iconik-url = https://app.iconik.io/
auth-token = eyJhbGciOiJIUzI1NiIsImlhdCI6MTUwMTU3NjAyNCwiZXhwIjoxNTAxNjE5MjI0fQ.eyJpZCI6IjMzMjFkMjIyLTc2OTMtMTFlNy1hN2EyLTAyNDIwYTAyMTAxYSJ9.sgag4OQb19J9qT1IAdKZYAqbpIoai7oW60Mahye7o8s
sleep-time = 10
max-transcoding-jobs = 4
log-filename = /var/log/iconik/iconik_edge_transcoder/default.log
use-file-cache-proxy = true
session-timeout = 60
image-magick-config = /etc/iconik/iconik_edge_transcoder/image_magick_config

3. Start caching proxy service (Optional)

Using the caching proxy can significantly increase performance in some transcoding scenarios. To use it the service must be running.

sudo systemctl enable iconik_file_cache
sudo systemctl start iconik_file_cache   

Make sure the setting is enabled in config.ini, see Advanced options

4. Start the service

Iconik Edge Transcoder will add a system user called Iconik that will be used to run systemd service. The Iconik user must have permissions to read/write the storage mount point folder and it contents. You can add the Iconik user to a Group (legacy) or Team to manage permissions on Group/Team level instead.

After installation you can start service with:

sudo systemctl enable iconik_edge_transcoder
sudo systemctl start iconik_edge_transcoder

This will create the Transcoder in Iconik the first time you start it. You have to add this transcoder to the corresponding storages in the Iconik UI for it to work.

Add the Transcoder's id to the configuration file as transcoder-id attribute. You find this in the URL when you are editing the transcoder in the format 6f9c5e54-fb9f-11e7-8152-0a580a000240 or in the transcoder list as a button you can click to copy.

To check status of the service use:

sudo systemctl status iconik_edge_transcoder

For following the log file, you can use the following command:

sudo tail -f /var/log/iconik/iconik_edge_transcoder/default.log

You can run also run the systemd service from your custom user by providing an override (sudo systemctl edit iconik_edge_transcoder.service) passing your own config and log files that are accessible for your custom user. Log file location can also be set in config.

[Service]
User=john
Group=john

ExecStart=
ExecStart=/usr/bin/iconik_edge_transcoder --config=/home/john/iconik_edge_transcoder/config.ini --log-filename=/home/john/iconik_edge_transcoder/default.log

After adding your custom user you need to restart service.

sudo systemctl daemon-reload
sudo systemctl restart iconik_edge_transcoder

 

More information for Administrators