-
Notifications
You must be signed in to change notification settings - Fork 49
Linux Build
The README in the main GitHub repository will always be kept up-to-date for current builds and basic user guide help.
Self Contained Binary's: Linux x86
Note
AppImage files need read/write and self execution permissions.
To give the AppImage permissions open terminal in the directory and use:
chmod +x decode.AppImage tbc-tools.AppImage
Tip
If the files are not named the above just rename them before running the command, all 3 binary packages should be in the same decode folder.
Open a terminal and use the following commands :
Workflow assumes you have the decoder/tools/export in the same folder and at least FFmpeg installed systemwide this normally should be under User/Home/decode
.
Run ./decode.AppImage
with vhs
, ld
, cvbs
, hifi
at the start.
Example: ./decode.AppImage vhs
calls vhs-decode, commands are universal.
Run ./tbc-tools.AppImage
like any normal GUI app to open ld-analyse, the ld-xxxx
tools are used just like Linux via CLI but within the decode folder.
Run ./tbc-video-export --appimage tbc-tools.AppImage
for 100% self contained use (requires FFmpeg installed system wide)
This is the workflow to manually build the decoders and toolchain.
The vhs-decode repository also has hifi-decode, cvbs-decode & ld-decode included.
sudo apt install clang python3-setuptools python3-numpy python3-scipy python3-matplotlib git qt5-default libqwt-qt5-dev libfftw3-dev python3-tk python3-numba libavformat-dev libavcodec-dev libavutil-dev ffmpeg openssl pv python3-setuptools make cython3 cmake pipx
For Ubuntu 22.04 that is:
sudo apt install git qtbase5-dev libqwt-qt5-dev libfftw3-dev libavformat-dev libavcodec-dev libavutil-dev ffmpeg pv pkg-config make cmake pipx
For Arch Linux
pacman -S base-devel git qt5-base qwt fftw ffmpeg pv cmake sox python python-pipx
Note
NixOS Linux has pre-made nur-packages for vhs-decode, cxadc and outer tools within the projects.
Set up pipx
pipx ensurepath
(Alternatively, a python virtual environment can be used instead of using pipx)
Install TBC-Video-Export
pipx install tbc-video-export
(There is also self contained builds if install issues arise)
Optional dependencies for GPU (Nvidia Cards) FLAC compression support:
sudo apt install make ocl-icd-opencl-dev mono-runtime
Also Requires FlaLDF Download & Install via .deb for Linux.
Note
Debian/ubuntu does not have a qt6 version of qwt in repositories as of yet so you have to inform the build script to use Qt5 if both qt5 and qt6 are installed with -DUSE_QT_VERSION=5
as it might otherwise try to compile with qt6 instead and failing to locate qwt. The option is otherwise not needed.
Note
HiFi-Decode preview function - the python library sounddevice requires portaudio (libportaudio2 on ubuntu) this is not included in the self-contained binaries and has to be installed locally if not already installed. (included with most desktop environments)
When installing from source, if you want the gui you have hifi_gui
and hifi_gui_qt6
QT5
pipx install .[hifi_gui]
QT6
pipx install .[hifi_gui_qt6]
Download VHS-Decode:
git clone https://github.com/oyvindln/vhs-decode.git vhs-decode
Install VHS-Decode:
cd vhs-decode
Build and install vhs-decode via pipx
pipx install .[hifi_gui_qt6]
Compile and Install ld-tools suite: (Required)
mkdir build2
cd build2
cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_QT_VERSION=5
make -j4
sudo make install
Go back to the main directory with
cd ..
To update the decoders and tools do git pull
while inside the vhs-decode directory, and repeat the above build & compile steps.
Binary versions, there is no automatic updates simply check back on the releases page from time to time.
Older builds may have use for testing or understanding, deprecated or older revisions of functions.
Between 2021-2024 there was 2 notable turning points in the building process.
Pre-Pipx switchover
Pre-Cmake switchover
To have standalone files which can be run without any Python on a destination system the following steps have to be taken.
first install pyinstaller
pip install pyinstaller
Within the vhs-decode directory:
Before pyinstaller can be used we have to compile the Cython based part of the project run
python setup.py build_ext --inplace
After that there should be new modules in the vhsdecode subdirectory, for Python3.11 it should look like this
hilbert.cpython-311-x86_64-linux-gnu.so
linear_filter.cpython-311-x86_64-linux-gnu.so
sync.cpython-311-x86_64-linux-gnu.so
Create binary for vhs-decode by using pyinstaller
pyinstaller vhs-decode
(or if you want it in one file: pyinstaller --onefile vhs-decode
)
Create binary for hifi-decode by using pyinstaller
pyinstaller hifi-decode
(or if you want it in one file: pyinstaller --onefile hifi-decode
)
Pyinstaller is platform dependent. So compiling on a Windows machine will only give Windows executables. Compiling on Linux only give Linux x86 executable, same applies to Apple X86 and Apple ARM.
Previous Page Home
- FAQ - Frequently Asked Questions
- Diagram Breakdowns
- Visual-Comparisons
- VCR Reports / RF Tap Examples
- Download & Contribute Data
- Speed Testing
- Visual VBI Data Guide
- Closed Captioning
- Teletext
- WSS Wide - Screen Signalling
- VITC Timecode
- VITS Signals
- XDS Data (PBS)
- Video ID IEC 61880
- Vapoursynth TBC Median Stacking Guide
- Ruxpin-Decode & TV Teddy Tapes
- Tony's GNU Radio For Dummies Guide
- Tony's GNU Radio Scripts
- DomesDay Duplicator Utilities
- ld-decode Utilities