1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

REQUEST Android Grabber App

Discussion in 'Feature Requests' started by Brindosch, 10 May 2016.

  1. jeckyll

    jeckyll New Member

    Messages:
    22
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino
    So we can say:

    Most set top Boxes like Nvidia Shield / Fire TV
    Android Phones
    Android TVs

    all 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 on

    Another great thing on minicap is that is can resize the output image to reduce load and bandwith
     
  2. lololo

    lololo New Member

    Messages:
    3
    Hardware:
    RPi2, RPi3, 32/64bit, iMX6, +Arduino, +PhilipsHue
    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
     
  3. jeckyll

    jeckyll New Member

    Messages:
    22
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino
    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
     
  4. lololo

    lololo New Member

    Messages:
    3
    Hardware:
    RPi2, RPi3, 32/64bit, iMX6, +Arduino, +PhilipsHue

    Ahhhhh...OK thanks a lot
     
  5. thommy86

    thommy86 Member

    Messages:
    48
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +PhilipsHue
    How will this work with blackboarder detection? I am running Rasplex on the Pi and for Netflix I use the PS4. If blackboarder detection is an option for this solution, an Android device would be the best overal option.
     
  6. TPmodding

    TPmodding Administrator Staff Member Administrator

    Messages:
    913
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino
    before we find a solution for bb-detection, we need first a working solution for androids...please be patient :)
     
    • Like Like x 1
  7. Brindosch

    Brindosch Administrator Administrator

    Messages:
    679
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
    The blackbar detection works independent from source
    It is unlikely that we get a hyperion running on android for the moment
     
    • Like Like x 1
  8. b1rdhous3

    b1rdhous3 Member Developer

    Messages:
    51
    Hardware:
    RPi1/Zero, RPi3, 32/64bit, +PhilipsHue
    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) ?
     
  9. Brindosch

    Brindosch Administrator Administrator

    Messages:
    679
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
    I would first have a look if the MediaProjection can handle it or not. If it works, it is dead easy to transmit the content to Hyperion.
     
  10. jeckyll

    jeckyll New Member

    Messages:
    22
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino
    I did the videos with that:

    https://github.com/openstf/stf

    just build in a linux enviroment and you can get the screen
     
  11. Hardwarechaos

    Hardwarechaos New Member

    Messages:
    5
    Hi,
    thats what I did and seemed to work so far. (had to manually set the resolution, like you mentioned)
    How did you display the video? pipe localhost:1313 to mplayer?

    THX
    Chaos
     
  12. jeckyll

    jeckyll New Member

    Messages:
    22
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino
    For the video i just used the included webpage in stf
     
  13. Brindosch

    Brindosch Administrator Administrator

    Messages:
    679
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
  14. jeckyll

    jeckyll New Member

    Messages:
    22
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino
    Amazon works, YT as well. Netflix blanks the screen only the on screen buttons are visible
     
  15. Brindosch

    Brindosch Administrator Administrator

    Messages:
    679
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
    Cool, would be interesting what happens on Android 4.4, if you are forced for root :)
     
  16. BioHaZard1

    BioHaZard1 Member Developer

    Messages:
    55
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino
    @Brindosch

    MediaProjection will not allow us to capture objects (streams) within a secure surface or layer. This also won't work if the application has the secure flag enabled. I've just built Google's MediaProjection sample from source and on Netflix and Amazon video I just get a black screen.

    MiniCap does seem promising though, if I get some free time this weekend I'll look into it.
     
  17. Brindosch

    Brindosch Administrator Administrator

    Messages:
    679
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
    Sounds good!
    I wonder how he got a picture on prime with the screenrecorder (non root)
    Anyway, i think many people are looking forward to this :)
     
  18. Hardwarechaos

    Hardwarechaos New Member

    Messages:
    5
    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
    Chaos
     
  19. jeckyll

    jeckyll New Member

    Messages:
    22
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino
    They gave a great documentation about the binary format, so i think this would be the way to go
     
  20. TPmodding

    TPmodding Administrator Staff Member Administrator

    Messages:
    913
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino
    [email protected]:~/Downloads/minicap$ adb connect 192.168.0.110
    connected to 192.168.0.110:5555
    [email protected]:~/Downloads/minicap$ ./run.sh autosize -t
    + ndk-build NDK_DEBUG=1
    [armeabi-v7a] Gdbserver : [arm-linux-androideabi-4.9] libs/armeabi-v7a/gdbserver
    [armeabi-v7a] Gdbsetup : libs/armeabi-v7a/gdb.setup
    [arm64-v8a] Gdbserver : [aarch64-linux-android-4.9] libs/arm64-v8a/gdbserver
    [arm64-v8a] Gdbsetup : libs/arm64-v8a/gdb.setup
    [x86] Gdbserver : [x86-4.9] libs/x86/gdbserver
    [x86] Gdbsetup : libs/x86/gdb.setup
    [x86_64] Gdbserver : [x86_64-4.9] libs/x86_64/gdbserver
    [x86_64] Gdbsetup : libs/x86_64/gdb.setup
    [armeabi-v7a] Install : minicap => libs/armeabi-v7a/minicap
    [armeabi-v7a] Install : minicap-nopie => libs/armeabi-v7a/minicap-nopie
    [armeabi-v7a] Install : minicap.so => libs/armeabi-v7a/minicap.so
    [arm64-v8a] Install : minicap => libs/arm64-v8a/minicap
    [arm64-v8a] Install : minicap-nopie => libs/arm64-v8a/minicap-nopie
    [arm64-v8a] Install : minicap.so => libs/arm64-v8a/minicap.so
    [x86] Install : minicap => libs/x86/minicap
    [x86] Install : minicap-nopie => libs/x86/minicap-nopie
    [x86] Install : minicap.so => libs/x86/minicap.so
    [x86_64] Install : minicap => libs/x86_64/minicap
    [x86_64] Install : minicap-nopie => libs/x86_64/minicap-nopie
    [x86_64] Install : minicap.so => libs/x86_64/minicap.so
    ++ adb shell getprop ro.product.cpu.abi
    ++ tr -d '\r'
    + abi=armeabi-v7a
    ++ adb shell getprop ro.build.version.sdk
    ++ tr -d '\r'
    + sdk=22
    ++ adb shell getprop ro.build.version.release
    ++ tr -d '\r'
    + rel=5.1.1
    + (( 22 >= 16 ))
    + bin=minicap
    + args=
    + '[' autosize = autosize ']'
    + set +o pipefail
    ++ grep -Eo 'init=\d+x\d+'
    ++ adb shell dumpsys window
    ++ head -1
    ++ cut -d= -f 2
    + size=
    + '[' '' = '' ']'
    ++ adb shell dumpsys window
    ++ grep -Eo 'DisplayWidth=\d+'
    ++ head -1
    ++ cut -d= -f 2
    + w=
    ++ adb shell dumpsys window
    ++ grep -Eo 'DisplayHeight=\d+'
    ++ head -1
    ++ cut -d= -f 2
    + h=
    + size=x
    + args='-P [email protected]/0'
    + set -o pipefail
    + shift
    + dir=/data/local/tmp/minicap-devel
    + adb shell 'mkdir /data/local/tmp/minicap-devel 2>/dev/null || true'
    + adb push libs/armeabi-v7a/minicap /data/local/tmp/minicap-devel
    212 KB/s (366484 bytes in 1.686s)
    + '[' -e jni/minicap-shared/aosp/libs/android-5.1.1/armeabi-v7a/minicap.so ']'
    + adb push jni/minicap-shared/aosp/libs/android-22/armeabi-v7a/minicap.so /data/local/tmp/minicap-devel
    117 KB/s (13492 bytes in 0.112s)
    + adb shell LD_LIBRARY_PATH=/data/local/tmp/minicap-devel /data/local/tmp/minicap-devel/minicap -P [email protected]/0 -t
    WARNING: linker: /data/local/tmp/minicap-devel/minicap: unused DT entry: type 0x6ffffffe arg 0x1bf8
    WARNING: linker: /data/local/tmp/minicap-devel/minicap: unused DT entry: type 0x6fffffff arg 0x2
    ERROR: invalid format for -P, need <w>x<h>@<w>x<h>/{0|90|180|270}
    + adb shell rm -r /data/local/tmp/minicap-devel
    [email protected]:~/Downloads/minicap$
    hmm any hints?

    device: amazon fire stick