Skip to content

Repository files navigation

FLTube

FLTube is an application for search & stream Youtube videos. Written for FLTK and powered by yt-dlp.

Although it is primarly developed for Flinux distribution, it can be compiled for other modern distributions with a C++ compiler, for both x86 and x86_64 systems.

Features

  • A very lighweight app thanks to C++ and FLTK toolkit (support for FLTK 1.3.x or above).
  • Powered by yt-dlp, a feature-rich command-line audio/video downloader developed in Python.
  • With capabilities to search for videos on YouTube using search terms or a specific YouTube URL.
  • Includes optimizations to speed up search result loading and video URL retrieval through caching.
  • Ability to remember the watched and liked videos, as well as features to explore those videos through a "Navigation History" and a "Liked" video list.
  • Configurations available for change stream video resolution: 240p, 360p (default), 480p, 720p and 1080p.
  • Localized in English, Spanish and Portuguese, with the potential for future translation into other languages. Localization is done using GNU gettext.
  • Designed for low screen resolutions on small screens.
  • Available differents color themes (Light Theme, Dark Theme, etc.).
  • For now, the app only was developed for GNU/Linux systems.

FLtube en Flinux - Temas Color!

FLtube on Debian 13 Trixie!

FLtube showing Navigation History list!


Installing from a Package

32-bit and 64-bit .deb packages can be downloaded and installed, as well as an installation package for TinyCore-based distributions (.tcz).

Compile and install from source.

Once downloaded the source code, you can compile it using Make.

NOTE: By default, the installation directories are under /usr/local, so to find the binaries correctly after installation, you must ensure that /usr/local/bin is on your $PATH environment variable.

On FLinux or any TinyCore-based distro

Install app dependencies and compile using make.

$ tce-load -wi make.tcz fluid.tcz pkg-config.tcz gettext.tcz \ 
    curl-dev.tcz gcc.tcz glibc_base-dev.tcz tcc.tcz mplayer-cli.tcz 

# Download and install Python 3.11.
$ wget -q -O /tmp/python3.11.tcz  https://gitlab.com/-/project/74160365/uploads/f286ad3d76aabc21492b31853c76bd0c/python3.11.tcz
$ tce-load -i python3.11.tcz

$ sudo make install

$ fltube        ## To open app.

On some distribution more minimalist, like FLinux, you must install some extra packages:

$ tce-load -wi ffmpeg4.tcz libEGL.tcz bash.tcz squashfs-tools.tcz

On a Debian-based distro

Install app dependencies and compile using make.

$ sudo apt install libfltk1.3-dev pkg-config libcurl4-openssl-dev g++ python3 gettext wget mplayer\
    ffmpeg libpng-dev zlib1g-dev libjpeg-dev libxrender-dev libxcursor-dev libxfixes-dev libxext-dev \
    libxft-dev libfontconfig1-dev libxinerama-dev
    
$ sudo make install

$ fltube        ## To execute app.

Development mode

You can install the app in a sort of "development mode", so instead of running make install you can do:

$ make PREFIX=./build install    ## Compile at relative path "./build"

$ ./build/usr/local/bin/fltube   ## Relative path to execute app.

Running make like this will let you delete the app more easily from your system (since everything is concentrated in a relative directory), besides let you make your own modifications and test them in a controlled development environment.

$ make clean    ## Finally, for clean ./build directory

Contributions

If you want to make a contribution (report issues, fix bugs, improve the code, add new features, translate to your language), you can open an issue at https://gitlab.com/facuA/fltube/-/issues.

yt-dlp installation

Is recommended to use the latest version of yt-dlp, so we encouraged to use the installation script provided by this app.

Once FLTube is installed, run this command on a terminal to install yt-dlp:

$ install_yt-dlp.sh

By default, yt-dlp will be installed at $HOME/.local/bin, but you can change the target installation directory using the -p parameter. Run install_yt-dlp.sh -h for more help.

[!!] TODO [!!]

Complete this README!

Clarifications

This application is based on an initial concept created by Nicolas Longardi for a package called FLTube, developed for the Spirit-OS distribution. https://gitlab.com/tinydesktoplinux/xpkg/-/tree/f5e29a272fbd27d91c9b17b775ee79f3e3ea420e/fltube

License

This project is licensed under the GNU General Public License v3. For more details, see the LICENSE file.

About

Mirror of https://gitlab.com/facuA/fltube. FLTube is an application for search & stream Youtube videos. Written for FLTK and powered by yt-dlp.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages