Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS - Quality preset issue #6

Closed
khainhero opened this issue Apr 8, 2020 · 7 comments
Closed

iOS - Quality preset issue #6

khainhero opened this issue Apr 8, 2020 · 7 comments

Comments

@khainhero
Copy link
Contributor

DefaultQuality seems to output similar video as LowQuality preset does

@FidelHen
Copy link

The compression comparison is great! One problem... Quality is 144p, can't even see what is going on in the video. Any ETA on this problem?

@Serdnad
Copy link
Contributor

Serdnad commented Apr 20, 2020

@FidelHen For now you can just set the quality yourself using

final compressedVideo = await VideoCompress().compressVideo(
  videoPath,
  quality: VideoQuality.HighestQuality,
);

@FidelHen
Copy link

@Serdnad I did that and it still looks terrible. It's all super pixelated.

@Serdnad
Copy link
Contributor

Serdnad commented Apr 20, 2020

Hmm, weird, I'm using that code in my app right now and adding that line fixed things for me. You're on iOS, right?

@jonataslaw
Copy link
Owner

@Serdnad I did that and it still looks terrible. It's all super pixelated.

Which device are you using?
This is not on our side, it is on Apple's side. I could create fixed size and quality presets, but apple recommends using

AVAssetExportPresetLowQuality
AVAssetExportPresetMediumQuality
AVAssetExportPresetHighestQuality

Rather

AVAssetExportPreset640x480
AVAssetExportPreset960x540
AVAssetExportPreset1280x720
AVAssetExportPreset1920x1080
AVAssetExportPreset3840x2160

I am changing the size to medium by default, but it will not help you if you are trying to compress a video from an iPhone 5 for example, it will obviously be pixelated, because iOS defines what is "low, medium and high" quality according to the device used.
I can try to make the sizes fixed, but if I do that and you use the highest preset on an iPhone 11 PRO and send a video to an iPhone 6 it is very likely that the video won't even open due to lack of resolution support on the device.
We are using the iOS API to compress video, basically any converter within the AppleStore uses exactly the same API (since it is not possible to use FFMPEG on the AppleStore due to the GNU license). Presets are defined by Apple, it's not like Android that if you want a 48x96 video you can have it. So if something is not working as it should, you can open an issue on the Apple forum.

@jonataslaw
Copy link
Owner

Fix on version 2.0.0

@alidemircans
Copy link

DefaultQuality seems to output similar video as LowQuality preset does. This bug still continue for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants