Jump to content

Aspect ratio of Live TV on 20.5:9 phone


ulanov
 Share

Go to solution Solved by Luke,

Recommended Posts

ulanov

Here's a new one on a new (to me) Android phone playing Live TV.  (I've diligently searched the forums which only touch on similar-but-different issues; if I'm wrong, please move this to wherever it belongs.)

I've switched from a more traditionally screened phone, which played Embly Live TV perfectly on all channels with the native app, to an LG V60, which has a 20.5:9 aspect ratio of all things - same as the Samsung S20 Ultra's.  When I play main channels on Live TV which are broadcasting in HD 16:9 ratios they play fine as expected.  But when I play a sub-channel (e.g., something like 7.2) which transmits a compressed 480i SD 4:3 signal meant to be rendered as 16:9 the image is only shown in the squashed 4:3 aspect ratio.  Using the Emby app's built-in aspect ratio adjustor, "Fill" stretches things too much horizontally (to the phone's 20.5:9 ratio, which is of course more than the correct 16:9), so not really a fix.

As I understand it, the SD channels that broadcast 480i intended to be rendered (stretched) as 16:9 transmit Element Streams (ES) data with their signal that tells TV sets, codecs, etc., to render the image as 16:9.  When I select in the Emby app any of the external video players installed on my phone, such as VLC or XPlayer, they do this conversion fine and the image is as intended, so that coding data is getting through to the player. 

Is there a reason that the Emby Android Live TV mobile app player does not do this conversion?  I prefer the native app's on-screen options to those of the external players, and I think the native player takes less power too, so I'd prefer to be able to use the in-built player.  (Plex I believe has some kind of SD stretch setting on its player, but it's been a while since I looked; I'm hooked on Emby.)  There are of course dozens of SD channels in each broadcast market, so this is probably not just an isolated issue.

I think that's what is going on, but maybe there is some other issue with the SD versus HD channels I am not aware of.  (I'm using an HDHomeRun Quattro tuner with a QNAP server.  Issue is the same on the Beta app as the public release.)

Thanks for Emby and the always amazing attention to the endless variations and concerns of users.

 

Link to comment
Share on other sites

Hi there, can you show screenshot examples? Thanks.

Link to comment
Share on other sites

ulanov

Sure. Here you go.

Though it may not be obvious to the eye, the external player is correctly stretching the SD 480i signal transmitted as 4:3 to a 16:9 ratio which has black bars on the left and right of the 16:9 image to provide the correct image as shot in another TV era. (When the SD 480i channels broadcast a program shot in the modern TV era it is still sent as 4:3 with the coding to stretch to 16:9 which for the modern programs fills the screen.  This of course is how they cram more channels into less bandwidth/data.)

The internal Emby Android player is displaying the signal as sent without stretching the picture as it should be rendered, while external players - and outside of Emby the HDHomeRun app - correctly do the stretch.  The Emby aspect ratio Fill option stretches the picture, but not from 4:3 to 16:9, so it isn't really a workaround.

Note that the Emby web player and the Emby Firestick app (or perhaps some other part of the Firestick engine) DO render the stretch correctly; it's only the Android mobile Emby app where I have encountered the issue (though I haven't checked Roku).

Aspect ratios compact view.jpg

Link to comment
Share on other sites

ulanov
Posted (edited)

One other key thing: Some 480i channels actually broadcast in full 16:9 while others (in the examples I am talking about) broadcast in 4:3 meant to be rendered as 16:9 to conserve bandwidth.  This varies channel by channel and market to market depending on how much bandwidth the broadcaster has and how they are allocating it across subchannels.  The info on whether to stretch the 480i picture is sent with the broadcast Element Stream.  So a fix isn't as simple as stretch all 480i signals. 

One thought: If you can't implement the rendering as VLC, HDHomeRun app, etc. are doing it based on the Element Stream, then maybe you could jigger the Fill aspect ratio setting.  I don't know what the Fill algorithm is, but I suppose you could change it to stretch 33.3% (the difference between 4:3 and 16:9) and this would allow a manual setting per channel watch to achieve the correct rendering on an SD station broadcasting as 4:3 meant to be shown as 16:9.  Better of course if you can achieve what the other players do.

As always, thanks.

Edited by ulanov
Link to comment
Share on other sites

  • 4 weeks later...
ulanov

@ebr, @Luke - I know you've been busy with the new server release, so have held off.  Thanks for your amazing round-the-clock work!

I have isolated this 480i Live TV channel aspect ratio error - and reproduced it on multiple Android devices of many (all those tried) screen resolutions and ratios. 

This is a bug which was introduced somewhere between Android Mobile APK 3.2.32 and 3.2.40.

It appears to be universal in 3.2.40 and later APKs, including the current release, and was not present in 3.2.32 and earlier. I call it a bug because it is not present in earlier Emby Mobile players or in external players (and is not Android OS version or device dependent).

Hope this helps you narrow it down.  Since you haven't had many, if any, postings from others on this, I guess not many individuals are playing Live TV SD channels on their Android phones, but clearly it would be preferable to display the content correctly in future releases (as in the past).  Thanks again!

 

Link to comment
Share on other sites

@Luke, @ebr - I managed to get hold of APK 3.2.33, and that is where the bug is introduced.  3.2.32 and previous all OK, 3.2.33 and forward all have the bug.

Link to comment
Share on other sites

Thanks for the info. We'll take a look.

Link to comment
Share on other sites

  • 3 weeks later...

Thank you for pointing this out ulanov, and Luke for you help with the matter. I'm a newcomer to Emby and it's fantastic. I do want to add though that I just noticed this bug myself on a Google Pixel 5 running Emby android app version 3.2.52. I haven't checked any other devices or client apps.

Edited by MSA24
more complete
Link to comment
Share on other sites

Hi, can you provide a sample video for testing? Thanks.

Link to comment
Share on other sites

ulanov

Hi @Luke,  This is off live streaming Standard Definition 480i TV, so no video to provide.  (Unless you have something in mind I'm not aware of.)

Something was introduced or removed in the Android APK in version 3.2.33 which doesn't properly expand the compressed 480i stream in accordance with data which is transmitted by the station with the stream.  (This is apparently a broadcast standard.)  So it doesn't affect 1080i streams or a minority of 480i SD streams broadcast uncompressed (unsquished horizontally).  It was all OK in APKs 3.2.32 and earlier.

Examples of the resulting display are above in this thread.  In APKs 3.2.32 and earlier the third picture would look like the second.

Link to comment
Share on other sites

ulanov
Posted (edited)

@Luke - in case helpful - and apologies if stating the totally obvious: I don't know where you are physically, but the SD 480i channels are mostly the secondary digital channels of the major stations (e.g., 4.2, 4.3, and so on). 

I believe that what happens is that some 480i stations broadcast at 640 horizontal resolution (so a native 4:3 image), and some broadcast at 704 horizontal resolution which is meant to be rendered as either 4:3 or 16:9 - in both cases requiring either horizontal shrinking (to 4:3) or stretching (to 16:9).  This rendering info is contained in the broadcast signal "element stream".

You can see these different rendering standards in the attached chart (from Wikipedia) [my highlighting added].

You can find your local 480i channels to test this with by going to RabbitEars, expanding your local TV market and clicking on stations to find their 480i subchannels.  I believe that those that are meant to be altered are listed as "480i (w)" while those SD channels that should not be stretched are simply listed as "480i".   (In my home market 54 of the channels are 480i (w) and 22 are 480i.)

You can test the Emby player performance by looking at these channels on an Android mobile playing the current APK which will render them horizontally incorrectly, and by sideloading any APK from 3.2.32 or earlier, which will render them correctly.

This is verified on Pixel and LG phones; I cannot say if the problem holds on Samsung phones, but I presume so.  All the external video players I have tested this on (VLC, etc.) render the stations correctly so this aspect correction (or not) for 480i broadcast streams must be a common codec feature (as it was in earlier Emby APKs).  Hope that helps at least a little.

 

pixel.jpg

Edited by ulanov
Link to comment
Share on other sites

Can you do a short recording and then provide a copy of the recording?

Link to comment
Share on other sites

ulanov

@Luke, here you are.  This plays unconverted (squished) horizontally on current Emby mobile APK, and plays fine (properly expanded/converted aspect ratio) on Emby mobile APKs 3.2.32 and earlier.  (Plays fine on Firestick as well as web player.)  It is from a 480i (w) channel.

How I Met Your Mother S07E17 No Pressure.ts

Link to comment
Share on other sites

ulanov

In case helpful, some quick math shows that the video above should be stretched from 4:3 to 16:9 - with the pixels aspect ratio rendered as 40:33 as per the standard in the chart above in this thread.

(Again, there are three ways a 480 channel pixel aspect ratio could be properly rendered depending on the broadcast element stream: 1:1, 10:11, or 40:33.  The 480i (w) channels reported in rabbitears appear to be in the 40:33 camp, to be stretched from 4:3 to 16:9, while the others in my television market are in the 1:1 category, to be left alone.  All part of the current MPEG-2 ATSC standard.  Since prior Emby APKs did this right, and other Emby players do this right, this must be a codec or implementation issue, no?)

Link to comment
Share on other sites

  • 2 weeks later...
  • Solution

This will be resolved in Emby for Android 3.2.57+. Thanks.

  • Thanks 1
Link to comment
Share on other sites

Confirming that the issue is fixed in 3.2.57.  Thank you!

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...