安卓视频录制 2160p

Max*_*kiy 4 android android-camera

我想录制最高质量的视频。对于我的设备 (LG G Flex 2),它是 3840x2160。此分辨率提供库存相机。除了相机参数信息之外,第 3 方应用程序还可以使用视频大小。

如果我尝试使用配置文件:

CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_2160P)
Run Code Online (Sandbox Code Playgroud)

它返回假。没有这样的配置文件。

我也试过这个:

CamcorderProfile prof = CamcorderProfile.get(CamcorderProfile.QUALITY_1080P);
prof.videoFrameHeight = 2160;
prof.videoFrameWidth = 3840;
mMediaRecorder.setProfile(prof);
Run Code Online (Sandbox Code Playgroud)

但它也不起作用。

最后:

mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setVideoSize(3840, 2160);
Run Code Online (Sandbox Code Playgroud)

也不行。

错误是

03-20 01:53:02.800: E/MediaRecorder(17459): start failed: -19
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以录制视频?我正在使用 camera1 api 并camera.getParameters().getSupportedVideoSizes()包含 3840x2160

kam*_*305 5

尝试使用:

mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
Run Code Online (Sandbox Code Playgroud)

它将自动以设备支持的最高可用分辨率录制视频。您不需要为此指定任何其他参数,它将使用该设备的最佳可用参数。

如果您需要工作代码来录制视频,我也可以提供。