![]() |
|
SageTV Clients Development This forum is for discussions relating to SageTV Open Source Clients Development. |
![]() |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
Resolution off on android miniclient with samsung plasma
Okay first off just wanted to thank stuckless for his work on the miniclient, I can't begin to explain how stoked I am to be able to use it to play back recorded tv and have comskip working
![]() Now on to my issue, if there is a better place to post this my apologies. I'm using a Nexus Player and Samsung Plasma TV for playback, the TV is native 1024x768 and when playing back dvd's ripped as mp4's it displays them as stretched vertically. All my other android apps do not do this and when using SageTV through my htpc which is set to 1366x768 (connected to the same plasma) everything plays properly. Recorded/Live TV (ATSC) also displays properly. I realize the TV is at the point outdated and the resolution is a bit of an oddball but wanted to mention it incase it was an easy fix. I've tried both the default and exoplayer and both result in the same stretching during playback. |
#2
|
||||
|
||||
Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#3
|
|||
|
|||
I tried cycling through the different aspect ratios, 3 looked the same and the 4th one just seemed to zoom it in more so there were no black bars on the screen but everything was still stretched a bit vertically.
|
#4
|
|||
|
|||
ahh, it appears to be an issue with the way the mini client handles the video resolution of the file and it's not something to do with the tv resolution. I could replicate the issue on my phone (LG G4) The mp4 files are 720x360.
Here's a screenshot I took on my laptop playing the video with SageTV (this is how the video should look) ![]() and here's one i took on my phone playing via the miniclient where it's stretched vertically. ![]() |
#5
|
||||
|
||||
SageTV has settings for display aspect ratio that need to be set properly for it to properly scale the video. That said, I want to say that aspect ratio correction in the miniclient is not fully implemented, and that Stuckless is sort of just handing the file off to the player and letting it deal with it. I'm sure android has some sort of display aspect ration settings as well, but it is likely hidden somewhere (as android devices are typically tied directly to a given screen).
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#6
|
||||
|
||||
Quote:
![]() The code for doing the AR stuff is here... https://github.com/OpenSageTV/sagetv...ectHelper.java If someone wants to review it, ask questions, suggest edits, etc... I'm game. I didn't write this code, I lifted it from the IJKPlayer sample player. I could be that all my videos are stretched and I didn't notice ![]() ![]()
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#7
|
|||
|
|||
It appears to be an issue with anamorphic video. The "stretched" display of that 720x360 video is correct if you display it at a 1:1 pixel ratio. In order to display correctly the DAR of the video needs to be respected. Not sure how Android deals with anamorphic video?
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3 Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD |
#8
|
||||
|
||||
Quote:
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#9
|
||||
|
||||
Quote:
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#10
|
||||
|
||||
Quote:
I'm sure ExoPlayer is doing something completely different. At this point the MiniClient hasn't hooked into allowing sagetv to toggle AR... there's another open defect around that as well, and I think in that case, sagetv would be sending me the "float value" and I'll have to figure out how to do something with it.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#11
|
||||
|
||||
Quote:
__________________
SageTV v9 Server: ASRock Z97 Extreme4, Intel i7-4790K @ 4.4Ghz, 32GB RAM, 6x 3TB 7200rpm HD, 2x 5TB 7200rpm HD, 2x 6TB 7200rpm HD, 4x 256GB SSD, 4x 500GB SSD, unRAID Pro 6.7.2 (Dual Parity + SSD Cache). Capture: 1x Ceton InfiniTV 4 (ClearQAM), 2x Ceton InfiniTV 6, 1x BM1000-HDMI, 1x BM3500-HDMI. Clients: 1x HD300 (Living Room), 1x HD200 (Master Bedroom). Software: OpenDCT :: WMC Live TV Tuner :: Schedules Direct EPG Last edited by EnterNoEscape; 12-09-2016 at 12:17 PM. |
#12
|
||||
|
||||
Quote:
Quote:
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#13
|
|||
|
|||
Quote:
![]() ![]() |
#14
|
||||
|
||||
Quote:
I'm not 100% sure how I'd use the sagetv AR information. I'm not seeing where sagetv is passing that to me. ie, I request to play a video, and it sends me a video stream, I don't have any other information about the video, except what the player parses from the video stream. That being said, SageTV does have an AR toggle, and there is an open defect to support using the AR toggle. I'm still investigating exactly what I'm supposed to so there... since it seems like I tell sagetv what AR modes I support and the AR toggle just sends me a command with the AR mode that the user selected, and then I still need to apply it.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#15
|
||||
|
||||
I just think a SageTV solution should honor the SageTV DAR setting, and ignore the device's settings. Things like 2.35:1 anamorphic projector lenses and such need to be accountable for, and that is the proper way it is handled in a sagetv installation.
That said, I believe this is all handled by BasicVideoFrame.java. It does all the math that sage desires, knowing the AR of the stream, the DAR of the display, and the chosen AR mode. With that information, BasicVideoFrame.refreshVideoSizing() does the math for where and what size to make the video rectangle. I think this is the information that is sent to you (via setVideoRectangles, and the GFXCMD_SETVIDEOPROP), so for it to be properly used, you'd need to tell the actual renderer to stretch the video to that rectangle, and NOT use its own AR math.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room Last edited by Fuzzy; 12-09-2016 at 09:29 PM. |
#16
|
||||
|
||||
Quote:
1. setVideoRectangles does not directly send an aspect ratio... SageTV will calculate the src/dest rectangles and a client can use that to position/scale the video. SageTV manages a list of apsects, and it will adjust the rectangles accordingly. This sort of works from what I can tell, but, it's not supported on MiniClients. ie, when you issue AR_TOGGLE it checks if you are a miniclient and if you are, then it expects that you've implemented the "VIDEO_ADVANCED_APSPECT_LIST". So, it appears that having sagetv "figure out" the aspect ratio is not something that is supported on MiniClients. 2. MiniClient can use VIDEO_ADVANCED_ASPECT and VIDEO_ADVANCED_ASPECT_LIST. The client can send down a bunch of arbitrary strings, like, "Source;Fill;Zoom;Stretch", and when AR_TOGGLE is sent, sagetv will just toggle between the list, sending the MiniClient a value, such as "Fill", in the VIDEO_ADVANCED_ASPECT property... the client is expected to "handle" that in some way. It will also send setVideoRectangles with a source rectangle of 0,0,0,0. So, in neither case is SageTV sending the video aspect ratio... in the first, it just figures out the size of the video rectangles, and in the second, it just sends me a "name" of an aspect mode that I then need to apply to the video, by figuring the source video, video bounds, etc (which is what the current MiniClient aspect switcher does today)... This just allows the sagetv AR_TOGGLE to toggle it, instead of the on screen nav. I many ways it would be nice if I could use #1... but it appears that if you are MiniClient you need to figure it out on your own. I've tried to advertise the MiniClient as a Desktop UI and the automatic aspect video switching works... but, sadly, lots of other things no longer work, since, sagetv thinks I'm a desktop client. So, I'm likely not going to have a solution for this, this weekend. I'll continue to look at things, but I think I'll need Jeff's help to fully understand what I need to do.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#17
|
||||
|
||||
Yeah, sorry, I have not analyzed step by step how lt is done, and honestly don't think it would handle it differently for miniclients. The videobounds seemed like it would be enough, and the client/rednerer shouldn't even need to know the aspect ratio of the video or the display, just where to draw it and how big.
As far as I can guess, the lack of handling the bounds is also why preview doesn't work in a window in the Android miniclient.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room Last edited by Fuzzy; 12-11-2016 at 09:53 AM. |
#18
|
||||
|
||||
Quote:
![]() I may make a change to the Sage core to allow miniclient to use the "standard" AR toggle UNLESS the client actually passes the advanced AR modes, and chooses to do it own its own. For some reason, there is code in there to specifically NOT allow the miniclient to use the standard AR toggling, so maybe there's a reason for that.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#19
|
||||
|
||||
Just an update... It's been a productive 2 days... but unfortunately I won't be releasing anything this weekend. But, I do have the SageTV AR toggle working (so the AR modes in the MiniClient will now just delegate to the SageTV system). And I have the video preview windows working. I have one small issue that I'm currently working though, but I've run out of time for this weekend, so likely I'll solve it later in the week and maybe release something next weekend.
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#20
|
||||
|
||||
Excellent news. Did it take any core changes to get it to use the server side aspect controls, or was it still passing them them to the client that way as well as the client-side options?
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Android MiniClient - ExoPlayer | stuckless | SageTV Clients Development | 46 | 12-28-2016 01:46 PM |
Android Miniclient - No Video | Wrx4me | SageTV Clients Development | 9 | 12-04-2016 06:53 PM |
Android Miniclient and UK TV | rickgillyon | SageTV Clients Development | 6 | 12-01-2016 05:58 PM |
Android MiniClient 1.0.7 - released | stuckless | SageTV Clients Development | 11 | 10-15-2016 10:45 AM |
Replacing broken Samsung DLP: 720P or 1080P\Plasma or LCD | SWKerr | Hardware Support | 4 | 11-27-2009 11:17 AM |