pipelka / roboTV

Android TV frontend for VDR
Other
73 stars 37 forks source link

Testbuilds for Android TV #2

Closed Moorviper closed 7 years ago

pipelka commented 9 years ago

Ok. I'll edit the subject of this issue and will use it for future announcements of test builds.

pipelka commented 9 years ago

The current testbuild for Android TV can be found here: https://www.dropbox.com/s/3uzgpznfpx5u55x/robotv-debug.apk?dl=0

I'll edit the README and add the system requirements. Currently it runs only on:

I'm using the Nexus Player for development.

Moorviper commented 9 years ago

Ah ok thx my tablet is running 5.0 so that's the problem

Ficik commented 8 years ago

I'm testing your build on shield tv (android 5.1) and it fails to switch channels (first channel upon start works). So I've tried to build it myself and I'm getting segfault when tuning channel.. Can you provide some newer build?

Log when switching channels on current build:

01-03 21:39:20.897 21624-21007/org.xvdr.robotv W/GLConsumer: [unnamed-21624-28] bindTextureImage: clearing GL error: 0x506
01-03 21:39:20.910 21624-21007/org.xvdr.robotv E/libEGL: eglSwapBuffers:1113 error 300d (EGL_BAD_SURFACE)```

Btw really nice app, exactly what I need

pipelka commented 8 years ago

Please make sure you are using the "robotv" branch of the vdr plugin. RoboTv only works with this branch. I will commit pending changes and prepare a new build of the apk.

Ficik commented 8 years ago

I'm using the robotv branch, master complains about unsupported version, which gave me a hint :)

Ok I'll wait for the build. Thanks

Btw are you planning to publish it to play store? At least in their beta program?

pipelka commented 8 years ago

I think I'll publish it when playback of recordings is ready. But there's definitely no time frame for this.

pipelka commented 8 years ago

Ok. Here we go.

Current builds for the "master" and the "recordings" branch: https://dl.dropboxusercontent.com/u/240579/roboTV/robotv-247a31c-debug.apk https://dl.dropboxusercontent.com/u/240579/roboTV/robotv-recordings-71f4036-debug.apk

The "recordings" branch contains experimental epg artwork downloading from themoviedb.org.

pipelka commented 8 years ago

Forgot to say that i also updated the "robotv" branch of the vdr plugin.

Knallbert commented 8 years ago

Hi, really great work. It's working really, really well. I'm using the latest roboTV-XVDR VDR plugin with VDR 2.2.0 and your latest recordings build on a Nvidia Shield TV. I only have problems with EPG informations in the AndroidTV App. There are only few channels where EPG is available, e.g. Phoenix HD and Sky Comedy. Almost all other channels have no EPG. EPG itself is available for all channels with VDR. Checked it at VDR-Live webinterface. Whats the reason that only h264 and h265 channels are available? Is this a limitation from AndroidTV framework? The Shield TV has MPEG-2 Video Codec available with MediaCodec. It also has hardware supported deinterlacing support with the latest update. Would it be possible to have a pass-through mode for Dolby AC3 audio? Please keep up the good work!

pipelka commented 8 years ago

@Knallbert Thanks. EPG sync is currently slow. It may take a couple of minutes to do an initial sync for all of your channels.

There is a simple reason why MPEG-2 is currently not supported: I'm only watching HD channels and this won't change in future (watching HD channels). Maybe someone want's to jump in and implement MPEG-2 decoding support (on supported devices) but I definitely do not need it.

About AC3 passthrough: It's implemented but not activated (it can be activated in the source-code, but currently there isn't any configuration option). From my tests i found that it makes zero difference if the audio is passed through or decoded (at least for my ears). I know the high fidelity guys have a different opinion about that ;-)

There is another reason why it's currently disabled: Sometimes playback hangs playing the last audio-chunk in an infinite loop. Not a really pleasing experience at higher volume levels. I don't know if it's an exoplayer or Shield TV issue.

Nevertheless there's still a lot of work to do, ...

Knallbert commented 8 years ago

Thanx for your answers. I resolved the EPG issues and also the VDR charset issues. The reason was that my VDR server had a wrong, or more, no charset set, caused by the system v service script. Now VDR and the charset is working correctly and EPG now loads. Have you seen anything about PVR or timeshift features in the Android TV API? Or how do you plan to implement something like timeshift. Maybe I'll update my AndroidStudio and give MPEG-2 Video decoding a chance ;)

pipelka commented 8 years ago

@Knallbert Timeshift is on my roadmap (different reusable parts are already implemented in the kodi/xbmc client) but first I want to make the TV playback as stable as possible. I simply prefer stability over features with this project. Timeshift support needs API Level 23 (so the Shield TV has to be updated first).

pipelka commented 8 years ago

I generated a new apk snapshot to sum up the latest changes: https://dl.dropboxusercontent.com/u/240579/roboTV/robotv-master-32e2df7-debug.apk

I think this might be a candidate for a 0.1.0 release ;-)

pipelka commented 8 years ago

Just FYI: https://github.com/pipelka/roboTV/releases/tag/v0.2.0

Knallbert commented 8 years ago

Great,

thanks for the improvements. MPEG2 Video works great on ShieldTV. Also A/V-Sync is much better now.

Keep up the great work!

Edit: Cool, now also radio programes are in the list. But they don't start playing. Guess you have to disable the Video Samplesource Reader to get it working.

HannesDi commented 8 years ago

Hi, i also have 2 Android Devices.

On Both Devices i have installed robotv-master-5f3ec23-release.apk but when i try to start the app it only shows: "Die Anwendung kann nicht gestartet werden"

Any Idea what wrong or what can i do to provide more details on solving the problem ?

Best Regards Hannes

pipelka commented 8 years ago

@synologix Please try the latest 0.4.1 release. The app itself is not startable it just provides the live channels to the system. Try to start the "Live Channels" app.

swttt commented 8 years ago

Sounds a bit like the same problem i had. Still hadn't time for the logs tho....sorry

I upgraded from 0.2 what installed fine.

Will try to find some spare time to provide the logs.

HannesDi commented 8 years ago

Ok, with "Live Channels" i jumped one step forward i get a settings screen i asked for IP language and refreshrate. I have set the IP-Address from my MLD 5.1 (192.168.1.211). When i try start the import it shows up "unable to connect to server". Any hint for me how to test the robototv vdr plugin i right configured? and where to get version 0.4.1 release, i only can see the version provided in your article

Just FYI: https://github.com/pipelka/roboTV/releases/tag/v0.2.0

pipelka commented 8 years ago

On the common releases page of the project: https://github.com/pipelka/roboTV/releases

Older versions of roboTV used the discontinued xvdr plugin. Currently only devices with Android 6 are supported.

HannesDi commented 8 years ago

Ok thank you. So i have updated my ShieldTV to Android 6 and Sideloaded latest Version of RoboTV.

How to correct change the ip adress or could anyone tell me where (which path/file) the config is stored?

Best Regards Hannes

pipelka commented 8 years ago

@synologix Don't know what you mean. Change the IP-Adress then click "next". Select "Import Channels". That's it.

BTW, I never needed to attach a mouse & keyboard to change the IP-Address.

Here a screenshot: robotv-setup-ip

pipelka commented 8 years ago

FYI: https://github.com/pipelka/roboTV/releases/tag/v0.4.2

Moorviper commented 8 years ago

Hi when i install the releases or the selfbuilded version then i get only: http://picpaste.com/pics/226614259_2631419948309879509-5OE6CQir.1473517178.jpg and http://picpaste.com/pics/225513701_5600589924531943025-fckpD6Bd.1473517896.jpg

the pictures ale from a raspberry pi but on google nexus player it is the same.

pipelka commented 8 years ago

@Moorviper Do you get the notification "roboTV service connected" on starting the movies app ?

Please also check the log of the vdr server for connection requests of the client. Something like this should appear in the log:

Sep 12 23:33:25 darth vdr: [3043] roboTV: Client xxx.xxx.xxx.xxx:9667 with ID 63 connected.
Sep 12 23:33:25 darth vdr: [3043] roboTV: Welcome client 'roboTV recordings' with protocol version '7'
Moorviper commented 8 years ago

no there comes nothing on the startup

btw where i can find the robotv settings ?

on VDR side:

 Sep 13 12:44:23 Asus-VDR vdr: [20256] VDR version 2.2.0 started
 Sep 13 12:44:23 Asus-VDR vdr: [20256] codeset is 'UTF-8' - known
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading plugin: /usr/local/lib/vdr/libvdr-epgsearch.so.2.2.0
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading plugin: /usr/local/lib/vdr/libvdr-live.so.2.2.0
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading plugin: /usr/local/lib/vdr/libvdr-robotv.so.2.2.0
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading /var/lib/vdr/sources.conf
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading /var/lib/vdr/diseqc.conf
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading /var/lib/vdr/scr.conf
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading /var/lib/vdr/channels.conf
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading /var/lib/vdr/svdrphosts.conf
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading /var/lib/vdr/keymacros.conf
 Sep 13 12:44:23 Asus-VDR vdr: [20256] frontend 0/0 provides DVB-S,DVB-S2,DSS with QPSK("STV090x Multistandard")
 Sep 13 12:44:23 Asus-VDR vdr: [20256] frontend 1/0 provides DVB-S,DVB-S2,DSS with QPSK("STV090x Multistandard")
 Sep 13 12:44:23 Asus-VDR vdr: [20256] found 2 DVB devices
 Sep 13 12:44:23 Asus-VDR vdr: [20256] initializing plugin: dvbapi (2.2.3-GIT-897c50e): SoftCAM für OSCam
 Sep 13 12:44:23 Asus-VDR vdr: [20256] initializing plugin: epgsearch (1.0.1.beta5): Suche im EPG nach Wiederholungen und anderem
 Sep 13 12:44:23 Asus-VDR vdr: [20256] initializing plugin: live (0.3.0): Live Interactive VDR Environment
 Sep 13 12:44:23 Asus-VDR vdr: [20256] initializing plugin: robotv (0.9.100): roboTV Server
 Sep 13 12:44:23 Asus-VDR vdr: [20256] setting primary device to 1
 Sep 13 12:44:23 Asus-VDR vdr: [20256] device 1 has no MPEG decoder
 Sep 13 12:44:23 Asus-VDR vdr: [20256] SVDRP listening on port 6419
 Sep 13 12:44:23 Asus-VDR vdr: [20256] setting current skin to "lcars"
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading /var/lib/vdr/themes/lcars-default.theme
 Sep 13 12:44:23 Asus-VDR vdr: [20256] starting plugin: epgsearch
 Sep 13 12:44:23 Asus-VDR vdr: [20256] loading /var/lib/vdr/plugins/epgsearch/epgsearchmenu.conf
 Sep 13 12:44:23 Asus-VDR vdr: [20256] starting plugin: live
 Sep 13 12:44:23 Asus-VDR vdr: [20256] LIVE: initial file cache has 82 entries and needs 377394 bytes of data!
 Sep 13 12:44:23 Asus-VDR vdr: [20256] starting plugin: robotv
 Sep 13 12:44:23 Asus-VDR vdr: [20256] roboTV: Opening database: /var/cache/vdr/plugins/robotv/storage.db
 Sep 13 12:44:23 Asus-VDR vdr: [20256] roboTV: roboTV Server started
 Sep 13 12:44:23 Asus-VDR vdr: [20278] roboTV: removing outdated epg entries
 Sep 13 12:44:23 Asus-VDR vdr: [20279] roboTV: removing outdated artwork
 Sep 13 12:44:25 Asus-VDR vdr: [20269] EPGSearch: timer conflict check started
 Sep 13 12:44:25 Asus-VDR vdr: [20269] EPGSearch: timer conflict check finished
 Sep 13 12:50:31 Asus-VDR vdr: [20264] frontend 1/0 timed out while tuning to channel 50 (NRJ 12), tp 211817
 Sep 13 12:50:32 Asus-VDR vdr: [20261] frontend 0/0 timed out while tuning to channel 38 (CNN Int.), tp 211778
pipelka commented 8 years ago

@Moorviper Setup is done in the Live Channel Setup (see above). Without any configuration it will not connect magically to your server. BTW, if your using Android N, please use the "master" branch. I committed some serious fixes yesterday.

Moorviper commented 8 years ago

so i build the master branch and now i get: https://hessen.meshviewer.net/robotvmaster19032016.mp4

pipelka commented 8 years ago

@Moorviper Did you do the configuration before within the Live Channels app ?

Moorviper commented 8 years ago

where do i find the configuration menu and i have only the movies app visible

edit: forget it the androidtv tv app XD

ok getting

connection to server failed nothing on VDR with log level 3

pipelka commented 8 years ago

I assume you entered the setup, configured the ip-address of your vdr server and pressed "Import Channels". After that the notification "connection to server failed" popped up ?

Different possibilities:

Moorviper commented 8 years ago

yes the nexus player is connected via plan and ethernet (usb) I have checked the ip adress i have pinged the VDR and got it the var plugin was compiled today from actual git

is something to do on VDR site ? a config?

pipelka commented 8 years ago

I've never tested it with an usb-ethernet adapter, but should work. Ok. Please recheck the vdr log for any sign of a connection attempt.

Moorviper commented 8 years ago

the last commit on the server side was on: Commits on May 24, 2016

this is the version i use

nothing on the var side in the log i can ping from nexus to VDR and from VDR to nexus

pipelka commented 8 years ago

That's ok. But you should at least get some connection attempt on the server. If not then there's a problem establishing a TCP/IP connection from the client to the server. Port 34892 must be reachable on the server.

Moorviper commented 8 years ago

netstat -npl | grep -i vdr tcp 0 0 0.0.0.0:8008 0.0.0.0:* LISTEN 23373/vdr
tcp 0 0 0.0.0.0:6419 0.0.0.0:* LISTEN 23373/vdr
tcp6 0 0 :::8008 :::* LISTEN 23373/vdr
tcp6 0 0 :::34892 :::* LISTEN 23373/vdr

maybe a ipv6 problem ?

pipelka commented 8 years ago

No. It's also listening for ipv4 connections. See here: http://unix.stackexchange.com/questions/152612/netstat-why-are-ipv4-daemons-listening-to-ports-listed-only-in-a-inet6

Moorviper commented 8 years ago

ah in another log file Sep 13 16:02:44 Asus-VDR vdr: [1314] roboTV-Error: Address not allowed to connect (/etc/vdr2/plugins/robotv/allowed_hosts.conf)

i think thats it :-/

:edit now it works

Sep 13 16:07:09 Asus-VDR vdr: [1593] roboTV: posterurl for 1670768242: (null) Sep 13 16:07:09 Asus-VDR vdr: [1593] roboTV: posterurl for 1833980463: (null) Sep 13 16:07:09 Asus-VDR vdr: [1593] roboTV: posterurl for 420579009: (null) Sep 13 16:07:09 Asus-VDR vdr: [1593] roboTV: posterurl for 2113282561: (null) Sep 13 16:07:09 Asus-VDR vdr: [1556] roboTV: Client with ID 8 seems to be disconnected, removing from client list Sep 13 16:07:12 Asus-VDR vdr: [1556] loading /etc/vdr2/plugins/robotv/allowed_hosts.conf Sep 13 16:07:12 Asus-VDR vdr: [1556] roboTV: Client 192.168.178.56:60645 with ID 9 connected. Sep 13 16:07:13 Asus-VDR vdr: [1602] roboTV: Welcome client 'roboTV Player' with protocol version '7'