Thanks, seems dl now works with the PO provider toggled on too, awesome
Do you plan on putting this on OpenReposx?
I could offer to put it on Chum via my account. Testing first I guess.
The latest fixes and changes are beautiful. Itās a pleasure to use!
Some more suggestions, if I may:
- automatically focus the search box and raise the keyboard when opening the āsearchā page
- import backup from pipepipe/newpipe
Then my life is complete ![]()
I shall potentially contribute with code and not just requests, as soon as I have the dev setup in placeā¦
@projectmoon At some point, yes.
@ohnonot Feel free to put it up on Chum if youād like, as far as i understand i need a requested account in there.
Since i dont have one thats fine.
@nicov84 i will have to test with newpipes export controls and see how it works, shouldnt be too hard (assuming some type of clean json export or similar) ![]()
and
Both succesfully built from the current latest commit of the main branch, one can download the rpm by clicking on the desired architecture.
I have submitted a request to put it in chum:testing. It wonāt take long.
The newest version of fintube does not recognize yt-dlp anymore although it is in ~/.local/bin, and refuses playback. It used to work before. What gives?
The log - with YOUFISH_DEBUG=1 - is very short:
[D] unknown:0 - Using Wayland-EGL
library "libui_compat_layer.so" not found
library "libutils.so" not found
library "libcutils.so" not found
library "libhardware.so" not found
library "android.hardware.graphics.mapper@2.0.so" not found
library "android.hardware.graphics.mapper@2.1.so" not found
library "android.hardware.graphics.mapper@3.0.so" not found
library "android.hardware.graphics.mapper@4.0.so" not found
library "libc++.so" not found
library "libhidlbase.so" not found
library "libgralloctypes.so" not found
library "android.hardware.graphics.common@1.2.so" not found
library "libion.so" not found
library "libz.so" not found
library "libhidlmemory.so" not found
library "android.hidl.memory@1.0.so" not found
library "vendor.qti.qspmhal@1.0.so" not found
[D] unknown:0 - Got library name: "/usr/lib64/qt5/qml/io/thp/pyotherside/libpyothersideplugin.so"
What does the new diagnostics button in providers settings say?
It happens for both your latest release and the just-compiled version, both for FinTube and FinTune.
Diag for Fintube:
FinTube / FinTune ā PO-token provider diagnostics
app data dir: /home/defaultuser/.local/share/harbour-fintube
Deno : /home/defaultuser/.local/bin/deno (v2.9.6)
git : /usr/bin/git
yt-dlp : NOT FOUND
ffmpeg : not installed (HD merge unavailable)
provider installed : no
provider enabled : no
server process : not started in this app session
port 4416 listening : no
answering HTTP : no
verdict : not set up
note: /ping only proves the HTTP server answers; the real proof is a token mint ā look for 'Generating POT' / 'poToken:' in the log below, which means it's genuinely working.
And just to be clear:
defaultuser@Xperia10III:~
> which yt-dlp
/home/defaultuser/.local/bin/yt-dlp
defaultuser@Xperia10III:~
> yt-dlp --version
2026.08.27.003630
Same for ffmpeg btw:
defaultuser@Xperia10III:~
> which ffmpeg
/home/defaultuser/.local/bin/ffmpeg
defaultuser@Xperia10III:~
> ffmpeg -version
ffmpeg version 7.0.2-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzimg
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
libpostproc 58. 1.100 / 58. 1.100
Interesting, and what happens if you press reinstall for yt-dlp and update for ffmpeg in settings?
For context i dont have either ffmpeg or yt-dlp in path as you can see in the diagnostics image i posted here
FinTube / FinTune ā PO-token provider diagnostics
app data dir: /home/defaultuser/.local/share/harbour-fintube
Deno : /home/defaultuser/.local/bin/deno (v2.9.6)
git : /usr/bin/git
yt-dlp : /home/defaultuser/.local/share/harbour-fintube/bin/yt-dlp (2026.08.27.003630)
ffmpeg : /home/defaultuser/.local/share/harbour-fintube/bin/ffmpeg (7.0.2-static)
provider installed : no
provider enabled : no
server process : not started in this app session
port 4416 listening : no
answering HTTP : no
verdict : not set up
note: /ping only proves the HTTP server answers; the real proof is a token mint ā look for 'Generating POT' / 'poToken:' in the log below, which means it's genuinely working.
For deno it says āNot installedā, but then also āFound in ~/.local/binā or so. Not a problem, but it feels weird.
It would be really, really nice if your apps would recognize that yt-dlp, ffmpeg and deno are already in PATH. With sandboxing disabled anyhow this shouldnāt be a problem.
Having several concurrent versions of the same program on my phone seems wrong.
Thereās also the case of somebody installing only Fintune, but not Fintube. What happens then?
BTW when the player is active (even when itās not playing) I cannot get to the Diagnostics button.
Yeah kinda realize now (a bit dizzy juggling a bunch of stuff at the same time), i removed the part where it looks for a externally installed binary.
I reason this as its hard to account for every single place users put their own externally managed binary (Even if that would be in a dir that is defined in the path or not), it makes things much easier for me to manage since the user just presses the install button and its managed by the app no fuss and no unexpected places to account for.
FinTune uses FinTubes binaries unless it isnt found.
āDeno foundā is to show the user that Deno detected, āNot installedā means the PO Provider isnt installed.
Personally i dont see the point of having the loose binary accessable in path, i mean you already use the FinTube as a sort of frontend for invoking the yt-dlp anyways so why do you need access to the CLI?
Even so i can somewhat understand with ffmpeg or maybe deno, and a easy compromise would just be to manually add the dir to path?
Though i would still argue most users wont need this, though that is an assumption ofc. ![]()
Last is a bug that i need to handle, thanks ![]()
No, itās in PATH. Thatās part of the environment.
The python backend should be able to find executables without specifying the full path.
https://docs.python.org/3.11/library/os.html and specifically https://docs.python.org/3.11/library/os.html#os.get_exec_path
It is possible though that the environment SfOS apps are started from doesnāt have ~/.local/bin in PATH even if my shell has. But itās a standard location on Linux systems, itās not arbitrary at all.
And it has worked before, no?
Personally i dont see the point of having the loose binary accessable in path, i mean you already use the FinTube as a sort of frontend for invoking the yt-dlp anyways so why do you need access to the CLI?
I use both yt-dlp and ffmpeg separately as well.
Other apps also use it.
Perhaps got completely lost in a thinktank and mumbled stuff completely aside from what you meant, sorry, my head has been all over the place all day haha ![]()
It worked before because it was a manually defined allowed path but i was worried that other install locations would interfere with which binaries the app picks.
So for example an issue with resolving videos or what not would have blamed on the app for finding a outdated binary, instead of the user placing it there.
Do i understand correctly what you mean by that the app still manages the binaries but they are placed in ~/.local/bin so that other apps can use those too via the PATH?
Latest release (1.1.1)
@nicov84 Adds the newpipe/pipepipe import from .zip or .db, it supports importing Subscriptions, Watch history + resume points, Locally created playlists and Bookmarked YouTube playlists.
And the keyboard now appears automatically when opening search.
Some other minor fixes to the UI is accounting for the notch at the top of the physical screen so the camera doesnt cover the video when in portrait mode.
Hide the miniplayer when in the āMoreā page (Settings and such) so it doesnt block anything visually.
Added so the app searches in PATH for an existing binary so @ohnonot you can delete the binaries in ~/.local/share/harbour-fintube/bin/ and it should pick the ones you want.
Minor bugfixes with the PO provider displaying āNot startedā despite being started.
Fintune got some minor fixes for cookie handling, so its clear when the cookies are stale.
Amazing work.
Iāll get back with the result of the import once back home later today. I have quite a few channels and saved playlists.
Glad to see such active development work going on here.
May I make a request that support for video subtitles be added one day? I am not sure the logistics involved in ripping these out of Youtube, but Freetube used to manage it.
Should be doable, it would be implemented as a separate fetch.
Though i am worried about those auto translated captions just exploding the selector with a 100+ options ![]()
Iād like to get some more stuff to implement first before i ship this, i think i post a new version a bit too often hehe
Worked perfectly from PipePipe 5.2.5. Amazing.
Looks like there is a chance for a working native YT client but I did not test it with bt phones yet. Alternative to Gstreamer playback subsystem looks promising in this regard.
Thank you for NewPipe import/export function. At the begining I was afraid that it doesnāt work because the app did not see my json exports but then I read that it supports zip/db format.
If I might suggest a few improvements for FinTube it would be Audio Only playback in background mode to save bandwidth and Default Speed settings or remember speed set during playback function(just like in NewPipe).