ADBTuner: A "channel tuning" application for networked Google TV / Android TV devices

I don't know what the tech specs are for ANdroid 14 but based on what we have here, the Onn 12 boxes may not handle the update.
The price point makes it more of a throw away type device.
If it was an Nvdia shield, i could see it updating becuase of the price point.

I agree with you @rpaulmerrell. It would be pretty pricey to have several Nvidia Shield devices running as dedicated ADBTuners. I use mine exclusively as clients.

FWIW, Nvidia Shield TV Experience 9.0 updated the OS to Android TV 11. The most recent update 9.2 remains at 11. From what I see, the Shield does have a toggle to disable auto upgrades.

The reason I got My ONN units was to record DRM from my HDHomerun Prime units ... but Google broke the ability to view Cable DRM on Android devices. So right now they are pretty useless as they do not support Streaming from XFNITY.... so I am using 5 Firesticks to record from XFINITY Stream... which is great as any Channel I subscribe to I can record using ADBTUNER.

My google chromes are still working with HDHomerun prime. Maybe they were not updated? I'm not complaining.

2 Likes

Can you play DRM Channels ? that is the only problem.

You are lucky this is a Silicondust Post ...

One of my Android Devices (a Google TV Chromecast Dongle) works fine on all the DRM channels. The other identical Google TV dongle does not. Also none of my Android devices or WIN10 HDHOMERUN work on DRM channels.

Perhaps the one Google Device I have that is working has an unexpired certificate?

Edit They fixed Win 10.

I just checked my windows hdhomerun also works with DRMs. I double checked on the chrome, and I was able to play HBO just fine. I'm hoping this doesn't break.

How do you add special characters in channel name in ADBTuner? I tried to escape & with a \ and I tried & but both added the amp; in after it in the title on the channels guide.

This is fixed in the experimental version.

1 Like

Spun this up again and went to modify the docker files to suit my particular streaming app.

But can’t seem to access the files like I used to. Has something changed in the docker to lock this down from being modified?

Usually would change the key events for closing a channel to stop the video without killing the app. The app has a custom player so the stop video command doesn’t work.

Maybe you're thinking of ah4c? ADBTuner isn't open source, and not really designed to be customized in that way.

1 Like

Yeah might have to give that a go.

Nah I used to edit the files inside docker desktop and change the adb key events. But can’t seem to access those files anymore.

I really liked the tuner management for adbtuner.

With ah4c is it easy to set up the stream to feed through ffmpeg to run a -ss command?

We should move this to the ah4c thread if you have other questions...

Yes, you can T the stream into ffmpeg -- but you're significantly increasing the resource requirements for the container, as ffmpeg is handling it from start to finish. Normally ah4c is just a proxy, with super low resource requirements.

2 Likes

No changes have been made. If you were connecting to a running container and making edits you should still be able to do as such.

Out of curiosity, which app is this and what command does work?

For reference, ADBTuner sends KEYCODE_MEDIA_STOP followed by KEYCODE_MEDIA_PAUSE to stop playback.

1 Like

Hmm okay, will have to investigate further as to why I can’t access this.

So my app was Foxtel. While in the player I would end the video with keyevent 84, which is search.

Then I previously would send a keyevent 3(home) but I think it actually works better for the app to leave it running and then pre channel tune have it send a keyevent 3, then send the channel tune command.

I suppose from app to app if you can find a keyevent to switch tabs like for my app, and stop the video that way, you may be able to go home right before a tune to load the next channel, rather than killing the entire app. Can’t see it being a blanket rule though.

Would be cool to have the default compatibility mode, and then have it customisable too.

Eg: pre tune keyevent sequence, pre tune timer(for delaying the video), stop tune keyevent sequence

EDIT: okay change from docker desktop to orbstack and I can edit the files. Thanks!

Hey, so I know that someone mentioned this before - but based on what you're saying it seems pretty clear to me that you are / were using a sister project "ah4c" and not this project "adbtuner". This project is not about sending remote keycodes, this is about using deep links to drive apps which support such. Both of these leverage streaming "sticks" and hdmi encoders, but they use different mechanisms to control the devices. Your focus and interest on sending keycodes is what is confusing here, but maybe I'm the one who is confused.

Sorry all for being a bit off track.

Yes, you're right mbcomer68, probably more ah4c is what I should be using.

@turtletank, just for your knowledge if you ever are trying to improve compatibility and you want to know what helped my particular app:

  • Have all my channels in 'compatibility mode'.
  • 'Compatibility mode timer' set to 4 (to suit my app).
  • 'Force kill app' and 'Stop playback' set to key event 84(search).
  • 'Pre tune compatibility mode' set to key event 3(home) and removed 2s sleep timer.
  • 'Keep alive package' set to launch app and then key event 84, so that its on the search tab, ready for the next tune.

May not be useful but I feel like I've gotten it pretty bullet proof this time. Will edit this post in a few days if I run into any issues.

1 Like

That sure would be overkill for the APP I use XFINITY Stream....
Set Compatibility Mode ...
Launch APP with Deeplink
Close APP

that is all I need.

Yep for sure, I wish I could do the same.

This takes my channel tune speed from around 20seconds before video starts playing to about 5seconds.

So worth the trouble for myself. Plus now ABDTuner handles all the tuner 'priming' and device waking commands, which is nice. And no need to run the streams through ffmpeg now.

Thanks for sharing this.

Interesting. Does ADBTuner also not detect the start of video playback in this app? Even in compatibility mode it should exit way before 30 seconds if video is playing.

Overall it's been a challenge trying to find a generic configuration that works across most apps and devices. You would basically need a completely custom plugin or something just for this one app that overrides the default functionality. I wouldn't want to fill the UI with enough options and widgets to make this possible otherwise. It would be too much IMO.

As has been said, ah4c is a better place for getting this far into the weeds, but I'm always looking for ways to improve compatibility where I can without making things too complex for basic use. I have some ideas that, time permitting, I will implement to extend things a bit.

A little heads-up for any Xfinity ADBTuner users frustrated by having some of their premium movie channels (6 in my case) broadcast with black borders on all 4 sides. I've added an autocrop capability to ah4c (using the LinkPi API, so one of their encoders is required).

Basically, when a movie is broadcast on one of these channels, the aspect ratio is determined and the movie cropped to fill the screen side-to-side. The top and bottom are cropped based on the aspect ratio. More details here:

Deeplinks are used for tuning, in case you're wondering. :slight_smile:

EDIT: Also, I'm willing to add support for other encoders, now that I have the framework in place. If you'd like me to look at adding your encoder, please post whatever details you can find on their API (assuming they have one), in the ah4c thread.