FAB Subtitler can be installed by starting the file setupfabsubtitler.exe with specific parameters.
There may be two scenarios how FAB Subtitler may be installed:
- when the USB Dongle is already plugged into the PC and internet connection is available for software activation (INSTALLATION MODE 1)
- when the USB Dongle is not plugged into the PC or the internet connection is not available for software activation (INSTALLATION MODE 2)
The procedure is completely the same when installing FAB Subtitler for the first time and also when installing a software update.
INSTALLATION MODE 1 for FAB Subtitler
When the USB Dongle is already plugged into the PC and internet connection is available for software activation the following command line can be used to install FAB Subtitler:
setupfabsubtitler.exe /verysilent /password=password /norestart
During the installation the software activation over internet will be started. If the activation is successful then the correct FAB Subtitler Edition will be installed. If the activation is not successful then FAB Subtitler will not be installed.
You can use the following parameter to write a log file during installation:
/LOG="C:\Temp\FABSubtitler-Setup.log"
The exit code after the installation process is 0 if the installation was successful. If the installation was not successful then the exit code will not be 0 and you should check the log file to see what caused the installation to be aborted.
INSTALLATION MODE 2 for FAB Subtitler
When the USB Dongle is not plugged into the PC or the internet connection is not available for software activation the following command line can be used to install FAB Subtitler:
To install FAB Subtitler STD/PRO/LIVE/MPEG:
setupfabsubtitler.exe /verysilent /password=password /norestart /type=workstation
To install FAB Subtitler BCAST/XCD:
setupfabsubtitler.exe /verysilent /password=password /norestart /type=bcastxcd
Please note that the software license will not be activated during installation and therefore it will be necessary to activate the license during the first start of FAB Subtitler and administrator rights will be required temporarily during activation.
You can use the following parameter to write a log file during installation:
/LOG="C:\Temp\FABSubtitler-Setup.log"
The exit code after the installation process is 0 if the installation was successful. If the installation was not successful then the exit code will not be 0 and you should check the log file to see what caused the installation to be aborted.
Installation of LAVFilters
To install the latest version of LAVFilters first download the installation .exe file from
https://github.com/Nevcairiel/LAVFilters/releases
and then start it by:
LAVFilters-0.74.1-Installer.exe /VERYSILENT /NORESTART
You can use the following parameter to write a log file during installation:
/LOG="C:\Temp\LAVFilters-Setup.log"
The exit code after the installation process is 0 if the installation was successful. If the installation was not successful then the exit code will not be 0 and you should check the log file to see what caused the installation to be aborted.
Installation of FFmpeg
To install the correct version of FFmpeg for FAB Subtitler first make sure to download the correct FFmpeg version:
https://www.fab-online.com/publicdownload/ffmpeg-7.1-win32-shared.zip
After that unpack the file to the FAB Subtitler folder into the subfolder ffmpeg.
Powershell script to install FAB Subtitler, LAVFilters and FFMPEG
The following Powershell script (setupfabsubtitler.ps1) can be started by the following command line and make sure that it has administrator rights:
powershell -executionpolicy unrestricted -File C:\path\setupfabsubtitler.ps1
Make sure to enter the correct download path and password into the variables $DownloadUrl and $DownloadPassword. The $DownloadUrl can be in one of the following formats:
https://www.correctserver.com/path/file.zip
or
\\server\sharedfolder\subfolder\file.zip
setupfabsubtitler.ps1:
$DownloadUrl = "https://fabsubtitlerurl"
$DownloadPassword = "fabsubtitlerpassword"
$LAVFiltersUrl = "https://github.com/Nevcairiel/LAVFilters/releases/download/0.79.2/LAVFilters-0.79.2-Installer.exe"
$FFMPEGUrl = "https://www.fab-online.com/publicdownload/ffmpeg-7.1-win32-shared.zip"
$BasePath = [Environment]::GetFolderPath("MyDocuments")
$BaseFolder = $BasePath + "\FABInstaller"
if (-not (Test-Path $BaseFolder)) { New-Item -ItemType directory -Path $BaseFolder }
$DownloadFolder = $BaseFolder + "\Download"
if (-not (Test-Path $DownloadFolder)) { New-Item -ItemType directory -Path $DownloadFolder }
$ExpandFolder = $BaseFolder + "\Expanded"
if (-not (Test-Path $ExpandFolder)) { New-Item -ItemType directory -Path $ExpandFolder }
$LogFolder = $BaseFolder + "\Logs"
if (-not (Test-Path $LogFolder)) { New-Item -ItemType directory -Path $LogFolder }
$LogFile = $LogFolder + "\" + (Get-Date).toString("yyyyMMdd-HHmmss") + "-Log.log"
Function LogWrite {
Param ([string]$LogString)
$Stamp = (Get-Date).toString("yyyy-MM-dd HH:mm:ss`t`t")
$Line = "$Stamp $LogString"
Write-Host $Line
$Line | Out-File $LogFile -Append
$Line = ""
$Line | Out-File $LogFile -Append
}
Function LogWriteError {
Param ([string]$LogString)
$Stamp = (Get-Date).toString("yyyy-MM-dd HH:mm:ss `t ERROR`t")
$Line = "$Stamp $LogString"
Write-Host $Line
$Line | Out-File $LogFile -Append
$Line = ""
$Line | Out-File $LogFile -Append
}
function DownloadFile {
param([string]$WebUrl, [string]$WebFile)
Remove-Item $DownloadFolder\* -Force
Try {
if ($WebUrl.StartsWith("http", [System.StringComparison]::CurrentCultureIgnoreCase)) {
LogWrite "Downloading from: $WebUrl to file: $WebFile"
& curl.exe -L $WebUrl --output $WebFile
if ($LASTEXITCODE -ne "0") {
LogWriteError "The file cannot be downloaded from: $WebUrl to $WebFile"
return $false
}
}
else {
LogWrite "Copying from: $WebUrl to file: $WebFile"
Copy-Item -Path $WebUrl -Destination $WebFile
}
}
Catch {
LogWriteError "The file cannot be downloaded from: $WebUrl"
return $false
}
return $true
}
function InstallFABSubtitler {
LogWrite ("Starting installation of FAB Subtitler")
$DownloadedFile = $DownloadFolder + "\setupfabsubtitler.zip"
LogWrite ("Downloading " + $DownloadUrl + " to " + $DownloadedFile)
if (-not (DownloadFile "$DownloadUrl" "$DownloadedFile") -or -not (Test-Path $DownloadedFile)) {
LogWriteError "File could not be downloaded: $DownloadUrl to $DownloadedFile"
return $false
}
Remove-Item $ExpandFolder\* -Force
LogWrite "Extracting $DownloadedFile to $ExpandFolder"
Expand-Archive $DownloadedFile -DestinationPath $ExpandFolder -Force
$ExeFile = "$ExpandFolder" +"\" + "setupfabsubtitler.exe"
if (-not (Test-Path $ExeFile)) {
LogWriteError "Cannot find the file $ExeFile to start the update"
return $false
}
$LogFileSetup = $LogFolder + "\" + (Get-Date).toString("yyyyMMdd-HHmmss") + "-Setup-Log.log"
LogWrite ("Executing " + $ExeFile)
Start-Process -FilePath "$ExeFile" -ArgumentList "/verysilent","/password=$DownloadPassword","/norestart","/type=workstation","/log=$LogFileSetup" -Wait -WindowStyle Hidden
Remove-Item $DownloadedFile -Force
LogWrite ("Installation of FAB Subtitler has completed")
return $true
}
function InstallLAVFilters {
LogWrite ("Starting installation of LAVFilters")
$DownloadedFile = $DownloadFolder + "\LAVFiltersInstaller.exe"
LogWrite ("Downloading " + $LAVFiltersUrl + " to " + $DownloadedFile)
if (-not (DownloadFile "$LAVFiltersUrl" "$DownloadedFile") -or -not (Test-Path $DownloadedFile)) {
LogWriteError "File could not be downloaded: $DownloadUrl to $DownloadedFile"
return $false
}
$LogFileSetup = $LogFolder + "\" + (Get-Date).toString("yyyyMMdd-HHmmss") + "-Setup-Log.log"
LogWrite ("Executing " + $DownloadedFile)
Start-Process -FilePath "$DownloadedFile" -ArgumentList "/verysilent","/norestart","/log=$LogFileSetup" -Wait -WindowStyle Hidden
Remove-Item $DownloadedFile -Force
LogWrite ("Installation of LAVFilters has completed")
return $true
}
function InstallFFMPEG {
LogWrite ("Starting installation of FFMPEG")
$DownloadedFile = $DownloadFolder + "\ffmpeg.zip"
LogWrite ("Downloading " + $FFMPEGUrl + " to " + $DownloadedFile)
if (-not (DownloadFile "$FFMPEGUrl" "$DownloadedFile") -or -not (Test-Path $DownloadedFile)) {
LogWriteError "File could not be downloaded: $DownloadUrl to $DownloadedFile"
return $false
}
$FABSubtitlerFolder = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\FAB\FAB Subtitler').InstDir
if (($FABSubtitlerFolder -eq "") -or -not (Test-Path $FABSubtitlerFolder)) {
LogWriteError "FAB Subtitler is not installed"
return $false
}
if (-Not ($FABSubtitlerFolder.EndsWith("\"))) {
$FABSubtitlerFolder = $FABSubtitlerFolder + "\"
}
$FABSubtitlerFolder = $FABSubtitlerFolder + "ffmpeg"
if (-not (Test-Path $FABSubtitlerFolder)) { New-Item -ItemType directory -Path $FABSubtitlerFolder }
LogWrite "Extracting $DownloadedFile to $FABSubtitlerFolder"
Expand-Archive $DownloadedFile -DestinationPath $FABSubtitlerFolder -Force
Remove-Item $DownloadedFile -Force
LogWrite ("Installation of FFMPEG has completed")
return $true
}
LogWrite ("Starting FAB Installer Script")
If (-not ([bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match "S-1-5-32-544"))) {
LogWriteError "The program cannot start without administrator privileges, please run as administrator"
Exit
}
if (-not (InstallFABSubtitler)) {LogWriteError "FAB Subtitler could not be installed"}
if (-not (InstallLAVFilters)) {LogWriteError "LAVFilters could not be installed"}
if (-not (InstallFFMPEG)) {LogWriteError "FFMPEG could not be installed"}
LogWrite "Installer script has finished"
This page was last updated on 2025-01-28