由于测试部反馈项目测试时,原生相机录像文件大小和其他平台比起来大太多,骁龙相机录制10分钟720P视频为1G,RK平台720P视频为400M,压缩格式同样为MP4。想着怎么把视频文件调小,无非是调试编码参数,如码率、帧率之类的。查看了下rk平台的720P录像编码参数:码率为3000000,帧率为8fps,编码profile:h264。高通平台720P, 码率是14000000帧率30,编码h264。可见录像文件比较大也是正常的。于是乎追一下高通的编码参数如何获取,看看如何修改:
1.录像时的默认参数获取路径:
private CamcorderProfile mProfile = CamcorderProfile.get(mCameraId, quality);=>
import android.media.CamcorderProfile;
frameworks/base/media/java/android/media/CamcorderProfile.java:
=》frameworks/base/media/jni/android_media_MediaProfiles.cpp:179:android_media_MediaProfiles_native_get_camcorder_profile(JNIEnv env, jobject / thiz */, jint id,
=》
frameworks/av/media/libmedia/MediaProfiles.cpp
这个文件来自于:
device/qcom/msm8953_64/msm8953_64.mk:62: device/qcom/msm8953_32/media/media_profiles_8953.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_
profiles_vendor.xml
2.设置参数时,可调整参数
private MediaRecorder mMediaRecorder;
mMediaRecorder.setProfile(mProfile);
在set之前调整参数再设,比如调整码率:
mProfile.videoBitRate = 7000000;
mMediaRecorder.setProfile(mProfile);
在骁龙相机里这段代码在:
packages/apps/SnapdragonCamera/src/com/android/camera/VideoModule.java
private void initializeRecorder()
高通安卓录像默认参数获取和设置
最新推荐文章于 2021-06-26 20:41:01 发布