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, Android - frameRate control not working #3

Open
khainhero opened this issue Apr 8, 2020 · 3 comments
Open

iOS, Android - frameRate control not working #3

khainhero opened this issue Apr 8, 2020 · 3 comments

Comments

@khainhero
Copy link
Contributor

Setting frameRate Control not working in both iOS and Android. Tested on real devices.

For example: setting the frameRate to 10 has no noticeable change in fileSize and video quality

@khainhero khainhero changed the title frameRate control not working iOS, Android - frameRate control not working Apr 8, 2020
@jonataslaw
Copy link
Owner

Framerate works for android on the HighestQuality preset. It was just a test I did, but I will remove it, as I found that to work on most devices without any artifacts, I will have to follow a bitrate pattern, and framerate and screen resolution.
(I can create a custom preset too, and leave the API available when I'm done).
Flutter's PlatformView itself has limitations that make certain views appear with green artifacts.
I tested the same video using VideoView, and then using platformview for the same VideoView (instead of using the Video_Player plugin) and the artifacts only appear on Flutter. The videos also have artifacts on Linux and Windows, only on Mac is played, because Mac has the best existing support for MP4. I have badly encoded files that do not open in chrome on linux or windows, but open normally on the Mac.
Unfortunately it is not so easy to solve. I'm creating countless test presets to try to reach something satisfactory, but I still don't know if I will reach something that will cover 100% of the cases, because it can involve a lot, from the skia's rendering engine, to the byte headers of the container mp4.
However, it seems that multiplying frame height x frame width x 4 for bitrate (for resolutions below HD +) has shown the best results so far. Anything less than that generates artifacts.
I will continue with the tests, and do an update when ready.

@khainhero
Copy link
Contributor Author

interesting, i'll play around with it as well. Thank you

ppornkitpras-agoda pushed a commit to dhitiwatAgoda/VideoCompress that referenced this issue Sep 28, 2020
Add Integration test & workaround Android audio transcoding issue
@wengxianxun
Copy link

Framerate works for android on the HighestQuality preset. It was just a test I did, but I will remove it, as I found that to work on most devices without any artifacts, I will have to follow a bitrate pattern, and framerate and screen resolution. (I can create a custom preset too, and leave the API available when I'm done). Flutter's PlatformView itself has limitations that make certain views appear with green artifacts. I tested the same video using VideoView, and then using platformview for the same VideoView (instead of using the Video_Player plugin) and the artifacts only appear on Flutter. The videos also have artifacts on Linux and Windows, only on Mac is played, because Mac has the best existing support for MP4. I have badly encoded files that do not open in chrome on linux or windows, but open normally on the Mac. Unfortunately it is not so easy to solve. I'm creating countless test presets to try to reach something satisfactory, but I still don't know if I will reach something that will cover 100% of the cases, because it can involve a lot, from the skia's rendering engine, to the byte headers of the container mp4. However, it seems that multiplying frame height x frame width x 4 for bitrate (for resolutions below HD +) has shown the best results so far. Anything less than that generates artifacts. I will continue with the tests, and do an update when ready.

why frameRate Still exists

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

No branches or pull requests

3 participants