Avoid Video Compression when Selecting Movie with UIImagePickerController?
Answer: There is currently no way to control how UIImagePickerController compresses the picked video.
I just did some quick tests. Using a test app I created, I picked the same video two times -- once with the videoQuality
property set to UIImagePickerControllerQualityTypeHigh
and once with it set to UIImagePickerControllerQualityTypeLow
. The resulting files that were copied over are exactly the same size, 15.1MB with a frame size of 360x480. The original was 72.5MB with a frame size of 480x640. Apparently this property doesn't affect the compression used at all.
How to encode HD video to smallest size but maintaining its best quality?
When encoding video, the filesize does not only rely on video quality but also on the amount of included subtitles, (when not hardcoded) sound quality, sound sources (a video can have multiple languages included for example) and various other things.
What you could do is strip a video of superflous material, which should give you a good start. You could get rid of all subtitles you don't want, only leave one soundstream, lower the sound quality from 5.1 to stereo, from FLAC to 192kb/s, just a few examples of what is possible.
As far as I know this is done with the help of various programs. I do not know any right off the bat, as I never really bother with encoding/decoding, but this should help you on your way. Do remember that the most effective way of limiting filesize in video is, unfortunately, lowering video quality.
Android Compress Video before Upload to Server
I got a similar problem. Where I had to upload video in server having size within 5.4mb. But due to different camera resolutions of different phones, there was a problem. These are the solutions which I have opted
mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mediaRecorder.setVideoEncodingBitRate(690000 );
Hope these will help you
Related Topics
Error Inflating Class and Android.Support.V7.Widget.Cardview
How to Programmatically Get the List of Registered Users in Firebase
Should One Create a Bond with a Bluetooth Le Device
How to Disable Facebook Single Sign on for Android - Facebook-Android-Sdk
Replacing Default Phone App on Android 6 and 7 with Incallservice
Gradle 7 and Jitpack.Io Runs into Error During Publish
Comparing Two Times in Android
Retrieve String Out of Addvalueeventlistener Firebase
Inflate a View/Layout into Another Layout
Map Not Getting in Emulator Android API V2
Fast Video Compression on Android
Android L (API 21) - Java.Lang.Illegalargumentexception: Service Intent Must Be Explicit
Keyboard Not Shown When I Click on Edittextview in Android
Can't Import Javax.Imageio.Imageio in Android Application