On Debian, Ubuntu and the distributions built on them (Linux Mint, Pop!_OS and the rest), TvT installs from one package, thisvideothing-licensed_1.0.0_amd64.deb, from your downloads page. Everything is inside it, ffmpeg included, so there are no other packages to install. It runs as your own user, on a desktop or on a server with no screen at all.
This guide covers installing the package, starting TvT by hand and at boot, reaching it from other devices, where the data lives, hardware encoding, updating, and removing it.
Before you start
- Debian 10 or newer, or Ubuntu 18.04 or newer, on a 64-bit Intel or AMD processor. There is no build for ARM boards yet.
- Disk space. About 1.4 GB for the application, plus room for the streams TvT makes from your videos, which can be as large as the videos themselves. Step 6 says where those go.
- The package file, downloaded from your downloads page, and an account that can use sudo.
1. Install the package
In a terminal, in the folder holding the file:
sudo apt install ./thisvideothing-licensed_1.0.0_amd64.deb
The ./ matters: it tells apt this is a file rather than a package name. sudo dpkg -i thisvideothing-licensed_1.0.0_amd64.deb does the same. The application lands in /opt/thisvideothing and the thisvideothing command is added to the path.
2. Start it
thisvideothing
TvT keeps the terminal until you press Ctrl+C, which stops it. On a desktop it opens your browser after a second at its own address on your network, something like http://192.168.1.20:5000; on a server nothing opens, and you use that address from any other device (step 5). The application writes no output to the terminal; its log is ~/.local/share/ThisVideoThing/flask.log, and the Advanced page shows it live.
The first page is the Who's Watching screen with one administrator profile. Open it, then go to Video Locations from the profile menu in the bottom left corner of the sidebar and add the folders your videos are in. TvT reads them where they are, as the user that started it, so that user needs to be able to read them, and to write to them for edits.
3. Start it at boot
For a computer that acts as the household's media server, run TvT as a systemd service under your own user, so it starts with the machine and comes back if it stops. Save this as /etc/systemd/system/thisvideothing.service, with your user name in place of you:
[Unit] Description=ThisVideoThing After=network-online.target Wants=network-online.target [Service] User=you ExecStart=/opt/thisvideothing/thisvideothing Restart=on-failure [Install] WantedBy=multi-user.target
Then enable and start it:
sudo systemctl daemon-reload sudo systemctl enable --now thisvideothing systemctl status thisvideothing
sudo systemctl stop thisvideothing and restart do what they say. Because the service runs as your user, its data lives in your home folder exactly as it does when you start it by hand, so you can switch between the two without losing anything. Do not run both at once: the second one reports that TvT is already running on port 5000 and exits.
4. Adding your videos
On Video Locations, add a watch folder for each place your videos live, on this machine or on a mounted drive. The automation switches on each folder decide what happens to new videos: transcoding for smooth playback in any browser, captions, thumbnails, organizing. The Automatic Organization guide covers each switch. A first import of a large library takes a while; System Activity shows the work as it happens.
5. Other computers, phones and TVs in your home
Open the Advanced page. The card at the top, This server's address, lists the address other devices use, marked "this network", the machine's name, and the address you are using now, each with a Copy button. From a terminal, hostname -I prints the same addresses. Type the address into a browser on any device on your network.
Debian has no firewall by default. If you use ufw, let the port through:
sudo ufw allow 5000/tcp
A reservation in your router keeps the address from changing.
6. Where your data lives
Everything TvT makes is in ~/.local/share/ThisVideoThing of the user that runs it:
- media.db, the library: profiles, categories, tags, watch history and settings.
- transcoded_videos, the streams made from your videos, and downloads, the offline MP4 copies. This is where the space goes. To keep them on another disk, add a transcode destination on Video Locations and TvT fills the one with the most free space.
- backups, from the Backup and Restore page; whisper_models and ocr_models, the caption models you download; flask.log, the application log.
To put all of it somewhere else, on a large disk for instance, set THISVIDEOTHINGDATA before starting TvT; it then uses that folder plus /ThisVideoThing. In the service file that is one more line under [Service]:
Environment=THISVIDEOTHINGDATA=/mnt/big
Your videos themselves stay in their own folders and are never moved by installing, updating or removing TvT.
7. Hardware encoding
TvT checks at every start which video encoders the machine really has and uses the best one for transcodes, edits, mashups and offline downloads, with the processor behind it for anything the card cannot do. With the NVIDIA driver installed, NVENC is found on its own. Intel and AMD graphics are used through VAAPI, which needs the distribution's driver package, intel-media-va-driver or mesa-va-drivers, and your user in the render and video groups (sudo usermod -aG render,video you, then sign in again). The Background work panel on the System Activity page shows what was found, with the driver's own reason when something is unavailable, and has an Off switch. On a machine without any of it everything runs on the processor, which is slower but produces the same result.
8. Updating
Stop TvT (Ctrl+C, or sudo systemctl stop thisvideothing), install the newer package the same way, and start it again:
sudo apt install ./thisvideothing-licensed_1.1.0_amd64.deb sudo systemctl start thisvideothing
Only the application in /opt/thisvideothing is replaced. The library, transcodes, captions, watch history and settings are in your home folder and are exactly where you left them when the new version starts.
9. Removing TvT
sudo systemctl disable --now thisvideothing sudo apt remove thisvideothing-licensed
That removes the application and the command. Your library and the streams TvT made stay in ~/.local/share/ThisVideoThing in case you come back; delete that folder too if you want everything gone, and delete the service file if you made one. Your videos are not touched either way.
Good to know
- Something else uses port 5000. Start TvT with another one: TVT_PORT=5001 thisvideothing, or Environment=TVT_PORT=5001 under [Service] in the unit file. Use the new port in every address.
- "ThisVideoThing is already running on port 5000" in the log means a second copy was started; the first is unaffected.
- No browser opened. Normal on a server. Open the address from step 5 on any device.
- A folder will not import. Check that the user running TvT can read it: ls -l on the folder, and for a mounted drive the mount options.
- Reading the log. The Advanced page shows it live and can download it; the file is ~/.local/share/ThisVideoThing/flask.log. Its first lines say which data folder and which encoder are in use.