mobile-dev-inc / maestro

Painless Mobile UI Automation
https://maestro.mobile.dev/
Apache License 2.0
5.89k stars 281 forks source link

Reduce IOS video size #1933

Open DorianMazur opened 3 months ago

DorianMazur commented 3 months ago

Use case

Video file sizes on iOS are nearly ten times larger than on Android, leading to increased storage needed (Github Actions Artifacts)

Proposal

Optimize video encoding settings on iOS by adjusting the bitrate, resolution, and possibly switching to more efficient codecs like H.265. Additionally, consider implementing background compression post-recording to further reduce file sizes.

Anything else?

No response

bartekpacia commented 3 months ago

Hey Dorian,

What command do you have in mind? maestro record, or recording provided by Maestro Cloud, or both?

About the problem: I think we could save a lot of storage by converting .mov to .mp4, or even better, .av1.

DorianMazur commented 3 months ago

Yes, I think we should add a config option to make the video files smaller for IOS. Converting the videos from .mov to .mp4 using ffmpeg should help. The difference is big—on Android, a 2-minute video is about 4MB, while on iOS, the same video is around 45MB. And this is just for 1 flow. For 10 flows its 40MB and 450MB of recordings for IOS.

bartekpacia commented 3 months ago

Yeah, this makes sense. What command do you have in mind? maestro record, or the recording provided by Maestro Cloud, or both?

afaik they use the same infra so it's both probably.

github-actions[bot] commented 2 months ago

Without additional information, we can't resolve this issue. We're therefore reluctantly going to close it.

Feel free to open a new issue with all the required information provided, including a minimal, reproducible sample. When creating a new issue, please make sure to diligently fill out the issue template.

Thank you for your contribution to our open-source community!

bartekpacia commented 2 months ago

This is a valid issue.

DorianMazur commented 2 months ago

I can create PR to implement this. Currently we are using ffmpeg to reduce video size by 90% before uploading as GitHub artifacts.