I got a Google Pixel and tried recording a video with the official app, I found out there is a remarkable built-in stabilization mechanism happening on the recording, so if I shake my hand a bit this movement is only slightly transferred to the recording (even the video preview is impressively stable).
However I tried with my own Video recording app and this stabilization is not happening.
I of course tried with the setVideoStabilization()
method over at the official docs but the result is not as good as with the builtin Camera app.
Is there anything else I am missing?
Digital stabilization often leads to visual quality degradations because image sensors are not fully used due to employed motion compensation. Basically, resulting video comprising of steady frames is captured using a smaller sensor area; thus reducing its resolution.
Video stabilization techniques can be broadly classified as mechanical stabilization, optical stabilization and image post processing stabilization.
Video stabilization essentially takes the unwanted jitters and blurriness that are captured in an action-packed video and provides a cleaner, smoother end result. In addition, you can chose from several different video stabilization options to get the job done.
You could consider looking at OpenSource.Android and find some logic for stabilization. Another link is here platform_packages_apps_camera. From there onwards you can do your own R&D.
Or
Wait until a Google Pixel Camera stabilization based API, or such code, is available to everyone.
A future update to the Android SDK may improve upon the current stabilization feature.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With