Hi, just tested your app on my Shield pro, really great work.
i was missing ambilight since i got my shield.
I tested with hyperion-ng is it also compatible with the old hyperion?
IMO the black detection (not blackborder) was better in the old hyperion, or does anyone know where the black threshold is gone in NG?
Beiträge von jeckyll
-
-
Can anyone with a rooted fire TV / shield / android TV try to install xposed framework with the modul Disable Flag Secure and try if it works?
https://github.com/veeti/DisableFlagSecure
I tested this on my rooted M8, and I was able to do a screen capture of all apps tested so far, with the Screenrecord app @Brindosch asked for some posts earlier.
-
The phone I used for the videos was rooted maybe that's the point, so for now maybe static color on amazon / Netflix and ambilight for the rest. Since I got my shield also, games, zatoo and so on works
-
in the minicap folder there is an example app which gives you output in a browser:
-
Try to manual set the display res in run.sh for ex.: 1080x1920@1080x1920/0
First res is the real screen res, second ist the virtual minicap will output.-P 1080x1920@1080x1920/0 should also work
i had the best results with a lowered output resolution -
Minicap works pretty good so far.
But not sure about how to connect it to hyperion. Possibilties I see:
- using the minicap binary format (port1313 in the minicap example), but needed to be translated for hyperion
- using websocket (port1717 in minicap), could be opened in a browser and then grabbed somehow for hyperion.sadly I am no dev, but maybe someone of you has some (other) ideas...
THX
ChaosThey gave a great documentation about the binary format, so i think this would be the way to go
-
Amazon works, YT as well. Netflix blanks the screen only the on screen buttons are visible
-
For the video i just used the included webpage in stf
-
We don't Need hyperion on android. We Need a "device" in hyperion that can handle the informations send from a android device with this minicap thing.
@jeckyll can you provide More Info on how to get this working (as in your videos) ?
I did the videos with that:
https://github.com/openstf/stf
just build in a linux enviroment and you can get the screen
-
Hello,
I received my shield today and installed the Hyperion plug-in.I can not start it and I do not understand where to put the configuration file "hyperion.config.json" on Android device ?!
thank you in advance for your help
For the moment you need an extra device like a raspberry in combination with android
ATM just Nvidia Shield-->Kodi-->Hyperion Plugin and RPI / Linux PC with hyperion and the config in /etc/hyperion -
I know for sure, because I use vysor from time to time via network adb.
THX
ChaosSo we can say:
Most set top Boxes like Nvidia Shield / Fire TV
Android Phones
Android TVsall have adb on board, so theres a good chance that minicap also works on them.
That would give us a great way to get the screen from Android based devices and use them on hyperion
Especially for people using 4K Tvs, cause no more expensive grabbers would be needed and no problems with HDR / CEC and so onAnother great thing on minicap is that is can resize the output image to reduce load and bandwith
-
Can you check if it also has adb?
-
Anyone here got an Android based TV?
-
For anyone who want's to check if at least adb (android debugging bridge) is working with your target device, here is what you need to do:
1: You need an android based device
2: Install the adb drivers and tools
,either via https://developer.android.com/studio/index.html or manual (look on xda-developers.com)
3: enable USB debugging on the device.
Go to settings, info, software identity, more
tap the build-number several times fast (8-10 times) go back to settings and click on developer options, tick on USB debugging.Connect the device to your pc.
Open a terminal and type adb shell
And you should land on shell on the deviceFor trying over LAN/WiFi also do:
adb tcpip 5.5.5.5
adb connect ip-of-device:5.5.5.5If this works please report back with
-device name
-software version
-rooted? -
it should, the shield for example also has adb on board. In theory it should also work via wireless adb.
@TPmodding
You can try going in settings, find the build number and click several times on it. After that you should have a new entry called developer options, there you can enable debugging. -
Netflix works also, i will post a video i took of the capture so you can see the speed (i did with stf which is also based on minicap)
Netflix:
[MEDIA=streamable]jxf29[/MEDIA]Amazon:
[MEDIA=streamable]bzwz7[/MEDIA]Don't know about 4k but i think 1080p is better than nothing and would fit for most people
-
I can check with netflix, but i need the device from a friend, cause i got no account, but the app itself works
-
I currently use Android 6.0.1
-
So here are some testing results:
On my Laptop with Ubuntu 16.04 i compiled minicap as described here:
https://github.com/openstf/minicapI need to set the resoulution by hand as autodetection didn't worked on my One M8 (change the arg line in run.sh)
Now i'm able to get the binary output of the screen on terminal via
nc localhost 1313 in the following format: (taken from Minicap Readme)It is assumed that you now have an open connection to the minicap socket. If not, follow the instructions above.
The minicap protocol is a simple push-based binary protocol. When you first connect to the socket, you get a global header followed by the first frame. The global header will not appear again. More frames keep getting sent until you stop minicap.
Global header binary format
Appears once.Bytes Length Type Explanation
0 1 unsigned char Version (currently 1)
1 1 unsigned char Size of the header (from byte 0)
2-5 4 uint32 (low endian) Pid of the process
6-9 4 uint32 (low endian) Real display width in pixels
10-13 4 uint32 (low endian) Real display height in pixels
14-17 4 uint32 (low endian) Virtual display width in pixels
18-21 4 uint32 (low endian) Virtual display height in pixels
22 1 unsigned char Display orientation
23 1 unsigned char Quirk bitflags (see below)
Quirk bitflags
Currently, the following quirks may be reported:Value Name Explanation
1 QUIRK_DUMB Frames will get sent even if there are no changes from the previous frame. Informative, doesn't require any actions on your part. You can limit the capture rate by reading frame data slower in your own code if you wish.
2 QUIRK_ALWAYS_UPRIGHT The frame will always be in upright orientation regardless of the device orientation. This needs to be taken into account when rendering the image.
4 QUIRK_TEAR Frame tear might be visible. Informative, no action required. Neither of our current two methods exhibit this behavior.
Frame binary format
Appears a potentially unlimited number of times.Bytes Length Type Explanation
0-3 4 uint32 (low endian) Frame size in bytes (=n)
4-(n+4) n unsigned char[] Frame in JPG formatSeems very fast and also works on Amazon video app and every app i tried
So i think what we need is:
A hyperion module which utilizes minicap for getting the Screen Data from an Android device an send the output to hyperion, as minicap is already Android 7.1 compatible this should give us a good way of capturing the screen on many devices.
The great is that it works without root an that frames are only send if there are changes, no changes no new frames
AFAIK this would be the only possible method for getting screen data from Android devices since local installed apps won't have access to the screen data (except you're rooted)
Now the bad, i'm no developer so i'm unable to do by myself, but i'm allways willing to help, test or debug
So, why minicap?
The Android own screencap function for adb is way too slow, we would only get 1 frame every few seconds, not enough for hyperion. And why not use an existing method if available?My Shield pro arrives tomorrow and then i check if it also works
-