Install as a Linux service
The installer asks no questions. It installs what is missing, builds a private Python environment, starts a systemd service and checks that it can write to your media.
Read this first
Whether the service can write your media depends on user and group IDs. Read User and group IDs before you start; it takes five minutes and saves an evening.
- Download and unpack as shown above, then enter the folder.
- Find who owns your media. This decides which account the service runs as, see User and group IDs.
stat -c '%u:%g %U:%G' /srv/media - Run the installer with your media folder (repeat
--mediafor more folders).
The service runs as the owner of the first media folder. Change that only if you must:sudo ./install.sh --media /srv/media--user NAMEpicks an existing account,--uid N --gid Ncreates one with exactly those IDs. - Open the page:
http://your-server:8080. In Settings → General add your root folders, in Settings → Video pick your GPU.
| Option | Meaning |
|---|---|
--media DIR | A media folder (repeatable). Used to choose the account and to check write access at the end. |
--user NAME | Run as this existing account. |
--uid N --gid N | Create the account transcode with these numeric IDs. |
--port N | Web port (default 8080). |
--data-dir DIR | Database and logs (default /var/lib/smart-transcode). Keep it on a local disk. |
--log-level L | DEBUG, INFO (default), WARNING or ERROR. |
--vaapi-device PATH | Render node for Intel / AMD (default: the first /dev/dri/renderD*). |
--uninstall --purge-data | Remove the service; with --purge-data also delete the database. |
systemctl status smart-transcode # is it running
journalctl -u smart-transcode -f # the log
sudo smart-transcode-auth --help # users and passwords from the command line
NVIDIA, Intel or AMD on a bare-metal install
The service uses whatever ffmpeg is on the machine. After the install the installer lists the encoders it found
(hevc_nvenc, hevc_vaapi, hevc_qsv, libx265…). If yours is missing, use a fuller ffmpeg build or switch to the Docker image.
Intel and AMD need the usual VA-API driver packages (intel-media-driver or mesa-va-drivers); NVIDIA needs the proprietary driver.
The installer adds the service to the groups that own /dev/dri by itself.