Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
bmlzootown

[Floatplane] Unofficial Roku Channel

Recommended Posts

Posted · Original PosterOP

This project is unofficial -- it is NOT associated with Floatplane Media in any way/shape/form.
A paid Floatplane subscription is required for proper use!

~Thanks to @Duder McBroham, whose post I used as a visual guide for this post's layout.~

channel-poster.png.c6ac343c436818695d31b1b95b7bf1d2.png

Was looking for a Roku client/channel, and I couldn't find one, so I wrote this small client.

 

Supports login via Floatplane only (no legacy LTT forum, nor Discord at the moment). 2FA login is supported. 

I'm currently working on a few bugs/enhancements, though I work full time, so progress is sparse. Pull requests/bug reports are more than welcome!

 

Where Can I Get It?

The source can be found on Github (https://github.com/bmlzootown/Hydravion), and it is available as a non-certified channel via access code (https://my.roku.com/add/5KZLCLZ).

 

Screenshots

 

Upon first launch, users will be asked to login, where upon doing so they will be presented with a list of their subscriptions. Select one and you'll be able to browse through a channel's videos the latest 20 videos posted by said creator (loading older videos is planned for a future release). Users can then pick the video they want to watch, taking them to the description page, or they can attempt to play said channel's live stream via the options menu [*] (will eventually change to a more pleasing format). Users can logout via the options menu as well.

 

subs.thumb.png.da11d662c5bf8122eac994291c40b364.png

content_screen.thumb.png.d11401963934a3c0afa3be798bb486c9.png

desc.thumb.png.bd8d7a71aa93931c556c198de0464614.png

Link to post
Share on other sites
Posted · Original PosterOP

Current Version: 1.5.7

 

Changelog

Spoiler

1/25/20 -- v1.5.7

  • Lower-res fallback isn't nearly as efficient as proactively grabbing all available resolutions (both Roku and video), and finding the highest common denominator

1/23/20 -- v1.5.6

  • Lower-res fallback was broken by the introduction of PreBuffer in 1.5.4, but now works again
  • Live-stream URI is now built properly

1/21/20 --  v1.5.5

  • Images are now cached for faster subsequent loads
  • Channel banners are now shown in the background on the sub screen (or if no banner is found, the icon is used instead)

1/21/20 -- v1.5.4

  • Implemented prebuffering on detail screen to reduce video load time

1/19/20 -- v1.5.3

  • Duplicate subscriptions (one expiring, one new) should only show up once
  • Live-streaming via options menu now works again (if stream is via Twitch or Floatplane regardless of CDN)
  • Comments added to source
  • Rearranged some of the source so that functions flow more chronologically 

1/16/20 -- v1.5.2

  • Properly check and sanitize stream-related variables

1/15/20 -- v1.5.1

  • Re-implemented crash fix from 12/22/19 that somehow undid itself locally
  • Fixed misnamed variable
  • Minor graphical tweak

1/14/20 -- v1.5.0

  • Properly implemented edge servers
  • Updated user resolution selection to provide all possible resolutions for given video
  • Fixed live-streams, reflects latest API change
  • Live-streams now show up as first video on creator's page

1/13/20 -- v1.4.5

  • Removed redundant 2FA task
  • Minor visual improvements

1/2/20 -- v1.4.4

  • Fixed timeout issue

12/22/19 -- v1.4.3

  • Fixed crash on launch

12/5/19 -- v1.4.2

  • Initialize video player w/ proper cookies to grab AES key

4/8/19

  • Added ability to load more than 20 videos
  • Allow user to select stream resolution via options menu

4/7/19

  • 2FA implemented
  • Added fallback for video resolution if video fails to play
  • Released via private access code

4/6/19

  • Added the ability to play live-stream through options menu

3/20/19 -- v1.1.0

  • Initial commit to Github

 

Link to post
Share on other sites
On 4/7/2019 at 6:22 PM, bmlzootown said:

This project is unofficial -- it is NOT associated with Floatplane Media in any way/shape/form.
A paid Floatplane subscription is required for proper use!

~Thanks to @Duder McBroham, whose post I used as a visual guide for this post's layout.~

channel-poster.png.c6ac343c436818695d31b1b95b7bf1d2.png

Was looking for a Roku client/channel, and I couldn't find one, so I wrote this small client.

 

Supports login via Floatplane only (no legacy LTT forum, nor Discord at the moment). 2FA login is supported. 

I'm currently working on a few bugs/enhancements, though I work full time, so progress is sparse. Pull requests/bug reports are more than welcome!

 

Where Can I Get It?

The source can be found on Github (https://github.com/bmlzootown/Hydravion), and it is available as a non-certified channel via access code (https://my.roku.com/add/5KZLCLZ).

 

Screenshots

 

Upon first launch, users will be asked to login, where upon doing so they will be presented with a list of their subscriptions. Select one and you'll be able to browse the latest 20 videos posted by said creator (loading older videos is planned for a future release). Users can then pick the video they want to watch, taking them to the description page, or they can attempt to play said channel's live stream via the options menu [*] (will eventually change to a more pleasing format). Users can logout via the options menu as well.

 

subs.thumb.png.da11d662c5bf8122eac994291c40b364.png

latest.thumb.png.80c528114df3e1e9cd49400a83aef13a.png

desc.thumb.png.bd8d7a71aa93931c556c198de0464614.png

Thank you for this so much! I just got a new roku. You had great timing I guess!

Link to post
Share on other sites
Posted · Original PosterOP
32 minutes ago, TFMRealm said:

Thank you for this so much! I just got a new roku. You had great timing I guess!

Yep, np! If you have any issues, let me know. Only been able to test on my own two devices, Roku Ultra/3, and a friend's TV, so there's bound to be some sort of issue(s) eventually.

 

That said, I just pushed another update -- can now browse back further than the latest 20 videos.

Link to post
Share on other sites

How did I miss this?  This is awesome, I swear I thought i looked for something like this when I started my Floatplane subscription.  So, do you have a job with LMG yet?  lol.  You should!

Link to post
Share on other sites
Posted · Original PosterOP
On 8/20/2019 at 9:11 AM, Eclorian said:

How did I miss this?  This is awesome, I swear I thought i looked for something like this when I started my Floatplane subscription.  So, do you have a job with LMG yet?  lol.  You should!

Sorry for just now seeing this -- notification probably popped up while I was at work, which usually means it gets swiped away via my watch.

 

It's a private channel, so it won't technically popup in their channel store (and I'm not overly sure how well google combs through these forums). As for a job? Yeaaaah, I wish (though I'm not nearly qualified enough, honestly). This was just something I threw together because a friend and I wanted it, and I was the only one with some background in programming. Thanks though, I appreciate it! 

Link to post
Share on other sites
Posted · Original PosterOP

Just a heads up for anyone still watching this thread (cue crickets)... I don't know if it's just an issue on my end or not, but I can't get any video to play via Hydravion. I started having issues last week, but I've literally worked every day since then, so I haven't really had the chance to poke around until now. 

 

I'm not sure if it's an HLS issue, nor am I knowledgeable when it comes to such, but I keep getting error code -5 with the error message "no valid bitrates". Between that and the connection timing out, I'm not sure what's going on. Everything was working as of 2 WAN shows ago. 

 

In any case, if/when I find a solution (or if it magically starts to work again), I'll give y'all an update. If anyone is still using this, and it actually works, feel free to poke me.

Link to post
Share on other sites
Posted (edited) · Original PosterOP

Welp, here's that update (it's amazing what a few hours of sleep can do for one's mental well-being). Either they switched to using AES-128 recently, or the API call to grab the AES key didn't previously require the proper cookies to grab it... Either way, after telling the video object to pass along the proper cookie headers, it can now grab the key, so everything seems to be in working order. 

 

The updated version should be pushed out shortly. ?‍♂️

 

Edit: Update has been pushed.

Edited by bmlzootown
Link to post
Share on other sites

So I just found this and got it installed on my TCL Roku TV and it starts to load then just goes back to the home screen. No error just didn't load at all. 

Link to post
Share on other sites
Posted (edited) · Original PosterOP
On 12/15/2019 at 4:03 PM, Dr. Pockets said:

So I just found this and got it installed on my TCL Roku TV and it starts to load then just goes back to the home screen. No error just didn't load at all. 

Were you the one who opened an issue on Github, by chance? If so, I apologize for not seeing it (as well as this) sooner. I haven't been getting any notifications for some reason over there, and the email notifications here look so similar to the notifications for Floatplane that I must have swiped it away on my watch while at work. ?‍♂️

 

Are you sideloading the channel, or did you add it through the official Roku site? What's the max resolution of the TV, model, and what firmware is it running? I doubt any of those things would be the cause, but it's better to be safe than sorry.

 

The channel starts by loading the home_screen, where the login screen is initially set to visible, and it checks to see if the necessary cookies (for API calls) are stored in the registry... Perhaps the issue lies therein? I haven't had said issue on either my Roku 3 or Ultra, but that doesn't mean they didn't change something specifically for TCL's devices (although doing so seems unlikely). 

 

All that said, the way Roku handles debugging in general is a bit odd, imo -- to view any output from a channel, one has to sideload it and then telnet into the debugging console (port 8085). If you're comfortable with doing that, I can create a separate testing branch for you to sideload, and then you could post the output here (or in the Github issue) so that I can poke around at it.

 

Edit: I created a filter to catch email notifications about replies to this thread, and have it setup to forward them directly to my phone via text. That should definitely catch my attention from here on out. 

Edited by bmlzootown
Link to post
Share on other sites
Posted · Original PosterOP

The fix to the previous error (AES-key related) meant that the video player couldn't be properly initialized until later as it required access to the proper cookies to grab the relevant key file. I've moved that bit of code to run after the user successfully logs in, so all should be good. The update has already been pushed. Sorry about that!

 

If anyone is still having issues, feel free to open another issue on Github (or reopen #4 if you're still experiencing the same bug @Dr. Pockets).

Link to post
Share on other sites

I had the same blank screen issue, fyi.  I was able to get it to work again by removing the channel from my Roku and following the link in your first post to add it back again.  When I checked the app for updates when it was broken it stated the app was already up to date (which either wasn't true, or the problem wouldn't fix itself until i reloaded the app altogether).

 

Thanks for making this app!

Link to post
Share on other sites
Posted · Original PosterOP
14 hours ago, Tarrant64 said:

I had the same blank screen issue, fyi.  I was able to get it to work again by removing the channel from my Roku and following the link in your first post to add it back again.  When I checked the app for updates when it was broken it stated the app was already up to date (which either wasn't true, or the problem wouldn't fix itself until i reloaded the app altogether).

 

Thanks for making this app!

Was the channel crashing, or was it loading a grey-ish blank screen? 

 

The former was the issue described above, which was entirely my bad. The latter is an issue I've experienced as well in the past on my Roku 3, but I could never keep the app side-loaded long enough to see what the cause was (everything I side-loaded on the Roku 3 would crash after a minute or two). I was able to bypass re-installing all together by logging out (options key), though, which dumps the stored cookies and sends you back to the login screen, hence I believe the issue may be related to said cookies expiring. I'm off tomorrow (well, today), and I also have a few days next week... I'll poke around a bit more and see if I can replicate the issue under more controlled conditions.

 

You're more than welcome! Thank y'all for helping iron out the bugs. If it was just me, half of this stuff would go unnoticed. 

 

Link to post
Share on other sites
Posted · Original PosterOP

Pushed an update (1.4.4) just now. Newer videos were sometimes timing out due to Roku's VideoPlayer's short default timeout. Bumped that up to (an insane) 30s just to be safe, and it seems to be working. If that proves to be too long in the future, I'll dial it down a bit.

 

As always, if anyone has any issues, feel free to poke me/open an issue on github!

Link to post
Share on other sites
Posted · Original PosterOP

Thanks to some PTO that wasn't going to carry over at the start of the new fiscal year, I've had some extra time on my hands the last few days.

 

v1.5 is now live, with a few of the following changes:

  • Edge servers are (sort of) handled properly now. On login, the channel will pick the fastest connection and use that server. Those of you already logged in are fine, it will pick the best server on startup.
  • If you go into the options menu (asterisk) when viewing the detail screen (screen with the play button), you will now be presented with every possible resolution, per your subscription, for the given video. If your setup supports 4k and you have the $10 sub, that should now be reflected... and, if by some magically chance your Roku device supports 8k, you should totally check out the yule log video in its full glory (if you dare)!
  • Live streams should (hopefully) be fixed. There was an update server-side at some point that broke it completely, but I've fixed what all I could.
  • Any stream that is currently live should, in theory, now be the first video available upon selecting a creator from the subscription screen.

Speaking of, if anyone happens to catch the next WAN show, I'd appreciate any feedback as to whether the last two bullet points worked properly for you or not. I should be home by then, but after roughly an entire week away from work, there's no telling how hectic my day will be... Thanks!

 

1/16/2020 Edit: Updated to 1.5.2, fixed an issue caused by the live-stream check.

Link to post
Share on other sites
Posted (edited) · Original PosterOP

Anyone watching atm, live streams still aren't working. I'm looking into it asap while the WAN show is currently live. 

 

I wan't able to figure it out in time. For anyone that has any experience with proper m3u8 formatting, Twitch, and/or Roku, I'd appreciate it if you'd take a look at the relevant issue that I've reopened on Github. 

 

After tinkering all night, I was able to at least get live streams working again (or at least live streams from the LTT channel). Still no way to determine whether a sub is live or not, however.

 

Edit: There have been subsequent updates that I haven't created a new post for, but they are reflected in the changelog (second post), so be sure to check that out!

Edited by bmlzootown
Link to post
Share on other sites
On 1/17/2020 at 9:05 PM, bmlzootown said:

Anyone watching atm, live streams still aren't working. I'm looking into it asap while the WAN show is currently live. 

 

I wan't able to figure it out in time. For anyone that has any experience with proper m3u8 formatting, Twitch, and/or Roku, I'd appreciate it if you'd take a look at the relevant issue that I've reopened on Github. 

 

After tinkering all night, I was able to at least get live streams working again (or at least live streams from the LTT channel). Still no way to determine whether a sub is live or not, however.

 

Edit: There have been subsequent updates that I haven't created a new post for, but they are reflected in the changelog (second post), so be sure to check that out!

Thank you so much for making this. I had just been using the internet browser on my firestick so I was bummed when I got a new JVC Roku TV and they didn't have a browser. It works great. Can't wait to see if it will work Friday for WAN. I really appreciate your hard work!


Case: Corsair Carbide 275R CPU: AMD Ryzen 5 3600x Motherboard: Asus-Tuf B450M-Plus Memory: Corsair-Vengeance LPX Storage: WD Blue Desktop 1TB, Evo Plus 970 500gb SSD M.2 GPU: Gigabyte 1060 GeForce Windforce OC GTX PSU: Corsair-VS450 Monitors: ASUS VZ239H-W 23 inch keyboard: Corsair K70 Mouse: Razer-Lancehead Tournament Edition Fans: Corsair RGB 

 

 

 

Link to post
Share on other sites

You may also get more feedback if you post in the Pilot Chat on Discord.


Case: Corsair Carbide 275R CPU: AMD Ryzen 5 3600x Motherboard: Asus-Tuf B450M-Plus Memory: Corsair-Vengeance LPX Storage: WD Blue Desktop 1TB, Evo Plus 970 500gb SSD M.2 GPU: Gigabyte 1060 GeForce Windforce OC GTX PSU: Corsair-VS450 Monitors: ASUS VZ239H-W 23 inch keyboard: Corsair K70 Mouse: Razer-Lancehead Tournament Edition Fans: Corsair RGB 

 

 

 

Link to post
Share on other sites
Posted · Original PosterOP
3 hours ago, Elektra57 said:

You may also get more feedback if you post in the Pilot Chat on Discord.

I've been in there for a while, and ya know what... The thought never even crossed my mind, haha. ?‍♂️

Link to post
Share on other sites
Posted · Original PosterOP

So I'm not sure what's causing the stuttering when the WAN show is live. Swapping out the stream URL for, say, a Twitch stream does cause issues, but it's not quite the same stuttering that both I and @Elektra57 have experienced (in this case, the video just completely stops after a few seconds). I'll switch back to reading the m3u8 playlist directly via URL and hope for the best. I won't be home tonight (working until 12am), however, so I won't be able to test. If anyone else can, it'd be appreciated.

 

I'll go ahead and push out the update now.

Link to post
Share on other sites

I did try it out again tonight and experienced the same stuttering.


Case: Corsair Carbide 275R CPU: AMD Ryzen 5 3600x Motherboard: Asus-Tuf B450M-Plus Memory: Corsair-Vengeance LPX Storage: WD Blue Desktop 1TB, Evo Plus 970 500gb SSD M.2 GPU: Gigabyte 1060 GeForce Windforce OC GTX PSU: Corsair-VS450 Monitors: ASUS VZ239H-W 23 inch keyboard: Corsair K70 Mouse: Razer-Lancehead Tournament Edition Fans: Corsair RGB 

 

 

 

Link to post
Share on other sites
Posted · Original PosterOP
2 hours ago, Elektra57 said:

I did try it out again tonight and experienced the same stuttering.

Darn it. Well, I'll keep poking. If I come up with anything (or if anyone else looking at this happens to have any ideas), I'll let you all know. 

Sadly, I'll be at work until 10pm EST next Friday as well (next week is going to be hectic), so I won't be able to test while an actual stream is live for quite a while. 

 

Linus... why you no live stream more often?! ?

 

Edit: No, yeah... it's freezing/stuttering/tiling again when I test it w/ other HLS stream sources. This is weird. May be an OS-related bug? I'll keep poking.

 

Edit #2: This seems to be an issue relative only to Roku. I can play the exact same live stream via VLC, or the port of Hydravion that I wrote for tvOS, with absolutely no issues. I'm going to post on their dev support forum to see if this is a known problem, or if anyone has found a fix.

Link to post
Share on other sites

Everything else has been perfect. I've had no issues with VOD's on Bitwit and LTT. Just the Livestream.


Case: Corsair Carbide 275R CPU: AMD Ryzen 5 3600x Motherboard: Asus-Tuf B450M-Plus Memory: Corsair-Vengeance LPX Storage: WD Blue Desktop 1TB, Evo Plus 970 500gb SSD M.2 GPU: Gigabyte 1060 GeForce Windforce OC GTX PSU: Corsair-VS450 Monitors: ASUS VZ239H-W 23 inch keyboard: Corsair K70 Mouse: Razer-Lancehead Tournament Edition Fans: Corsair RGB 

 

 

 

Link to post
Share on other sites
On 2/15/2020 at 12:37 AM, bmlzootown said:

Darn it. Well, I'll keep poking. If I come up with anything (or if anyone else looking at this happens to have any ideas), I'll let you all know. 

Sadly, I'll be at work until 10pm EST next Friday as well (next week is going to be hectic), so I won't be able to test while an actual stream is live for quite a while. 

 

Linus... why you no live stream more often?! ?

 

Edit: No, yeah... it's freezing/stuttering/tiling again when I test it w/ other HLS stream sources. This is weird. May be an OS-related bug? I'll keep poking.

 

Edit #2: This seems to be an issue relative only to Roku. I can play the exact same live stream via VLC, or the port of Hydravion that I wrote for tvOS, with absolutely no issues. I'm going to post on their dev support forum to see if this is a known problem, or if anyone has found a fix.

You mentioned a tvOS port. How do we get that installed? Or is it not live yet? Thanks for the work you've done so far! Everything is great.

Edited by ic3th3gr8t
Link to post
Share on other sites
Posted · Original PosterOP
8 hours ago, ic3th3gr8t said:

You mentioned a tvOS port. How do we get that installed? Or is it not live yet? Thanks for the work you've done so far! Everything is great.

It's... a bit complicated. Since I have no paid developer account, I can't really release it on the app store, so you'd have to sideload it (this video gives a basic gist of how to do so -- older devices connect via USB, newer 4k models can be added wirelessly, should be able to figure that bit out with a quick Google search). The source is up on Github.

 

If you have any issues, let me know. I've only tested on the simulator, so I make no promises that everything will work 100%.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×