ErsatzTV icon indicating copy to clipboard operation
ErsatzTV copied to clipboard

[Feature Request] Disable force_original_aspect_ratio when scaling

Open Zebrazilla opened this issue 3 years ago • 3 comments

I have a use case where I would like to indiscriminately scale content to fit a specific resolution, without taking aspect ratio into consideration.

Looking into the ffmpeg process as it runs I see that it uses force_original_aspect_ratio=decrease,pad, and reading up on these settings I think all I would need would be to not have force_original_aspect_ratio as an active parameter, and only have scale.

I could be wrong in my understanding however. If so, is there another way that this can be accomplished without touching the files themselves?

If possible, I think it'd be great if there were an optional option for disabling adherence to original aspect ratio somewhere around here: image

Zebrazilla avatar Sep 14 '22 03:09 Zebrazilla

I don't have much experience with ffmpeg and did some experimenting. Not sure how useful this is but here goes!

It would seem that just setting scale didn't work, had to also set SAR for something to happen. Something like this, if for example the target resolution is 640x480, gave me just the result I had in mind: scale=640:480,setsar=1

Zebrazilla avatar Sep 14 '22 04:09 Zebrazilla

Can you describe your use case a bit? I appreciate the solution suggestion, but would like to understand the problem first.

jasongdove avatar Sep 18 '22 11:09 jasongdove

Can you describe your use case a bit? I appreciate the solution suggestion, but would like to understand the problem first.

Sure, no problem, I can understand wanting to know more details. I'll try to elaborate as best I can.

One use case for me would be a movie channel that targets a 4:3 output, specifically 640x480, where the goal is to have only movies that have no black borders and fill the whole picture. In the schedule there are movies which are natively 4:3, however I would also like to include movies that are 16:9 and I would like these to fill out the whole 4:3. These 16:9 movies are more often than not open matte (whole 16:9 aspect ratio without black borders), which allows them to look okay when squeezed from 16:9 to 4:3 in my particular scenario, where output is to a 4:3 screen.

Another use case for me would be when there are mixed media, where the entries in the schedule are sourced in such a way that they have no consistent, reliable aspect ratio. They may be cut off by an arbitrary amount either vertically or horizontally. In this case I would also like the output to be 4:3, 640x480, filling the whole picture. In this case the whole presentation being consistently 4:3, filling the whole picture, is more important than respecting the odd aspect ratio.

With force_original_aspect_ratio I would need to go through each individual piece of media and manually resize, meaning I'd have to reencode them and thus touch the files. This is possible but not ideal as I would very much prefer to leave the files themselves untouched, mainly so that they can be played differently outside of the ErsatzTV pipeline.

Zebrazilla avatar Sep 19 '22 02:09 Zebrazilla

@Zebrazilla ETV develop builds now have a Scaling Behavior setting with a Stretch option that should behave as you describe.

jasongdove avatar Sep 30 '23 13:09 jasongdove

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

github-actions[bot] avatar Feb 06 '24 04:02 github-actions[bot]

This issue was closed due to inactivity.

github-actions[bot] avatar Feb 28 '24 02:02 github-actions[bot]