-
Notifications
You must be signed in to change notification settings - Fork 83
Installation
ld-decode and the various included tools are designed for (and tested on) Ubuntu 22.04 LTS (20.04 LTS no longer works).
It is possible to compile and run ld-decode in other Linux environments however this is not regularly tested by the projects. But do read the Linux Compatability Doc.
For first-time users using a self contained combined build will be the most simple, just like installing or deploying any outher piece of portable software this maintained from the vhs-decode repository witch also contains hifi-decode and a cross code developed composite decoder cvbs-decode.
ld-decode performs complex mathematics on huge datasets and therefore requires a fairly high-end PC for any expiedent use, with AVX2 support notably helpful.
A Haswell (or newer) i9/i7 or Ryzen with 16-64Gb of RAM and 2TB of soild state & 8TB of hard-drive storage is recommended, however the minimum requirements are a Sandy Bridge i5 with 8Gb RAM and 512Gb of hard-drive.
Blu-Ray BDXL Optical discs 100-128GB (M-Disc/DataLifePlus) and LTO5 tapes can be recommended as relatively affordable long term archival storage formats.
Decoding in simple terms is single core bias, so faster higher speed intergrated CPUs like those found in the Apple M1 Max, and AMDs x3D line and newer are todays fastest chips, the decoders today wont be more efficent past 6 threads. (excluding the chroma-decoder and hifi-decode)
For dedicated stations it is highly recommended that you install the recommended environment; if a bare-metal installation is not available, you can use tools such as virtualbox or VMware to install ld-decode in a virtual machine or container.
There is also the project combined builds found in the
Before attempting to directly install and deploy ld-decode ensure you have a sane (preferably fresh) Ubuntu installation that is up to date.
Use the following commands to ensure you have the latest software packages:
sudo apt update; sudo apt upgrade
SoX
can also be quite useful to install for use with scripts and secondary tools.
sudo apt install sox
Install tbc-video-export for a quicker export experience.
pipx install tbc-video-export
To update uninstall and re-install, there is also self-contained binaries for this tool.
To install ld-decode and the associated tools enter the following commands into a command terminal in the order shown (you will need root access to the machine via the sudo command to perform the installation):
sudo apt install python3-setuptools python3-numpy python3-scipy python3-matplotlib git qt5-qmake qtbase5-dev libqwt-qt5-dev libqt5svg5-dev libfftw3-dev python3-tk python3-numba libavformat-dev libavcodec-dev libavutil-dev ffmpeg openssl pv python3-distutils pkg-config cmake make
mkdir ~/github
cd ~/github
git clone https://github.com/happycube/ld-decode
cd ~/github/ld-decode
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .
make
sudo make install
The make
stage will take the most time. You can speed this up considerably by giving a -j
argument to parallelise the build (e.g. make -j8
to use 8 CPU cores).
(preliminary instructions, can run ld-decode itself, but not sure if every option works yet - Chad)
An alternate installation route is to use a Python virtualenv. One nice trick is that you can build a later version of Python (such as 3.11 on 22.04, and probably 3.10 on 20.04) and run python as built to make a venv without installing the python binaries themselves.
Once you have a Python you want to use, run:
python -mvenv $VIRTUALENV_DIR # ./ if a local copy
source $VIRTUALENV_DIR/bin/activate # or windows equivalent
pip install numpy numba scipy
Then go to your ld-decode directory, use source when needed, then run ld-decode normally.
For basic use instructions please see the basic usage instructions on this wiki. For more advanced topics please browse the wiki contents using the navigation pane on the right of this page.
In order to upgrade your source tree to the latest code from the 'master' branch, issue the following commands:
cd ~/github/ld-decode
git pull
You can then compile and install using the same commands as above:
cmake .
make
sudo make install
There is usually no need to explicitly delete any existing files when upgrading - make
will work out what needs to be rebuilt automatically. If you find that ld-decode does fail to compile after an upgrade, though, you should first try the command:
make clean
to remove the compiled files, then repeat the compilation commands above.
The installation above will install the 'master' github branch. This reflects the latest version of the code that's being actively worked on with new features and bug fixes. While the development version of ld-decode usually works well for most purposes, you should be aware that it may contain new bugs as well - if you find problems with it, please let us know!
If you'd like a version of ld-decode that should definitely work - and especially if you're packaging ld-decode for a distribution - then you should use one of the numbered releases instead. We provide a new major release (with new features) about once a year, with occasional minor releases (with just bug fixes).
New features are often developed on separate development branches. If you wish to use a development branch (and you know what it is for and how to handle active software development), you can clone it with a command such as the following:
git clone --single-branch --branch great-fix-dev https://github.com/happycube/ld-decode
This example command will clone the great-fix-dev branch onto your local machine.
- Basic usage
- TBC Video Export
- PAL decode guide
- NTSC decode guide
- Working with multiple discs
- Working with subtitles
- Disc images to download
- ld-decode
- ld-analyse
- ld-chroma-decoder
- ld-process-vbi
- ld-export-metadata
- ld-dropout-correct
- ld-process-efm
- ld-discmap
- ld-disc-stacker
- ld-process-vits
- ld-lds-converter
- ld-chroma-encoder