Android - 录制视频和设置视频大小(尺寸)

时间:2016-07-07 15:06:46

标签: java android video video-capture

我正在重构一段记录视频(来自摄像头)的代码,通常在3到30秒之间,以减少视频的整体大小(以字节为单位)。

我们之前使用的是CamcorderProfile,但它没有为我们的应用程序提供足够的粒度,因此我现在已经过渡到手动调整所有设置(音频源,视频源,视频帧率,音频编码器等) )。

问题是我无法找到一种可靠的方法来选择最佳视频大小,因为(据我所知)并不存在所有Android设备支持的通用大小列表。我希望视频尽可能接近480x360px,因为我们将视频推送到Amazon Elastic Transcoder,它可以制作各种格式的视频480x360px(mp4,webm等)。

以下是我的一般想法的代码片段:

List<Camera.Size> sizes = camera.getParameters().getSupportedVideoSizes();
Camera.Size s;

//
// select size from sizes???
//

recorder = new MediaRecorder();
camera.stopPreview();
camera.unlock();
recorder.setCamera(camera);

// configure recorder
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);

recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

// WHAT IS THE SIZE??    
recorder.setVideoSize(s.width, s.height);

recorder.setVideoFrameRate(15);

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);

我已经查看了此处的各种帖子以及4.4 - 6.0的Android兼容性定义文档。

非常感谢任何想法或资源。

0 个答案:

没有答案