Cam2 video quality settings


#1

So im trying to work on something that uses primary video but i noticed there are only 2 quality settings using MediaStore. The low quality is super lower as it says in the docs mms quality. While other is max settings. Is there another way to change quality other than the method that is shown in the playground? My app specs would be like max quality is 1080p and low 720p. Any advice would be great.


#2

Is there another way to change quality other than the method that is shown in the playground?

No.

My app specs would be like max quality is 1080p and low 720p.

There is no guarantee that 1080p or 720p are available on any given device. That’s why ACTION_VIDEO_CAPTURE only supports the generalized high/low values, and I am just following along in their approach.

You are welcome to propose an alternative API, but it needs to take into account that any given device may support any possible subset of video resolutions.


#3

Is there any way to get it to work with CamcorderProfile? Has both highest available and lowest. Along with other options.


#4

Is there any way to get it to work with CamcorderProfile?

Not really.

First, CamcorderProfile is not Parcelable, so we have no way to get it from your activity to mine.

Second, I already use CamcorderProfile internally, and “highest available”/“lowest available” do not always work, due to bugs in devices.

Third, CamcorderProfile would be insufficient. Suppose you ask for the 1080P profile. Suppose the device does not support that. Now what?


#5

I guess I would use camera api to detect supported resolutions. Depending on what returns select profile or set up camera your self like resolution and bitrate.

Either way im sorry for bothering you with this. I think I miss understood what this lib was supposed to do. Only reason I asked is cause video will be transmitted to a database and high settings as you have now (pixel) 450 megabytes (max size time wise) which is way to high and low is way to low. Guess I will roll my own solution.


#6

That degree of API complexity is something that I am actively trying to avoid. As you surmised, you are best off working with the Android APIs directly.

Good luck! :smile: