Rotate image in 90° increments

I have a use case where I am in a small goat house and the landscape cuts off the top and bottom due to aspect ratio. I need the portrait mode to be able to see what I need to monitor my goats without having to mess around every single time I want to see the whole room. This is really beyond frustrating. Its all just software, Fix it. Don’t be part of the problem. We all look for ways to improve our lives, instead of having to research and dig on forums that will never do anything about this. Very disappointed in Wyze after all these years.

1 Like

I have a large window (privacy frosted) right next to my bedroom closet. I have 3 options… capture half the window so I’m not recorded going in and out of my closet (often right out of a shower). Capture the full window in about 50% of the camera coverage along with a blank wall in the other 50%. Capture the full window sideways.

I’ve chosen to monitor/record footage sideways. I’d rather have better quality that needs to be rotated in the event I ever actually have to use the footage from this camera. This feature would be amazing!

Hi @ tyson.korhonen

Welcome to the club, it will not be possible and honestly if Wyze App can’t add this simple option I don’t think #wyze really cares about this, it’s time to unsubscribe from this thread where more than 540 people liked and had 40k views with no official response from Wyze, at some point 2018 someone from Wyze said “let’s see how many people want it” but never cared to followed up. I love wyze but this lack of care makes me lose hope.

I haven’t thought much about the 90° rotation until now. And I think I know why Wyze wouldn’t do this. It’s much more complicated than simply relocating pixels.

On the display, it’s easy to assume that a pixel is effectively a square. It isn’t. If you have a monitor that can be rotated 90° and the display adjusts (like in Windows), try it. You’ll see that the image is skewed; it looks like it’s stretched. It’s because the pixel isn’t a square, it’s slightly rectangular. The effect when viewing a video is worse. In short, the aspect ratio changes. That means a familiar face doesn’t look the same anymore.

The aspect ratio doesn’t change when rotating 180°. The image is simple turned upside down.

To preserve the aspect ratio when rotating 90°, one needs to re-encode the video because part of one pixel bleeds into an adjcent pixel. I figure Wyze doesn’t want to do that.

This is a wildly basic function that has been apart of the FFmpeg standard since before Wyze was a company.

To rotate a video 90 degrees using FFmpeg, the transpose filter is employed. For a 90-degree clockwise rotation, use transpose=1. For a 90-degree counter-clockwise rotation, use transpose=2. These flags are used within the -vf (video filter) option when calling FFmpeg.

90 degrees clockwise.

    ffmpeg -i input.mp4 -vf "transpose=1" output.mp4

90 degrees counter-clockwise.

    ffmpeg -i input.mp4 -vf "transpose=2" output.mp4

edit to add: your non-square pixel reasoning is anachronistic, harkening back to the SD days; since the advent of HD and portrait mode displays, pixels have been square, with rare exceptions. If you don’t want to re-encode you can just -metadata:s:v rotate="90" and that will work on most modern displays just fine.

I’m aware that FFmpeg can do this, but with the weak processor (and with no GPU) of the V3? I don’t think Wyze would buy more computing power to do this on the server side, either. The Wyze cameras even slow down just accessing the SD card.

No need for either of those options, do it client side, in-app.

Not all phones are capable. Mine is. What happens to the others?

Will also drain the battery faster

  1. All phones made in the last 10 years are more than capable, this is a computationally inexpensive operation that a snapdragon 810 can easily handle.

  2. -metadata:s:v rotate="90" also works, requires zero compute.

From a simple search, “The Snapdragon 810 is a high-end system-on-chip (SoC)”

Android in particular has a lot of range in hardware in use, a few are really sloww …

The latest Wyze app won’t even run on 32-bit Android.

I don’t think the metadata does any actual rotation. It’s just … data .. the hardware still has to do the actualwork.

It was a high-end chip 10 years ago.

The latest Wyze app won’t even run on 32-bit Android.

why should it? that’s not how app development works…

Your case has gone from: pixels are not square, to it won’t work on camera, and they don’t want it client side, to what about the 10% of people who own wyze cams and are tech savvy enough to want in corridor mode, yet also, have ancient phones.

They know their phones are old and slow, this is not news for them. And again: -metadata:s:v rotate="90" also works, requires zero compute, and it does turn the image.

I didn’t say this. This only pertains to the display. Have you ever tried rotating your desktop display. If you haven’t try it first.

I did, to see more coding lines. It looks awkward. The characters are stretched vertically.

I never said it doesn’t work. Please read it again; I’m basically saying it’s just a command for the hardware to do the actual work. The hardware still does computation.

Literally have it in portrait mode 75% of the time, it does not stretch, I think you must have really old stuff. I remember that happening in the early 2000s.

The hardware still does computation.

It renders, yes lol.. You’re arguing for the sake of arguing, I have no idea why, but have a great rest of your weekend.

Nope, my computer and all my peripherals are no more than 8 months old. The newest one literally was delivered last week. Would be used as a server to offload a few tasks from my main PC.

If you really think that a metadata “requires zero compute”, I wonder if I could replace my Wyze app with just a series of metadata.

Well yes, actually you can… that’s what code is - instructions telling hardware what to do. Get rid of Wyze, install Scrypted.

Well code is .. at the lowest level, a series of instructions for the base hardware to execute, in other words, do some computing. That’s not “zero compute”.

So you say that all it needs is metadata and “requires zero compute”. Now you’re saying the metadata will need to execute code. Make up your mind. Is it zero or what?

“well ACTUALLY, at the quantum level, even thinking uses energy so NOTHING is zero compute!”

You are technically correct in the most useless way possible. Yes, fine, displaying pixels requires some computation. Breathing also requires energy. Congratulations on discovering that the laws of thermodynamics exist.

But in the context of video processing, metadata rotation vs. re-encoding is like comparing the energy to flip a light switch vs. the energy to power the light for an hour. When developers say “zero compute” they obviously mean “negligible in the context we’re discussing.”

You’re just digging in on philosophical debates about the nature of computation rather than admitting metadata rotation is a perfectly reasonable feature request.

Zero compute when it isn’t, isn’t philosophical. A better description is, it’s wrong, especially if the degree of computing needed is a question.