Jump to content

Zoom option to force 4:3 aspect ratio needed in Android/Fire TV client


sjabaker
 Share

Recommended Posts

Feature request: add another option to the Zoom sub-menu within the playback OSD settings menu that forces the video being played into 4:3 aspect ratio. (None of the current options - like horizontal stretch, etc. - achieve this.)

Reasoning: Currently I have to install & configure a Kodi client on each device in addition to Emby just to watch certain older shows I've recorded (with Emby) which are supposed to be in 4:3 SD format, because either:
1) the channel correctly broadcasts the show itself in 4:3 but it's interspersed with adverts in 16:9, or
2) in some cases the channel wrongly broadcasts the show in 16:9 in the first place (even though it clearly should be a 4:3 video stream as everything looks distorted and overly wide).

In the first case, the Emby client does not recognise the change from 16:9 (adverts) to 4:3 (show itself) during playback, nor on forward-skips (though it seems to recognise 4:3->16:9 on forward skips); the only way to get the show to appear in the correct ratio is to watch 15-20 seconds of the show after the ad-break in 16:9 and then skip back 10s - at which point it does recognise & enact the switch to 4:3 - and re-watch that bit again (& do the same after every single ad-break).

In the second case, there doesn't seem to be any way at all to watch the programme in its proper 4:3 ratio in the Emby client.

While case 1 would be addressed by better auto-switching within the video playback - and I'd love it if this was improved - that would do nothing to address case 2 ... hence my request is simply to add a 'zoom' option that just forces the entire playback into 4:3 ratio (even bits like the ads that may be correctly in 16:9) and ignores any ratio indicators in the video stream itself.

Having to do this once at the start of each such episode/programme would hardly be any real inconvenience, and I doubt there'd be virtually any scenarios in which people would then need/want to manually adjust back-&-forth between the ratios within that same programme, so anything much more automatic isn't especially critical. Hopefully that makes it a relatively straightforward option to introduce.

Note: all the above relates to the Android/Fire TV clients - I don't know whether the same is true of other clients since I don't use them, but if so it ought to be made possible in all Emby clients to achieve the end result of watching something in its "true" 4:3 ratio even if it was wrongly broadcast/recorded in 16:9.

  • Like 1
Link to comment
Share on other sites

So you actually want a "squeeze" option to horizontally reduce the image by 33%?

I'm not sure this is going to help in your first scenario.  Usually, in those cases, the program is broadcast in 16:9 but with black bars on the sides for the old content and not for the commercials.  I don't think I've ever seen a broadcast done any other way.  Are you sure it isn't your TV that is automatically trying to change the display?

Link to comment
Share on other sites

No, it's definitely an actual change in the 'display aspect ratio' encoded within the video stream (at least for the programmes of concern - you're right that sometimes 4:3 content is broadcast as 16:9 with actual black bars in the image, but that's not the case here - I think different channels/broadcasters do it different ways).

If I play them on a PC in something like VLC (and windowed, not full screen), the actual window width jumps between 16:9 & 4:3 as the video shifts back and forth. Attached are two screenshots showing this, from the end of the ad-break just before the programme itself starts and then just after it does start.

What I'm looking for is something that just fixes the displayed AR at 4:3 regardless of the source video's actual DAR - so both 16:9 and 4:3 content would display as 4:3 (but any content that actually is 4:3 doesn't get further squeezed to an even narrower width). This is how the "stretch 4:3" option from the 'view mode' options in Kodi's playback OSD settings functions, which perfectly* caters for both scenarios. (*well, technically it means the widescreen adverts within a show get squished horizontally - but then I'm skipping those anyway)

Ad-break.png

Show.png

Link to comment
Share on other sites

visproduction

I have seen some cable channels make Aspect ratio broadcast errors on older content.  They actually broadcast it wrong.  I sometimes call the network and tell them that Master control is broadcasting with the wrong Aspect ratio and they fix it.

Mixing 4:3 with 16:9 ads happens a lot. Ideally, the master playback should keep the 4:3 content correct, but whoever preps the broadcast can make a mistake.

Most TV's and all cable boxes can switch between 4:3 and 16:9, but its a manual operation during setup.  I don't think any incoming broadcast can make the TV flip.  I have not seen a no black bar auto option on TV's.  Some used to have zoom that you had to press a button to change. https://www.sony.co.uk/electronics/support/articles/00031431

There were Aspect Control buttons for TV cable boxes, but they were phased out in 2018, probably because people used the feature and got stuck and didn't know which button to press and the cable provider was getting too many support calls.  Similar to "My 5 year old got the remote and everyone is speaking Spanish now" issue.

3rd party video players have force switch to other formats. VLC has about 8 formats to choose from.

Aspect ratio can be tricky to get exactly right.  A lot of old standard TV content is 4:3 (1.33), but there are also movies at 1.37 and 1.66 which are often mistaken and broadcast incorrectly at 1.33.  There is also stretching of actors close to the edge of the screen when a extreme wide angle is used.  This can make the video look stretched when it is not. Usually, videographers know about this and avoid shooting wide with crowds of people.

I have not been able to get CSS format change to work on videos, but I have not tried this CSS style change. 
https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side

Force AR change?

#page-content {
  position: relative;
  /* this element's width controls the effective height */
  /* of the video container's padding-bottom */
  max-width: 640px;
  margin: 10px auto;
}

#video-container {
  position: relative;
  /* forces the container to match a 16x9 aspect ratio */
  /* replace with 75% for a 4:3 aspect ratio, if needed */
  padding-bottom: 56.25%;
}

#video-element {
  /* forces the contents to fill the container */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

 

Link to comment
Share on other sites

  • 2 weeks later...
sjabaker
On 05/03/2022 at 14:51, visproduction said:

A lot of old standard TV content is 4:3 (1.33), but there are also movies at 1.37 and 1.66 which are often mistaken and broadcast incorrectly at 1.33.

Indeed. I'm not expecting this to deal with every weird and wonderful possibility - just a couple of fairly common scenarios. If someone's downloaded/created a video file with the AR out of whack, then I'm just regarding it as "their problem to fix". I'm only concerned out broadcast signals where users have no choice/influence on what we receive, and as far as I'm aware TV broadcasts are only ever 16:9 or 4:3 (though they may then use letterbox/side-bars within the signal to make it appear as the other or one of the other film ratios).

I'm not sure how the CSS would help? Maybe I'm wrong, but I's have thought that exoplayer within the Android/FireTV clients is displaying directly to the screen and not through any web-like layer(?), and in any case it's surely not user-modifiable.

Link to comment
Share on other sites

visproduction
On 3/17/2022 at 4:31 PM, sjabaker said:

I'm not sure how the CSS would help? Maybe I'm wrong, but I's have thought that exoplayer within the Android/FireTV clients is displaying directly to the screen and not through any web-like layer(?), and in any case it's surely not user-modifiable.

Yes, that has been my experience as well.  I was a little surprised to find CSS code that was suppose to work.  I have not tried it... not sure I will bother.  I make all my content exactly correct AR, or I don't put it on the server.

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...