使用MediaRecorder在HTC Rezound摄像机上录制1080p视频



Rezound内置的摄像头应用程序能够以1080p录制视频,但我在Android API中遇到了麻烦。如果我使用CamcorderProfile中的设置,一切都很好。QUALITY_HIGH,但只能显示720x480的视频。当我尝试将分辨率提高到1080p时,我的应用程序在MediaRecorder.start()上冻结,并且任何试图使用相机的应用程序都停止工作,直到我重新启动手机。

下面是我用来配置MediaRecorder的代码:

CamcorderProfile prof = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
if(false){
    prof.videoFrameHeight=1080;
    prof.videoFrameWidth=1920;
}
prof.videoFrameRate=24;
prof.audioCodec=MediaRecorder.AudioEncoder.AAC;
prof.audioSampleRate=44100;
prof.audioBitRate=96;
prof.audioChannels=2;
mMediaRecorder.setProfile(prof);

当我启用if块中的代码时,应用程序会冻结。当我从本机相机应用程序录制1080p时,我试图准确地复制视频的设置。

如果能找到Rezound上使用的原生摄像头应用程序的来源,那就太好了。我检查了Android 2.3.4版本中的原生相机应用程序,它看起来不能支持高于CamcorderProfile.QUALITY_HIGH.

中指定的分辨率。

1920 * 1080像素* 3种颜色,24fps,对于一个小Android来说是非常多的数据。

即使使用硬件H264压缩,也很难在PC上实时执行

最新更新