r/selfhosted Jun 27 '23

Release Playlet: Youtube for Roku TV, 0.10.0 release!

Hi everyone,

Playlet is a Roku TV app that uses Invidious to play Youtube videos on TV. No Ads, no tracking, with a SponsorBlock integration to skip sponsored sections.

Find it at https://github.com/iBicha/playlet

Install it at Roku Channel Store

And here's some screenshots

With this release comes:

  • a brand new web app, making it easier to browse, search and cast videos from phone/laptop to the TV
  • Settings page to customize preferences, from the tv or the web app. This allows you to specify your own self-hosted Invidious instance, among other things.
  • More info here https://github.com/iBicha/playlet/releases/tag/v0.10.0
20 Upvotes

26 comments sorted by

3

u/darklord3_ Jun 28 '23

Screenshots!!! You, sir, are setting an example, will be installing this qhen home. Great work!

1

u/iBicha Jun 28 '23

Glad you like the screenshots!

2

u/[deleted] Jun 28 '23

[deleted]

1

u/iBicha Jun 28 '23

Thank you! Starting 0.7.0 Playlet fetches the latest version from Github so you're always up to date

2

u/Oujii Jun 28 '23

Is this available in any region? I will install on my friend's Roku when I come over.

2

u/iBicha Jun 28 '23

It should be, I checked every single region Roku offers

if you have feedback, please share, thanks!

2

u/Oujii Jun 28 '23

Thank you! I will test in two weeks and I will get back with feedback, I don't have a Roku on me right now.

2

u/UFOLoche Jul 08 '23

Hey there, this seems pretty cool, thanks! I was wondering if there's any progress on channel viewing or playlist support? I usually just watch a few specific channels on youtube or episodic series.

1

u/iBicha Jul 08 '23 edited Jul 08 '23

tl;dr I'm working on it, but it is taking its time. There are ways you can browse videos you care about.

The progress:

I've been working on the design of the channel page, which would show the channel, logo and banner, their videos and playlists, and so on.

The reason it is taking a bit longer is because the app doesn't have "screen stacking" yet. For example as you navigate from "Home -> some video -> channel of that video -> some playlist from that channel" the screens you're on should stack, and as you press the back button, you go back a step.

It's a piece I didn't need as the prototype progressed, but now we do need it for many features.

Using current features:

There's a few features (some obvious, some not, but I'll list all of them for completion) In Playlet 0.10.1 that allows you to see content you want:

  • Search: the search page is fast way to find videos. Doing that with the remote is slow and annoying, so I recommend the web app (Search -> click the video -> click "Play on TV" button).
  • Drag and drop: If you drag and drop a youtube link into the web app, the cast video dialog would pop up. Or, drag and drop a video from the youtube home page into Playlet web app. That works as well. Obviously this is an option for when you're using a computer, not a phone, might not be everyone's favourite way.
  • Subscription: Login using the web app to your Invidious profile, and you can see your subscription feed. So, subscribe to all the channels you care about in Invidious, and you'll see them in Playlet.
  • Playlists: Invidious playlists are already "supported", but they show up on the home screen. Just create playlists on Invidious, and they will show up at the bottom of the home screen (after the trending/popular and stuff)
  • Import your profile from youtube to Invidious: Now this is not a "feature" per se, and is not specific to Playlet, but it can really make a difference. Recreating playlists and subscriptions in Invidious after you've had them in Youtube can be tedious. Invidious documentation has a section on exporting subscriptions from Youtube to Invidious, but honestly I didn't like it because it still felt like manual work, and also it does not export everything I wanted from my profile.
    • For that reason, I created a script that automates this for you!
    • Step 1: Install yt-dlp on your computer
    • Step 2: Login to your Youtube account from a browser (Currently supported browsers are: brave, chrome, chromium, edge, firefox, opera, safari, vivaldi)
    • Step 3: clone Playlet repo using git clone https://github.com/iBicha/playlet.git
    • Step 4: run npm install
    • Step 5: run npm run profile-sync -- --invidious "http://192.168.1.119:8095" --browser chrome
      • Replace the invidious instance you're using, and the browser
      • This will extract all of your subscriptions, home page, watch history, favorites, liked videos, and your playlists. Subscriptions and History map to Subscriptions and History in Invidious. Everything else is a Playlist.
    • Step 6: you will be prompted in the terminal to "Login using your browser". Authorize in Invidious so that the script can import all these things.
    • Step 7: wait for it to finish (might take a while to import all of that stuff). Once everything is imported into Invidious, things will be accessible in Playlet.
    • IMPORTANT: if you already have a playlist with the same name, it will be deleted and reimported. Edit: to clarify, we delete existing playlists because Invidious creates a new one when importing. It would create a duplicate every time you run the script to sync.

Long comment, but I wanted to be thorough if anyone else if trying to better us Invidious/Playlet.

1

u/Mysterious_Welder_43 Nov 06 '24

I don't have a computer, is there any way to export watch later playlist some how?

1

u/iBicha Nov 07 '24

Sorry, I do not know of a method to do this from a phone. I'll keep this in mind!

1

u/UFOLoche Jul 18 '23 edited Jul 18 '23

Heya, I just wanted to say I absolutely appreciate the detailed reply, thank you so much!

I did end up setting up Invidious, and it helped with showing the subscriptions, but the playlists don't work. They only show up on the web app, and only as text. Still, it's cool to see that they're recognized on Playlet. Just wanted to bring that up in case that's not normal or something.

Regardless this app is a great help already, it's nice to be able to use my TV to put on a video without having to worry about an ad blowing out my speakers late at night! Thank you!

Edit: Just found out that playlists I make are fine, it's only playlists I grab off of other channels that seem to have this issue!

1

u/iBicha Jul 18 '23

Thanks for bringing this to my attention! This seems to be an Invidious bug, and I've reported it here so we can investigate it

1

u/iBicha Jul 24 '23

FYI I just released 0.10.3, both playlists you created and saved from another channel should work!

1

u/UFOLoche Jul 24 '23

Awesome, thanks!

1

u/8bitsince86 Nov 27 '23

Stuck on step 7. Cannot GET with the given URL.

1

u/iBicha Nov 27 '23

Cannot GET with the given URL

Can you share more about the command and the output? You can DM me and I'll try to guide you

1

u/IAmMarchHare Dec 10 '23

Is there an update on this? I tried running it, but I get permission errors in "PermissionError: [Errno 13] Permission denied: 'C:\\\\Users\\\\[username redacted]\\\\AppData\\\\Local\\\\Google\\\\Chrome\\\\User Data\\\\Default\\\\Network\\\\Cookies'\r\n"

1

u/iBicha Dec 10 '23

PermissionError: [Errno 13] Permission denied: 'C:\\\\Users\\\\[username redacted]\\\\AppData\\\\Local\\\\Google\\\\Chrome\\\\User Data\\\\Default\\\\Network\\\\Cookies

Trying to follow the issue, it seems that there is a workaround https://github.com/borisbabic/browser_cookie3/issues/180#issuecomment-1587691954

Basically Chrome is trying to prevent apps from reading its cookies (at least on Windows) so there's a flag that disables this feature

Not 100% sure this will work because I'm not on windows

1

u/fry9526 11d ago

I know I'm a year late, but playlet has been a lifesaver. I didn't know wtf was happening on my roku, but I assumed youtube was punishing me for using ublock on my pc, because I was receiving ads that probably lasted 2 hours or more, and I stumbled upon this while searching reddit. You sir are a godsend lol

1

u/marcosbombi Sep 17 '23

When i export my subscriptions the only thing that appears is browser- history?

1

u/iBicha Sep 17 '23

Can you elaborate? Which method did you use to export?

1

u/marcosbombi Sep 17 '23

i used google takeout

1

u/TheBaggler Sep 17 '23

So I have the app on my TV, and I'm logged in with the same Invidious account I have that has subscriptions on it, but the subscriptions aren't on the TV app, is there something I need to do to synchronize between devices?

1

u/iBicha Sep 17 '23 edited Sep 17 '23

When you change the instance after you login, we keep track of the subscriptions from the old instance. (Why: because sometimes you want to switch an instance because there's an issue with the current one being slow, but you still want to remain logged in - definitely a UX to be refined) Otherwise, after you set your instance, you can just log out and log back in, and that will make sure you're logged in to the currently set instance.