SageTV Community

SageTV Community (http://forums.sagetv.com/forums/index.php)
-   SageTV Clients Development (http://forums.sagetv.com/forums/forumdisplay.php?f=56)
-   -   Fork of SageTV MiniClient for Android TV (http://forums.sagetv.com/forums/showthread.php?t=66405)

jpwegas 07-03-2020 10:01 AM

Quote:

Originally Posted by nyplayer (Post 625972)
That makes sense because changing it to record MPEG-PS produces the same results as recording directly without OPENDCT.

This should be fasle in SageTV.Properties ... in all instances found... if using opendct.
encode_digital_tv_as_program_stream=false

Good catch! I didn't even know this was an option. All mine are set to 'true'! That explains why the HDHR Quatro recordings (which Sage records directly) are PS.

I'll change that and test some recordings.

--John

jpwegas 07-03-2020 07:04 PM

Quote:

Originally Posted by jpwegas (Post 625973)
Good catch! I didn't even know this was an option. All mine are set to 'true'! That explains why the HDHR Quatro recordings (which Sage records directly) are PS.

I'll change that and test some recordings.

I shut down Sage, changed all the occurrences of encode_digital_tv_as_program_stream from true to false, restarted, and recorded something from my HDHR Quatro, which Sage records from directly.

The result was a file with a .ts file extension, but ffprobe reports the file is actually MPEG-PS ("input" shown as "mpeg", whereas MPEG-TS containers would show the "input" as "mpegts") and it plays distorted with the Android miniplayer:

Code:

Input #0, mpeg, from 'ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts':
  Duration: 00:07:07.32, start: 1.069356, bitrate: 2214 kb/s
    Stream #0:0[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 704x480 [SAR 40:33 DAR 16:9], Closed Captions, max. 4874 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc

mediainfo also confirms it's actually a MPEG-PS:
Code:

Complete name                            : ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts
Format                                  : MPEG-PS
File size                                : 227 MiB

So when this setting is 'false' it doesn't seem to actually create recordings as MPEG-TS containers.

Adding later:

Looking in the logs, I see the following debug lines:
Code:

Fri 7/3 20:47:25.884 [AsyncRecord@2b0d3b68] MediaFile created subfile:/srv/data8/media/tv/ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts MediaFile[id=60480045 A[60182708,60182352,"Shipping Wars",74182@0703.20:30,30,T] mask=TV host=sageserver encodedBy=HDHomeRun 107150c7 Tuner 0 WUSADT3 format=MPEG2-TS 0:00:00 0 kbps []]
Fri 7/3 20:47:25.884 [AsyncRecord@2b0d3b68] Added:MediaFile[id=60480045 A[60182708,60182352,"Shipping Wars",74182@0703.20:30,30,T] mask=TV host=sageserver encodedBy=HDHomeRun 107150c7 Tuner 0 WUSADT3 format=MPEG2-TS 0:00:00 0 kbps [] /srv/data8/media/tv/ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts, Seg0[Fri 7/3 20:47:25.835-Wed 12/31 19:00:00.000]]
Fri 7/3 20:47:25.884 [AsyncRecord@2b0d3b68] Seeker channel string=9-9-3
Fri 7/3 20:47:25.884 [AsyncRecord@2b0d3b68] startEncoding for HDHomeRun 107150c7 Tuner 0, file=/srv/data8/media/tv/ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts, chan=9-9-3
Fri 7/3 20:47:25.885 [AsyncRecord@2b0d3b68] HDHR_setInput0(0x7f5c84753400, 100, 0, Air, 1, 140028818751488)
Fri 7/3 20:47:25.885 [AsyncRecord@2b0d3b68] HDHRCaptureDevice->doTuneChannel(9-9-3,true)
Fri 7/3 20:47:25.885 [AsyncRecord@2b0d3b68] HDHR_setChannel0(0x7f5c84753400, 9-9-3, true, 32)
Fri 7/3 20:47:25.913 [AsyncRecord@2b0d3b68] HDHR_setupEncoding0(0x7f5c84753400, /srv/data8/media/tv/ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts, 0)

So Sage seems to think it's recording MPEG-TS but the resulting file is still MPEG-PS according to ffprobe and mediainfo.

--John

nyplayer 07-03-2020 08:07 PM

Quote:

Originally Posted by jpwegas (Post 625976)
I shut down Sage, changed all the occurrences of encode_digital_tv_as_program_stream from true to false, restarted, and recorded something from my HDHR Quatro, which Sage records from directly.

The result was a file with a .ts file extension, but ffprobe reports the file is actually MPEG-PS ("input" shown as "mpeg", whereas MPEG-TS containers would show the "input" as "mpegts") and it plays distorted with the Android miniplayer:

Code:

Input #0, mpeg, from 'ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts':
  Duration: 00:07:07.32, start: 1.069356, bitrate: 2214 kb/s
    Stream #0:0[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 704x480 [SAR 40:33 DAR 16:9], Closed Captions, max. 4874 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc

mediainfo also confirms it's actually a MPEG-PS:
Code:

Complete name                            : ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts
Format                                  : MPEG-PS
File size                                : 227 MiB

So when this setting is 'false' it doesn't seem to actually create recordings as MPEG-TS containers.

Adding later:

Looking in the logs, I see the following debug lines:
Code:

Fri 7/3 20:47:25.884 [AsyncRecord@2b0d3b68] MediaFile created subfile:/srv/data8/media/tv/ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts MediaFile[id=60480045 A[60182708,60182352,"Shipping Wars",74182@0703.20:30,30,T] mask=TV host=sageserver encodedBy=HDHomeRun 107150c7 Tuner 0 WUSADT3 format=MPEG2-TS 0:00:00 0 kbps []]
Fri 7/3 20:47:25.884 [AsyncRecord@2b0d3b68] Added:MediaFile[id=60480045 A[60182708,60182352,"Shipping Wars",74182@0703.20:30,30,T] mask=TV host=sageserver encodedBy=HDHomeRun 107150c7 Tuner 0 WUSADT3 format=MPEG2-TS 0:00:00 0 kbps [] /srv/data8/media/tv/ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts, Seg0[Fri 7/3 20:47:25.835-Wed 12/31 19:00:00.000]]
Fri 7/3 20:47:25.884 [AsyncRecord@2b0d3b68] Seeker channel string=9-9-3
Fri 7/3 20:47:25.884 [AsyncRecord@2b0d3b68] startEncoding for HDHomeRun 107150c7 Tuner 0, file=/srv/data8/media/tv/ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts, chan=9-9-3
Fri 7/3 20:47:25.885 [AsyncRecord@2b0d3b68] HDHR_setInput0(0x7f5c84753400, 100, 0, Air, 1, 140028818751488)
Fri 7/3 20:47:25.885 [AsyncRecord@2b0d3b68] HDHRCaptureDevice->doTuneChannel(9-9-3,true)
Fri 7/3 20:47:25.885 [AsyncRecord@2b0d3b68] HDHR_setChannel0(0x7f5c84753400, 9-9-3, true, 32)
Fri 7/3 20:47:25.913 [AsyncRecord@2b0d3b68] HDHR_setupEncoding0(0x7f5c84753400, /srv/data8/media/tv/ShippingWars-NotWithaWhimperbutaBang-60182708-0.ts, 0)

So Sage seems to think it's recording MPEG-TS but the resulting file is still MPEG-PS according to ffprobe and mediainfo.

--John

Stick to OPENDCT with this setting in sagetv encode_digital_tv_as_program_stream=false :D:D:D So many more options like pooling etc ...

jpwegas 07-03-2020 08:28 PM

Quote:

Originally Posted by nyplayer (Post 625977)
Stick to OPENDCT with this setting in sagetv encode_digital_tv_as_program_stream=false :D:D:D So many more options like pooling etc ...

I'm working on it! :D

But I did want to see how that setting behaved. The name implies even shows recorded directly by Sage would be MPEG-TS, but that doesn't seem to be the case. Maybe that's a bug.

Pooling isn't super important to me as all our HDHR use is via Sage, but some of the other features look nice.

--John

nyplayer 07-03-2020 09:08 PM

Quote:

Originally Posted by jpwegas (Post 625978)
I'm working on it! :D

But I did want to see how that setting behaved. The name implies even shows recorded directly by Sage would be MPEG-TS, but that doesn't seem to be the case. Maybe that's a bug.

Pooling isn't super important to me as all our HDHR use is via Sage, but some of the other features look nice.

--John

I use Pooling so I can watch DRM Channels on my ShieldTV sharing Primes ... also share tuners with my test system.

Thanks for the input above it makes a whole lot of sense. Something must be wrong the way Sage Internally muxes TS to MPEG2 Streams.

jpwegas 07-03-2020 09:13 PM

Quote:

Originally Posted by nyplayer (Post 625979)
I use Pooling so I can watch DRM Channels on my ShieldTV sharing Primes ... also share tuners with my test system.

Thanks for the input above it makes a whole lot of sense. Something must be wrong the way Sage Internally muxes TS to MPEG2 Streams.

Using pooling to share with a test system, I might steal that idea and keep my current system for testing when I upgrade the server next.

I opened an issue in the github project about that option's behavior. I don't understand enough of the Sage code to figure out what is going on, but maybe someone else will have an idea.

--John

Telecore 07-08-2020 03:11 PM

Quote:

Originally Posted by jvl711 (Post 625937)
Status Updates....
I am still working on getting the Amazon App Store listing approved :bang:. The first issue was an error about intellectual property. I was able to work that out by giving them the License file from the repo. Now they want access to a server with instructions to be able to fully test the client :nono:. So now I need to make my development sage server available to them for some testing. Not very keen or happy about that.

Could the ones with Amazon devices, could you please let me know how important having a store listing is to you. I just want to make sure this headache is worth it.

First of all, thanks for improving the miniclient - I am fairly certain the issues I saw on the Nvidia Shield with exoplayer and A-V syncing and skipping are fixed. For me, the original miniclient+exoplayer worked better on the FireTV 4K vs. Nvidia because it did not exhibit those issues.

To date, I have found the FireTV 4K to be the best value all-in-one SageTV+streaming device and when they went on sale for $25, I obtained a lot of these and have standardized it in my home and other family members homes where I have setup SageTV + miniclients. I also have Nvidia Shields in my main TV viewing areas and really appreciated it when your new app became available in the Google Play store; I had sideloaded it originally, but through the store, it automatically updates and is easier to install. I would definitely like to see it in the Amazon App store if possible; Thanks again

cncb 07-09-2020 07:39 AM

Quote:

Originally Posted by cncb (Post 625964)
Also, would it be possible to allow skipping forward while paused? If I pause playback before I skip the timeline jumps forward but then right back again to the previous location. When I stop playback after this behavior, I sometimes get an "illegal state" exception thrown from ExoPlayer.

@jvl711 Do you think it will be possible to get this working? Thanks.

tvmaster2 07-09-2020 07:56 AM

Currently, in the Amazon Play store, I think the last version was 1.30. Any idea if that was updated recently?

jvl711 07-09-2020 01:42 PM

Beta Release
 
Hi All,

Here is a small beta release. I have updated the code so that when on the FireTV if you hit the Back/Previous or the Next/PlayPause when the keyboard is shown it will close the keyboard.

Without this the keyboard was unusable, and without great effort using the Android client in Placeshifter mode was almost impossible because you could not put in a username and password.

Those who reported this on Fire stick please let me know how this looks.

SageTV Android Client 1.5.2 Beta 1

Thanks,
Josh

jvl711 07-09-2020 01:43 PM

Quote:

Originally Posted by tvmaster2 (Post 626032)
Currently, in the Amazon Play store, I think the last version was 1.30. Any idea if that was updated recently?

It is on the list. I need to spin up a SageTV server for them to test the app. They will not approve the listing without it.

Josh

jvl711 07-09-2020 01:44 PM

Quote:

Originally Posted by cncb (Post 626031)
@jvl711 Do you think it will be possible to get this working? Thanks.

I will add it to the list to look at. Not sure if it is mine, or ExoPlayer's issue.

Josh

nyplayer 07-09-2020 02:06 PM

Quote:

Originally Posted by jvl711 (Post 626043)
Hi All,

Here is a small beta release. I have updated the code so that when on the FireTV if you hit the Back/Previous or the Next/PlayPause when the keyboard is shown it will close the keyboard.

Without this the keyboard was unusable, and without great effort using the Android client in Placeshifter mode was almost impossible because you could not put in a username and password.

Those who reported this on Fire stick please let me know how this looks.

SageTV Android Client 1.5.2 Beta 1

Thanks,
Josh

Great now I can set Favorites from the miniclient works great.

KryptoNyte 07-09-2020 04:59 PM

Quote:

Originally Posted by jvl711 (Post 626043)
Hi All,

Here is a small beta release. I have updated the code so that when on the FireTV if you hit the Back/Previous or the Next/PlayPause when the keyboard is shown it will close the keyboard.

Without this the keyboard was unusable, and without great effort using the Android client in Placeshifter mode was almost impossible because you could not put in a username and password.

Those who reported this on Fire stick please let me know how this looks.

SageTV Android Client 1.5.2 Beta 1

Thanks,
Josh

Crashed on the first try, after getting in my username, but worked on the second try. Thank you!

Just to add to this, I hide the keyboard with the back button, and then I move to the next field with the up/down, then hold the (middle round) select button to bring up the Stuckless menu and select the keyboard to get it back up for the next field.

To try and ease the installation of this on the Fire sticks in the house, I usually download the apk, move it to my phone, install the new app on my phone (after uninstalling the old one), then I launch an app I installed called "Apps2Fire" and then I can push the app to any fire stick in the house. Whenever I launch the new app on the fire stick 4k, I have to switch the video to Exoplayer.

t4runnr 07-09-2020 05:16 PM

Quote:

Originally Posted by jvl711 (Post 626043)
Hi All,

Here is a small beta release. I have updated the code so that when on the FireTV if you hit the Back/Previous or the Next/PlayPause when the keyboard is shown it will close the keyboard.

Without this the keyboard was unusable, and without great effort using the Android client in Placeshifter mode was almost impossible because you could not put in a username and password.

Those who reported this on Fire stick please let me know how this looks.

SageTV Android Client 1.5.2 Beta 1

Thanks,
Josh

Hi. Thanks for all this!

I sideloaded this beta to my Firestick. It still shows version 1.5.1.

Is that because this is a beta?

The file I sideloaded is SageTVMiniClient_1_5_2beta1.apk

tvmaster2 07-09-2020 06:15 PM

Quote:

Originally Posted by jvl711 (Post 626044)
It is on the list. I need to spin up a SageTV server for them to test the app. They will not approve the listing without it.

Josh

OK, thanks. I didn't mean to suggest you do any work, I was just checking what appeared to be a much older version than the last one which was uploaded by stuckless to bintray, which was 1.4.4 I think?
Maybe he never got around to sending his last one to Amazon...

SteveW 07-09-2020 10:05 PM

Quote:

Originally Posted by jvl711 (Post 626043)
Hi All,

Here is a small beta release. I have updated the code so that when on the FireTV if you hit the Back/Previous or the Next/PlayPause when the keyboard is shown it will close the keyboard.

Without this the keyboard was unusable, and without great effort using the Android client in Placeshifter mode was almost impossible because you could not put in a username and password.

Those who reported this on Fire stick please let me know how this looks.

SageTV Android Client 1.5.2 Beta 1

Thanks,
Josh


I'm trying to install this on my Galaxy S8. Even though I have allowed unknown sources for the app install (tried from Google Drive and downloaded to local storage on my phone both), but near the end of the installation I get "App Not Installed". I had Stuckless's version installed previously.


All I can find on the subject is this:


On installing an APK, if the error message comes as “App not installed”, there are only three possible cases -
  • The build might be corrupt (quite rare) - You can create a new build and try that.
  • Android Manifest (most probable) - The manifest has a lot of permissions where an error might have occurred. Please go through these. At times, the developer might copy permissions from an existing project which might coz duplicate permissions or some permission may have a package name of some other project. The best way to debug this is to run the app directly from your Android Studio and the Android Monitor will tell you exactly which permission is faulty.
  • Gradle file - The problem might be in this file. Check the minimum SDK version which seems to be the most probable area.



Any ideas?

tvmaster2 07-09-2020 10:32 PM

I used kryptonyte’s method from post #174 - download to my phone, and push to the FireStick with the app he mentions. It installed fine.

stuckless 07-10-2020 04:34 AM

Quote:

Originally Posted by tvmaster2 (Post 626051)
OK, thanks. I didn't mean to suggest you do any work, I was just checking what appeared to be a much older version than the last one which was uploaded by stuckless to bintray, which was 1.4.4 I think?
Maybe he never got around to sending his last one to Amazon...

Yeah, publishing to the walled gardens is extremely time consuming. I continued with google store even though it was time consuming, and I would only publish to Amazon every few releases. It's sad when the effort to publish outweighs the effort to develop, but, that's the world we live in. There was a time I was considerably close to dropping the google play store as well due to the hurdles to republish a release. I guess in the end, I did drop publishing to both, but I feel the pain of the endless hurdles to publish (and re-publish) application.

For Amazon, I don't think I had to setup a server for it to work (at least I don't recall doing that). I did have a hell of time getting it published though. It took months if I recall. You'd think for a store as crappy as theirs, they wouldn't be so picky :D

jvl711 07-10-2020 05:39 AM

Quote:

Originally Posted by SteveW (Post 626055)
I'm trying to install this on my Galaxy S8. Even though I have allowed unknown sources for the app install (tried from Google Drive and downloaded to local storage on my phone both), but near the end of the installation I get "App Not Installed". I had Stuckless's version installed previously.


All I can find on the subject is this:


On installing an APK, if the error message comes as “App not installed”, there are only three possible cases -
  • The build might be corrupt (quite rare) - You can create a new build and try that.
  • Android Manifest (most probable) - The manifest has a lot of permissions where an error might have occurred. Please go through these. At times, the developer might copy permissions from an existing project which might coz duplicate permissions or some permission may have a package name of some other project. The best way to debug this is to run the app directly from your Android Studio and the Android Monitor will tell you exactly which permission is faulty.
  • Gradle file - The problem might be in this file. Check the minimum SDK version which seems to be the most probable area.



Any ideas?

Can you try the version on the playstore that I released a few weeks ago. Let me know if that works

Josh


All times are GMT -6. The time now is 04:36 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2022, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.